Rajapinta
Laitteet ja kalenteri
Rele ei tarvitse dokumenttia, se tarvitsee yhden luvun. Nämä osoitteet vastaavat pelkällä arvolla ja ottavat samat parametrit kuin JSON.
Yksi arvo per osoite
| /prices/current.txt?vat=1&margin=0,49&transfer=3,2 | 9.97 | Hinta nyt. Tariffin kanssa kokonaishinta, ilman sitä markkinahinta. |
| /prices/level.txt | moderate | Hintaluokka: negative, cheap, moderate, high tai extreme. |
| /prices/cheapest.txt?hours=3&after=22:00&before=07:00 | 1 | 1 kun yön halvin kolmen tunnin jakso on käynnissä. |
| /prices/below.txt?threshold=5&vat=1 | 0 | 1 kun hinta on alle rajan. |
Ilman hintaa kuluvalle vartille vastaus on tyhjä ja tila 503. Kysy kerran minuutissa tai harvemmin; hinta vaihtuu vartin välein.
Shelly (Gen2 ja uudemmat)
Skripti laitteen omaan Scripts-osioon. Rele seuraa halvinta jaksoa; vaihda osoite
below.txt-osoitteeksi, jos haluat hintarajan.
let URL = "https://wattiplus.fi/api/v1/prices/cheapest.txt?hours=3&after=22:00&before=07:00";
function check() {
Shelly.call("HTTP.GET", { url: URL, timeout: 10 }, function (res) {
if (!res || res.code !== 200) return;
let on = res.body === "1";
Shelly.call("Switch.Set", { id: 0, on: on });
});
}
check();
Timer.set(5 * 60 * 1000, true, check);
ESPHome
http_request:
useragent: esphome-wattiplus
interval:
- interval: 5min
then:
- http_request.get:
url: https://wattiplus.fi/api/v1/prices/below.txt?threshold=6&vat=1
capture_response: true
on_response:
then:
- if:
condition:
lambda: 'return body == "1";'
then:
- switch.turn_on: rele
else:
- switch.turn_off: rele
Tasmota
Berry-skripti (ESP32) tai sääntö WebQuery-komennolla. Berry:
import string
def wattiplus()
var cl = webclient()
cl.begin("https://wattiplus.fi/api/v1/prices/cheapest.txt?hours=3")
if cl.GET() == 200
tasmota.set_power(0, cl.get_string() == "1")
end
cl.close()
end
tasmota.add_cron("0 */5 * * * *", wattiplus, "wattiplus")
Node-RED ja muut
inject viiden minuutin välein, http request mihin tahansa
JSON-osoitteeseen ja switch-solmu kentällä
msg.payload.cheapest["3h"].active. openHAB:n HTTP-binding, Homey,
Apple Shortcuts ja mikä tahansa curl-kykyinen laite toimivat samoin; tekstiosoitteet
ovat niille yksinkertaisin vaihtoehto.
Kalenterisyöte
Halvin jakso tänään ja huomenna kalenteritapahtumina, jotka päivittyvät itsestään iltapäivällä kun huomisen hinnat julkaistaan. Tilaa osoite kalenterisovellukseen (iPhone: Asetukset → Kalenteri → Tilit → Lisää tili → Muu → Lisää tilattu kalenteri; Google-kalenteri: Muut kalenterit → Lisää URL-osoitteesta):
1 h: https://wattiplus.fi/api/v1/calendar/cheapest.ics?hours=1
3 h: https://wattiplus.fi/api/v1/calendar/cheapest.ics?hours=3
6 h: https://wattiplus.fi/api/v1/calendar/cheapest.ics?hours=6
Kalenterisovellukset päivittävät tilatun syötteen omaan tahtiinsa, tyypillisesti
muutaman tunnin välein. Syötteessä on veron sisältävä keskihinta;
&vat=0 antaa verottoman.