All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Muutos: Kun vuorokausi vaihtuu, hinnat haetaan aina varalta uudelleen (Katso issue #26)
- Aiemmin käytettiin jo tiedossa olevia hintoja datan säästämiseksi ja optimoimiseksi
- Aiemmin jos Nordpoolin hinnoissa oli klo 15:00 virheitä, virheelliset hinnat jäivät voimaan, vaikka korjattu data oli ollut saatavilla
- Bugikorjaus: Seuraavan päivän hinnat haettiin kesäaikaan siirtymisen takia vasta 16:00 (15:00 sijaan)
- Bugikorjaus: Korjattu
vain muuttuessa
-ohjausasetus- Ohjaus saatettiin ylikirjoittaa vaikka ei pitänyt
- Historiaan kirjoitettiin tuplarivejä
- Lisätty mahdollisuus pyytää
USER_OVERRIDE
-funktiosta logiikan uudelleen suoritusta (palauttamallanull
takaisinkutsulla) - Lisätty uusi esimerkki: Ulkolämpötilan hakeminen sääpalvelusta ja sen hyödyntäminen (
shelly-porssisahko-open-meteo-api.js
)- Hakee kuluvan vuorokauden alhaisimman lämpötilan Open-Meteo-palvelusta koordinaattien perusteella ja muuttaa sen perusteella ohjaustunteja
- Uusi ominaisuus: Vapaavalintaiset ajanjaksot
- Voi valita yhden tai kaksi vapaavalintaista ajanjaksoa ja niille halutut tuntimääräät
- Esim "kolme halvinta tuntia yöllä kello 00-06 väliltä ja yksi halvin tunti illalla kello 18-21 väliltä"
- Bugikorjaus: Hinnan keskiarvon laskennan virhe
- Alussa laskenta näytti oikein, mutta joka päivä virhe alkoi kasvaa suuremmaksi
- Bugikorjaus: Skripti ei aina käynnistynyt oikein Shellyn bootatessa / herätessä
- HUOMIO: Koskee versioita 2.90...2.11.0!
- Useamman lähdön ohjauksen yhteydessä tullut bugi, joka aiheuttaa välillä skriptin kaatumisen Shellyn käynnistyksen yhteydessä.
- Seuraavan päivän hinnat ja toteutuva ohjaus etusivulla
- Uusi asetus: Lähdön ohjaus
- Voi asettaa niin että lähtö asetetaan vain sen muuttuessa
- Näin ohjauksen ylikirjoitus toimii kätevämmin Shellyn sovelluksesta tai hallinnasta
- Ohjaushistorialle oma välilehti
- Pieniä parannuksia ja optimointeja
- Lisätty esimerkki kuink Plus Add-onin mittaamalla lämpötilalla voidaan muuttaa halvimpien tuntien määrää
- Lisätty koodin tarkistus että halvimpien tuntien lukumäärä <= jakson pituus
- Havaittu ongelma kun H&T skriptissä oli isompi tuntimäärä (koska käyttäjän skriptin muutoksia ei tarkisteta)
- Pakko-ohjauspainikkeella voi valita, haluaako pakko-ohjata ohjauksen päälle vai pois
- Tuntikohtaisissa pakko-ohjauksissa voi valita, haluaako pakko-ohjata ohjauksen päälle vai pois
- Uusi asetus: Ohjausminuutit
- Voidaan määritellä montako tunnin ensimmäistä minuuttia ohjaus on päällä (mahdollistaa esim. 30 minuutin ohjaukset)
- Vakiona 60 min, eli koko tunti (kuten ennenkin)
- Lisätty parametreja
USER_CONFIG
-kutsuun - Mahdollista näyttää lisätietoa käyttöliittyällä käyttäjäskriptin/hienosäätöskriptin tilasta, päivitetty esimerkit sen mukaiseksi
- Lisätty esimerkki kuinka Shelly H&T lämpötilaa voi hyödyntää ohjauksessa
- Uusi ominaisuus: Useamman lähdön ohjaaminen samaan aikaan
- Ohjattavat lähdöt -kenttään voi asettaa useamman lähdön pilkuilla erotettuna, esim
0,100
asettaa skriptin ohjaamaan lähtöjä 0 ja 100. - HUOM: Erilliset asetukset eri lähdöille eivät ole mahdollisia, tämän kehitys on suunnitelmissa. Katso issue #16
- Ohjattavat lähdöt -kenttään voi asettaa useamman lähdön pilkuilla erotettuna, esim
- Lisätty laitteen nimi myös sivun otsikkoon (selaimen otsikkopalkkiin)
- Parannettu checkboxien käytettävyyttä (voi klikata myös tekstejä, nyt kun on vapaata muistia)
- Jos laittelle ei ole annettu nimeä, näytetään nimen tilalla "Ei asetettu"
- Päivitetty kääntämisprosessia
- Uusi ominaisuus: Laitteen nimi näytetään tilasivulla
- Asetetaan Shellyn omista asetuksista
- Uusi ominaisuus: käyttäjän oma funktio / ylikirjoitus
- Käyttäjä voi lisätä skriptin loppuun oman funktion
USER_OVERRIDE
, joka ajetaan ennen ohjausta - Tällä voidaan tehdä omia ohjauksen lisäehtoja tai esimerkiksi lämpötilaohjaus
- Katso esimerkit: https://github.com/jisotalo/shelly-porssisahko/#lisätoiminnot-ja-omat-skriptit
- Käyttäjä voi lisätä skriptin loppuun oman funktion
- Uusi ominaisuus: asetusten määrity skriptistä
- Skriptin asetukset voidaan määrittää ilman web-käyttöliittymää skriptistä
- Käyttäjä voi lisätä oman funktion
USER_CONFIG
, joka muuttaa asetukset - Mahdollistaa asetukset muuttamisen esim. Shellyn pilvipalvelun kautta (skriptiä editoimalla)
- Katso esimerkki: https://github.com/jisotalo/shelly-porssisahko/#esimerkki-asetukset-suoraan-skriptiin-ilman-käyttöliittymää
- Bugikorjaus: Hintojen haku ei toiminut klo 00-02 välillä
- Aikavyöhykkeen selvityksen toteutus muutettu järkevämmäksi
- Bugikorjaus: Jos aikavyöhykevalinnasta johtuen hintoja ei saatu koko vuorokaudeksi (alle 24 tuntia), skripti ei toiminut oikein
- Todennäköisesti ei vaikutusta, sillä kaikki toimi Suomen/Viron aikavyöhykkeillä
- Muutos/korjaus: Jos käsiohjaus, ei välitetä onko hintatiedot tai kellonaika OK - totellaan vain käsiohjausta
- Bugikorjaus: Jos kellonaika ei ollut tiedossa skriptin käynnistyessä, ohjaus ei toiminut heti (vaan vasta kun kellonaika saatiin tai tunti vaihtui)
- Uusi ominaisuus: automaattinen aikavyöhyke (eli myös autom. kesä/talviaika)
- Shelly laskee aikaeron UTC-ajan ja paikallisen ajan välillä -> Käytetään aina oikeaa aikavyöhykettä hintojen haussa
- Jos aikaero muuttuu, haetaan hinnat uusiksi (esim. kun kesä/talviaika vaihtuu)
- Lisätiedot: Issue #7
- Firmware-vaatimus on 1.0.7. Vanhemmille ei luvata tukea.
- Tässä firmisversiossa parannettiin skriptien muistinhallintaa
- Bugikorjaus: Pikainen paikkaus jotta toimii kellojen siirron jälkeen
- Koodiin on valitettavasti unohtunut kiinteä aikavyöhyke
- Muutettu kiinteä aikavyöhyke +03:00 -> +02:00 väliaikaisesti
- Parempi ratkaisu työn alla (joka hoitaa tämän automaattisesti)
- Lisätty uusi ominaisuus: päivän keskiarvon käyttö hintarajana
- Jos syöttää mihin tahansa seuraavista kentistä arvon
avg
, käytetään päivän keskiarvoa kiinteän arvon sijaan- käsiohjaus: hintaraja
- jakson halvimmat tunnit: aina päällä -raja, maksimihinta
- Jos syöttää mihin tahansa seuraavista kentistä arvon
- Bugikorjaus: Jos asetti pakko-ohjauksen x tunniksi painikkeella, se kyllä toimi, mutta tuli virheilmoitus
- Lisätty uusi asetus: maksimihinta
- Ohjaustapaan jakson halvimmat tunnit
- Jos hinta on yli asetetun rajan, lähtöä ei laiteta päälle (vaikka olisi halvimpia tunteja)
- Asetettu minimi- ja maksimirajojen vakioarvot -999 ja 999 c/kWh
- Lisätty uusi asetus: Perättäiset tunnit
- Valitaan perättäiset tunnit siten että hinnan keskiarvo on mahdollisimman alhainen
- Kasvatettu ohjaushistoria 12->24h
- Bugikorjaus: Tilasivulta saattoi vahingossa pystyä painaan asetussivun painikkeita
- Optimoitu paljon muistin käyttöä
- Lisää tilaa tuleville ominaisuuksille
- Poistettu animaatioita ja muita karkkeja käyttöliittymästä tilan aikaansaamiseksi
- Lisätty uusi asetus: käänteinen ohjaus
- Jos ruksittu, relelähtö on aina päinvastainen kuin normaalisti
- Optimoitu muistin käyttöä
- Lisätty uusi ominaisuus: pakko-ohjatut tunnit
- Voi pakottaa että ohjaus on päällä aina tiettyinä tunteina
- Kiitos ideasta petri1973 (issue #4)
- Parannettu toimintaa ongelmatilanteissa
- Optimoitu muistin käyttöä
- Vanhat varmuustunti-asetukset katoavat päivityksen yhteydessä
- Kommentoitu lokituksia pois shelly-koodista toistaiseksi
- Bugikorjaus: Jos hintojen luku epäonnistui, skripti kaatui
- Bugikorjaus: Korjattu varmuustuntien toiminta
- Lisätty asetussivulle kaksi nappia
- Pakko-ohjaus (lähdön voi pakottaa päälle x tunniksi - ei väliä onko hinta kallis vai halpa)
- Linkki Shellyn hallintapaneeliin
- Otettu
Access-Control-Allow-Origin
vakiona pois käytöstä tietoturvan vuoksi- Paikallinen käyttöliittymäkehitys ei onnistu ilman tätä
- Kehitystä ja API:n muualta käyttöä varten rivi pitää kommentoida käyttöön
src/shelly-porssisahko.js
-tiedostosta
- README päivitetty
- Bugikorjaus: Käsiajon ohjauksen ja hätätilaohjauksen muuttaminen ei toiminut
- Versio 2 julkaistu (tehty täysin uusiksi)
- When day changes, the price data is always updated (See issue #26)
- Before the already known prices were used
- Before, if Nordpool had faulty price data at 15:00, the corrected data was never updated. Now it will always be up-to-date.
- Bugfix: Next day prices were read after 16:00 after DST change (instead of 15:00)
- Bugfix: Fixed issues with
only on change
output setting
- Added option for
USER_OVERRIDE
to request a re-run of logic by returningnull
with the callback - New example:
shelly-porssisahko-open-meteo-api.js
- New feature: custom hour ranges
- Can configure one or two custom time ranges and number of cheapest hours for each
- Bug fix: Average price calculation
- Bug fix: Script didn't always start after boot / power reset
- Next day prices and control at the frontpage
- New setting to select if output should be always written or only when changed
- Own tab for history
- Added a safety check that period hours <= period length
- Possible to manualyl force both on and off
- Forced hours commands can be selected both on and off
- New setting: how many first minutes of the hour to command output
- Added more parameters to
USER_CONFIG
call - Possible to show status of additional script / user script at UI. Updated examples.
- Added example how to use Shelly H&T temperature to fine adjust control
- New feature: Controlling multiple outputs
- Multiple output IDs can be configured by separating with commans. For example
0,100
-> script controls outputs 0 and 100 - NOTE: Separate price settings for outputs aren't possible, it's in backlog. See issue #16
- Multiple output IDs can be configured by separating with commans. For example
- Device name is also displayed in browser title
- Checkbox user experience is updated
- If device has no name, a description about it is shown
- New feature: Device name is shown in status page
- New feature: User can add scripts to change the output command
- New feature: user can add settings to the script instead of UI
- Bug fix: Fetching prices failed between 00:00-02:00 AM
- Time zone detection updated to a better solution
- Bug fix: If timezone was selected so that prices weren't received for the whole 24h period, the script didn't operate correctly
- However worked fine for Finland/Estonia timezones
- Change/fix: If manual mode, the script works even when we have no prices nor time - just follows the manual command
- Bugfix: If time wasn't known and script started, the control didn't work until time was acquired or hour was changed
- New feature: automatic timezone detection (also automatic DST)
- Calculating time difference between UTC and local time -> if time difference changes, prices are updated
- Handles changing of DST automatically
- Firmware requirement: 1.0.7 or newer
- Bugfix: Quick patch to fix problem with DST
- Better fix under development
- Added new feature: using day average price instead of static price limit (by setting value to
avg
)
- Bugfix: Setting override hour using button caused an error (however it worked)
- Added new setting: maximum price
- Added setting: sequential hours
- Inceased history 12h -> 24h
- Bug fix: It was possible to click buttons of settings page when it was not shown
- Optimized memory usage
- New setting: invert output
- Optimized memory usage
- New feature: forced hoursLisätty uusi ominaisuus: pakko-ohjatut tunnit
- Thanks for the idea petri1973 (issue #4)
- Better operation in problem situations
- Optimized memory usage
- Bug fix: If reading prices failed, script crashed
- Bug fix: Fixed backup hour operation
- Added buttons to config page
- Manual forcing feature (output can be set ON for next x hours - no matter what the price is / logic does)
- Link to Shelly web admin
- Removed
Access-Control-Allow-Origin
header for security- Needed for local web UI development
- For developing and external API usage, the line needs to be uncommented from
src/shelly-porssisahko.js
- README updated
- Bug fix: Setting manual mode command and error command to ON weren't working
- Version 2 released (total rewrite)