Witam,
chciałbym odczytywać dzienną produkcję energii z inwertera i wyświetlać ją w OH.
Źródło danych z API:
http.cfg
"timeUnit": "DAY",
"unit": "Wh",
"measuredBy": "INVERTER",
"values": {
"dateValue": [
{
"date": "2020-08-01 00:00:00",
"value": "24890.0"
},
{
"date": "2020-08-02 00:00:00",
"value": "35280.0"
},
{
"date": "2020-08-03 00:00:00",
"value": "14232.0"
},
Hey @leszekb
moja propozycja, dodaj tego item'a w sitemap
Number energia_wh "Produkcja dzienna [%.0f Wh]"
rule "Pobierz produkcję energii"
when
Timecron "0 0/1 * 1/1 * ? *"
then
val String currentTime = String::format( "%1$tY-%1$tm-%1$te", newjava.util.Date )
var String json = sendHttpGetRequest("https://monitoringapi.solaredge.com/site/1299193/energy?timeUnit=DAY&endDate="+currentTime+"&startDate="+currentTime+"&api_key=E47B4EAUYDR7M5Y1BEPL176X141TGFQB")
val String energia = transform("JSONPATH", "$.energy.values.[0].value", json)
energia_wh.postUpdate(energia)
end
Ta reguła odczytuje tego JSON co minutę więc zrób sobie może raz na dzień o określonej godzinie może o 23:00 już po produkcji solarów? Od Ciebie zależy.
Nie sprawdzałem jak regułą się zachowa przy wartości = null
Pozdrawiam, adrian
tak jeszcze zajrzałem (bo przymierzam się równiez do solaredge'a), że masz gotowego binding'a do OH2
Dzieki za podpowiedź, potestuję Twoja propozycję i dam znać. Co do bindinga to potrzebuję mieć aktywowanego modbus-a po TCP oraz ustawienie portu na 1502 a do tego musze sciągnąć instalatorów z południa do Warszawy za całkiem niezłą kasę bo sam tego zrobic mi nie dadzą. Zrobie to kiedys przy okazji jak będą mi rozbudowywać instalację.
Wielkie dzięki jak zwykle. Super działa. Rozdzieliłem Time cron i new java bo zgłaszał błędy i poszło od ręki. Fajnie 😉
Jeśli można - te 33kWh to jaka instalacja Ci produkuje?
To jest 6.2 KW z inwenterem na 8kW. Załączam link bo niedługo mija rok wiec widać jak to wygląda w skali roku.
https://monitoringpublic.solaredge.com/solaredge-web/p/site/public?name=Bulanow#/dashboard