- 4.12.2025 Tuorein varttihintoja hyödyntävä skripti on nyt otettavissa koekäyttöön lataamalla tästä. Erona aiempaan tässä on se, että tämä osaa ottaa paremmin huomioon ne päivät, kun siirrytään kesä- tai talviaikaan. Vaikka näyttäisi toimivan luotettavasti, suosittelen yhä suhtautumaan tähän testikäytössä olevana.
- 18.9.2025 Pörssisähkön hinnoittelu siirtyy Suomessa viidentoista minuutin resoluutioon lokakuun 2025 alussa. Tämä ei edellytä tämän Shelly-skriptin päivittämistä: hinnoittelumuutoksen edellyttämä muutos tehdään palvelinpäässä, ja skripti etsii jatkossakin halvinta jaksoa tunnin resoluutiolla. Tämän skriptin yleisten käyttötapausten kannalta varttiresoluution siirtymisestä on vain marginaalinen hyöty, mutta varttihinnoittelun astuttua voimaan saatan julkaista skriptistä myös varttiresoluutiota hyödyntävän version.
Sähkön hinta on korkealla ja sen hinta vaihtelee myös vuorokauden sisällä voimakkaasti. Sähkömaksuissaan voi kuitenkin saavuttaa merkittäviä säästöjä, jos pystyy siirtämään omaa sähkönkulutustaan niille tunneille, jolloin sähkön hinta on edullisin.
Tein omaan käyttööni Shelly-relettä ohjaavan pienen ohjelmapätkän, jonka sähköasentajaystäväni kanssa asensimme sähkökaappiini ohjaamaan lämminvesivaraajaa ja lattialämmitystä kytkeytymään päälle silloin kun sähkön hinta on halvimmillaan. Ohjelman saa vapaasti ja omalla vastuullaan kopioida tältä sivulta omaan käyttöönsä. Ohjaukseen tarvittavat Shelly-releet ovat edullisia, hintaa niillä on vain hieman päälle 20 euroa.
Ohjauskoodin käyttöönotto ei edellyt ohjelmointitaitoa, vaan ainostaan koodin kopioimista alla olevia ohjeita seuraten omaa sähkölaitetta ohjaavaan Shelly-laitteeseen.
Omassa asennuksessani käytössä on Shelly Plus 1 PM-rele, joka ohjaa sekä lämminvesivaraajaa että kylpyhuoneen lattialämmitystä ohjaavia kontaktoreita siten, että se etsii näiden käytölle yön halvimmat tunnit. Saman skriptin pitäisi toimia muissakin Shelly Plus-laitteissa.
Huom! Shellyn kytkentä kiinteisiin sähköasennuksiin ei ole monimutkainen, mutta edellyttää sähköasentajan pätevyyttä! Oheisessa kuvassa näkyvä asennus on Shellyn osalta ihan pätevä, mutta muut vanhat sähköasennukset eivät vastaa nykyisiä standardeja – niistä ei kannata ottaa mallia!
Useimmat Shellyt kestävät virtaa peräti 16 ampeeria, joten ne eivät välttämättä tarvitse väliinsä kontaktoria - tässä tapauksessa kuitenkin lämminvesivaraaja käyttää kolmivaihevirtaa, joten kuorman kytkeminen suoraan Shellyyn ei ole ollut mahdollista.
Miten ottaa Shellyn ohjauskoodi käyttöön?
Tämän Shellyn ohjaustoiminnon käyttöönotto edellyttää ensin itse Shellyn asentamista haluttua sähkölaitetta ohjaamaan, kytkemistä osaksi kotiverkkoa ja oheisen skriptin asentamista Shellyyn. Shelly siis suorittaa tätä koodia itse, ja hakee itsenäisesti tältä verkon taustapalvelimelta sinne kerran vuorokaudessa päivitettävät sähkön ajantasaiset pörssihinnat.
Ota siis ensin Shelly käyttöön kotiverkossasi seuraamalla Shelly-sovelluksen antamia ohjeita.
Lataa sitten Shellyn ohjausskripti itsellesi tästä osoitteesta https://elspotcontrol.netlify.app/find_cheapest.js ja toimi seuraavasti:
- Mene osoitteesen home.shelly.cloud, ja etsi oma Shellysi. Valitse Settings -> Device Information ja sieltä Device IP. Tämä on oman Shellysi IP-osoite kotiverkossasi. Klikkaamalla osoitetta (ollessasi samassa verkossa Shellyn kanssa) pääset käsiksi oman Shellysi käyttöliittymään. Olet siis nyt yhteydessä suoraan laitteeseesi, ja voit asentaa siihen erillisiä ohjelmia sen suoritettavaksi.
- Ihan ensimmäiseksi tarkista kohdasta Device -> Firmware version onko Shellyyn tarjolla päivityksiä. Jos on, päivitä Shelly uusimpaan firmware-versioon. Skripti käyttää ominaisuutta, joka on olemassa aikaisintaan versiossa 0.11.1.
- Oman Shellysi käyttöliittymässä valitse “Scripts”
- Klikkaa “Add Script”, anna ohjausskriptille mieleisesi nimi ja kopioi avautuvaan editoriin oheinen koodi.
- Klikkaa “Save and run”, ja alareunan konsolissa pitäisi näkyä kuinka Shelly hakee pörssisähkön hinnan seuraavalle vuorokaudelle ja asettaa joukon aikatauluja. Jos teet tämän ennen kuin seuraavan vuorokauden pörssihinnat ovat päivittyneet (n. klo 15), skripti kaatuu. Tässä tapauksessa voit joko 1) käynnistää skriptin uudestaan klo 15 jälkeen tai 2) muuttaa tilapäisesti period_start ja period_length -asetuksia siten, että skannataan vain tämän vuorokauden puolella olevia aikoja (esim. period_start=20, period_length=1). On tärkeää, että skripti ajetaan ainakin kerran onnistuneesti läpi, koska tällöin skripti asettaa aikataulun myös omalle uudelleenkäynnistykselleen.
Kun skripti käynnistyy, se hakee taustapalvelustaan tiedossa olevat pörssihinnat ja etsii sieltä asetustensa mukaisesti halvimman halutun pituisen jakson halutulta aikaväliltä. Tämän jälkeen se poistaa kaikki olemassa olevat ajastimet shellystä ja asettaa kolme uutta: 1) releen päälle kytkevän, 2) sen pois kytkevän ja 3) ajastimen joka käynnistää skriptin uudestaan säädettynä aikana, oletuksena joka päivä klo 18 (tämä ajastin ei näy suoraan käyttöliittymässä, mutta sen voi nähdä tämän linkin kautta, vaihda tähän oman shellyn IP http://192.168.68.128/rpc/Schedule.List).
Asetusten muuttaminen
Skriptiin alussa määritellään muuttuja, joihin voi muuttaa haluamansa asetukset. Vakioasetuksillakin pärjää ihan hyvin, jos näitä ei tahdo lähteä vaihtamaan.
-
period_startSkripti etsii edullisinta aikaa alkaen tästä tunnista -
period_lengthSkripti etsii edullisinta aikaa näin monen tunnin jaksolta period_start jälkeen (esim. kun period_start = 23 ja period_length =8, etsitään aikaa väliltä 23-07). -
period_dayJos tämän arvo on 0 etsintä aloitetaan tämän vuorokauden puolelta. Jos 1, huomisesta. -
needed_lengthSkripti etsii halvinta tämän mittaista jaksoa halutun aikarajan sisältä. Tähän laitetaan se aika, mikä esim. lämminvesivarajaan oletetaan yleensä tarvitsevan lämmitäkseen. -
turn_off_hoursRele kytketään pois päältä näin monen tunnin jälkeen halvimman jakson alusta. Tämä aika voi olla sama tai pidempi kuinneeded_length. Esimerkiksi jos lämminvesivaraaja yleensä lämmittää veden kolmessa tunnissa, kannattaaneeded_lengtholla 3, mutta jos esimerkiksi varaaja on täysin tyhjä, kolme tuntia ei ehkä riitä. Tästä syystä virta on hyvä pitää varmuuden vuoksi päällä pidempään (jaturn_off_hoursesimerkiksi 5), varaajan oma termostaattihan joka tapauksessa kytkee lämmityksen pois kun vesi on riittävän lämmintä. -
max_avg_priceJos halvimmaksi löydettyjen tuntien keskihinta on korkeampi kuin tässä mainittu, relettä ei kytketä kuitenkaan päälle. Aikataulut kuitenkin asetetaan ja ne löytyvät Shellyn schedules-välilehdeltä, mutta molemmat asettavat releen off-tilaan. Halutessasi voit manuaalisesti vaihtaa tällöin ensimmäisen asetuksen on-asentoon. Hinnat tulee esittää sähköpörssin käyttämässä €/mWh -muodossa, joka tarkoittaa sitä että esim. hinta 0,50€/kWh merkitään muotoon 500. Huomaa että sähköpörssin hinnat ovat alvittomia, esim. Fingridin sovelluksessa hinnoissa on mukana alv. Vakiona ja jos tätä asetusta ei haluta käyttää, hintaraja kannattaa asettaa todella korkealle. -
defaultstartjadefaultendJos verkkoyhteys ei toimi tai hintatietojen haku muuten epäonnistuu, käytetään näitä aikatauluja vakioaikatauluina. Käytetty formaatti ilmenee tästä https://github.com/mongoose-os-libs/cron. -
script_scheduleTämän skriptin käynnistysaikataulu. Oletuksena joka päivä kuudelta. Jos muutat tätä, huomioi että uudet pörssihinnat päivittyvät joka päivä n. klo 15. Esimerkiksi seuraavan yön ohjaukset on mahdollista tehdä vasta tämän jälkeen. Käytetty formaatti ilmenee tästä https://github.com/mongoose-os-libs/cron.
John Eveli on tehnyt skriptin asennuksesta selkeän video-ohjeen. Kiitos John!
Mistä Shelly saa sähkön pörssihintatiedot?
Skripti hakee tiedot sähkön pörssihinnasta tältä samalta palvelimelta, jonne ne päivitetään kerran vuorokaudessa yleiseurooppalaisesta Entso-E -palvelusta. Tiedot ovat maksutta saatavana Entso-E -palvelussa, mutta jotta Shellyä varten ei erikseen tarvitsisi hankkia erillistä API-avainta, tiedot välitetään tämän palvelimen kautta.
Muutoksista tiedottaminen
Jos otat käyttöösi tämän ratkaisun, voit tästä jättää sähköpostiosoitteesi. Jos ratkaisussa tai sen taustapalveluissa ilmenee vakavia ongelmia, sovellukseen tulee merkittäviä muutoksia tai uusia versioita, saatan lähettää näistä viestin sähköpostilla.
Mistä apua ja tukea asennuksen kanssa?
Haastavin asia tämän ohjauksen käyttöönotossa on sähköasennus. Ellet ole pätevä asentaja, käytä sellaista. Väärin tehdyllä asennuksella voi saada aikaiseksi vaikka tulipalon. Sähköasennusten kiemuroista en ymmärrä mitään, sen suhteen en valitettavasti mitenkään voi auttaa.
Shellyyn asennettavan ohjelman suhteen koodin kopioinnin Shellyyn pitäisi riittää. Jos huomaat ohjelmakoodissa virheitä, laita sähköpostia lari.lohikoski@iki.fi. Alla olevaan kommenttikenttään voi kirjoittaa julkisia kommentteja ja kenties löytää omien haasteidensa kanssa tukea.
Mahdolliset päivitykset skriptiin julkaisen tällä sivulla. Uuden version tunnistaa sen alussa olevasta version ilmaisevasta päivämäärästä.
Joitakin tähän liittyviä artikkeleita
- HS: Mies räätälöi pikkurahalla laitteen, joka mullisti pörssisähkön käytön hänen kotonaan
- IS: Lari Lohikoski viritti 20 eurolla kotiinsa laitteen, joka ohjaa sähkönkulutusta halvoille hetkille – jakoi ohjeet kaikille
- Afterdawn: Opas: Lämminvesivaraaja ja lattialämmitys päälle silloin, kun pörssisähkö on halvimmillaan