EDIT 20221026: Sehän toimi kuten pitää..
Käyttö yhä omalla vastuulla, pyörii nyt tuossa pöytä Shellyssäni, ei edes vielä minulla sähkökaapissa
Laiton juuri hyvin beta-version shelly-scriptistäni
https://github.com/sutinse/shelly
Varsinainen scripti
Contribute to sutinse/shelly development by creating an account on GitHub.
github.com
On hyvin beta, muutaman tunnin olen reposta löytyvän node.js:n ominaisuuksia siirtänyt.
Olen pyöritellyt nyt teon aikaan pöydälläni jatkojohtoon liittämässäni Shelly 2.5PM, en vielä laittanut ohjaamaan sähkökeskukseen Shelly Pro 4PM:ää (rouvan pelko, että beta-koodi ei toimi...)
Shellyn tukema mJS on niin rajoittunut, mutta niiiiin kiinnostava. Vihdoinkin microprosessoriin saa omaa logiikaa ilman c/c++.
mJS ei tue esim. Date-olioita, joten on haettava Shellyltä config, jossa palauttuu kellonaika (hh:mm)
Javascript ei ole minun natiivin kieli (java on)...
Hintojen hakuun käyttää Mikkin loistavia rajapintoja
Yleiskonfig:
- kuinka usein ajastin looppaa, esim 1min välein
- Fallback -aikaväli (esim 01-05) jolloin laite on päällä, jos hintoja ei saada haettua
Laitteen eri outputille voi määritellä
- hommankumman profiilin
- tuntimäärän jonka laite on päällä profiilin mukaisesti
Hinnat haetaan kerran aina tunnin vaihtuessa (jos ensimmäisellä ajastin kerralla ei saada, yritetään uudestaan seuraavalla kerralla, aina joka loop kerralla yritetään).
Jos hintoja ei saada haettua, käytetään Fallback-aikoja.
Profiili1:
- esim lattialämmitys
- hakee rankatut tunti hinnat
- laite päällä laitteen outputille määritellyn tuntimäärä (esim 4h)
Profiili2:
- esim lämminvesivaraaja
- Hakee peräkkäiset halvimmat tunnit
- Kuinka monta peräkkäistä tuntia (esim 3h) laite on päällä
Jos joku kokeilee käyttää ja on ongelmia, voisi lisäillä tuonne githubin issue...
Muutamat printtaukset (mm. hintojen hausta voi halutessaan poistaa...)
// TODO
Jossain vaiheesa kun taas aikaa löytyy, voisi toteuttaa tuon halpojen hintojen aikaan päälläolon...
Ja kaivaa kuinka mJS:ssä saa number konvertoitua Stringiksi...
Toteutukseen apuna oli tuo hieman simppelimpi
Contribute to martinkangur/shelly development by creating an account on GitHub.
github.com
Toiminta testattu 26.10.2022
- halvimmat ajat ti 25.2022 klo 21-24
- halvimmat ajat ke 26.2022 klo 00-01 (rank 3) sekä 01-04 (rank 1,2,4)
Profiili 1 suoritus, asetettu config halvimmat peräkkäiset tunnit: 3h
21:01:16 päälle
00:01:16 pois
02:01:16 päälle
05:01:16 pois
Profiili 0 suoritus: asetettu config halvimmat mitkä tahansa tunnit: 4 h
21:01:16 päälle
01:01:16 pois (tunti 00-01 rank 3, pitää pysyä päällä)
02:01:16 päälle
05:01:16 pois
Sinällään tulee "hassu" tulos kun kahden vuorokauden halvimmat tunnit on likes pötköön 21-05, vuorokausi vaihtuu vain välissä. Tulee yli 1.5 vuorokauden katko ensimmäiseen vuorokautteen kun aika alkaa vasta 21.
Mutta säästää toki eniten.