Suorittamalla skriptin Shelly-laitteella voimme lisätä reaaliaikaiset sähköhinnat suoraan sovellukseen. Näin saat helposti yleiskuvan kulutuksen tarkasta hinnasta.
Mitä tarvitaan
Tarvitset Shelly-laitteen, joka tukee skriptejä (Gen2 tai uudempi).
Sinulla on myös oltava vähintään yksi laite, joka mittaa tehoa (PM tai EM).
Käytä Shelly Smart Control -sovellusta Androidissa, iOS:ssä tai http://control.shelly.cloud tietokoneellasi. Suositan käyttämään viimeksi mainittua vaihtoehtoa
Vaihe 1: Kopioi skripti
Kopioi alla oleva skripti (Kun viet hiiren sen päälle, voit valita oikeasta yläkulmasta Kopioi)
Vaihe 2: Lisää skripti
Napauta laitetta ja valitse Script-kuvake.
Luo uusi skripti. Anna sille nimi ja liitä kopioitu skripti.
Paina Tallenna (levy) ja Sulje (rasti)
Huomautus: Skripti voidaan helposti lisätä myös laitteen verkkokäyttöliittymästä.
/* Script by spot-hinta.fi
original source https://github.com/Spot-hinta-fi/Shelly/blob/main/Scripts/Extras/Shelly-LiveTariffUpload.js
Supported Shelly firmware: 1.0.3 - 1.7.5. Script version: 2025-01-16
Tested to work with FW 2.0.0-beta3
All prices include VAT */
// Settings
const ApiUrl = "https://repo.shelly.cloud/v2/user/pp-ltu/abcdefghijklmnopqrstuvwxyz0123456789"; // Live Tariff address fetched from the Shelly Control site
const PriceNight = 0.0312; // Transfer price at night in euros
const PriceDay = 0.0511; // Transfer price during the day in euros
const Tax = 0.02827515; // Electricity Tax. C
const Margin = 0.00456; // Electricity seller's margin
const Area = "FI"; // Area for which the price is fetched: FI, SEx, NOx, DKx, EE, LV, LT
// Script
let minNow = 0; let minDone = -1; let tra = 0; let started = true; const uMins = [0, 15, 30, 45]; const fName = "LiveTariffUpload";
const nHours = [22, 23, 0, 1, 2, 3, 4, 5, 6]; const pUrl = "https://api.spot-hinta.fi/JustNowPrice?region=" + Area;
print(fName + ": Script started. The first price upload will be done in 15 seconds.");
Timer.set(15000, true, function () {
minNow = new Date().getMinutes(); tra = (nHours.indexOf(new Date().getHours()) > -1) ? PriceNight : PriceDay;
if (minNow === minDone) { return; } else { minDone = minNow; }
if (uMins.indexOf(minNow) > -1 || started) {
started = false;
Shelly.call("HTTP.GET", { url: pUrl, timeout: 5, ssl_ca: "*" }, function (res, err) {
if (err != 0 || res == null || res.code !== 200) { print(fName + ": Price fetch failed."); return; }
let bodyText = JSON.stringify({ price: res.body * 1 + tra + Tax + Margin});
Shelly.call("HTTP.POST", { url: ApiUrl, body: bodyText, timeout: 5, ssl_ca: "*" }, function (res, err, errMsg) {
if (err !== 0) { print(fName + ": Error during upload:", errMsg); }
else { print(fName + ": Price sent: " + res.body); }
});
});
} else { print(fName + ": Waiting for the next price upload time."); }
});
Vaihe 3: Hae ja kopioi token
Siirry kohtaan “Energia”
valitse Sähkön hinta -välilehti.
Paina Live-painiketta Sähköhinnan vieressä.
Vieritä alas API-URL-osoitteeseen ja kopioi tunnuksesi
HUOMIO! Jos painat Manual and Live -painiketta uudelleen, luodaan uusi tunnus, joka on sitten syötettävä skriptiin.
Vaihe 4: Lisää token ja muokkaa hintatiedot skriptiin
Jotta skripti voidaan määrittää hintojesi mukaan, pitää päivittää siirtotariffin, sekä energiamyyjän marginaalien hinnat.
Skriptin kuvaus
ApiUrl Korvaa esimerkissä oleva token edellisessä vaiheessa kopioimalla koodilla
PriceNight, jos käytössä 2-aika tariffi aseta yö-siirron hinta
PriceDay, jos käytössä 2-aika tariffi aseta päivä-siirron hinta 1-aika tariffilla aseta sama aika molempiin edellisiin kohtiin
Tax: sähköveron määrä, ei tarvitse muuttaa ellei laki muutu
Margin: Aseta oman energianmyyntisopimuksesi marginaali energialle
Area: Hinta-alue, oletuksena FI
Tip. Jos et halua siiroa ja sähköveroa mukaan, aseta arvot 0
Hyödyllisiä linkkejä hintojen tarkistamiseen
Hyvä paikka hintojen seuraamiseen ja kulutustietojen seurantaan https://liukuri.fi/
Kun skripti on hakenut hinnan ensimmäisen kerran, päivitetty hinta pitäisi näkyä kohdassa Energia -> Sähkön hinta. Sivua kannattaa päivittää esim. paina F5
HUOMIO! Jos käytät komentosarjaa laitteen verkkoliittymästä sen IP-osoitteen kautta, voit nähdä lokin, joka näyttää milloin skripti on hakenut ja lähettänyt hinnan
Tärkeää
Jos painat Manual and Live -painiketta uudelleen, luodaan uusi tunnus, joka on sitten syötettävä skriptiin.
Muista, että tariffit voivat muuttua useita kertoja vuodessa, joten sinun on säädettävä tämä manuaalisesti.
Sama koskee veroja ja siirtokustannuksia jne,
Det samme gælder, hvis afgift og transmisionsomkostninger ol. ændres,
Jos sinulla on ongelmia, kysy rohkeasti Suomen Facebook-ryhmässä.