Czytanie wartości z...
 
Powiadomienia
Wyczyść wszystko

openHAB Czytanie wartości z API w OH2

7 Wpisów
2 Użytkownicy
0 Reactions
995 Wyświetleń
(@leszekb)
Wpisów: 43
Kontrybutor Donator 2K20
Autor tematu
 

Witam,

chciałbym odczytywać dzienną produkcję energii z inwertera i wyświetlać ją w OH.

Źródło danych z API:

https://monitoringapi.solaredge.com/site/1299193/energy?timeUnit=DAY&endDate=2020-12-31&startDate=2020-08-01&api_key=E47B4EAUYDR7M5Y1BEPL176X141TGFQB

http.cfg

solar.url= https://monitoringapi.solaredge.com/site/1299193/energy? timeUnit=DAY&endDate=2020-12-31&startDate=2020-08-01&api_key=E47B4EAUYDR7M5Y1BEPL176X141TGFQB
solar.updateInterval=120000
 
no i najbardziej problematyczny solar.items
Numberdaily_energy"Energy [%.2f W]" {http="<[solar:60000:JSONPATH($..dateValue[?(@.value>0)].value)]"}
 
Fragment xml'a ze źródła danych z API w formacie json
 
{
"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"
},
 
Pytanie: jak prawidłowo napisać item? Najchętniej chciałbym prezentowac w OH wartość z aktualnego dnia.
 
Dodane : 12/08/2020 7:41 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

Hey @leszekb

moja propozycja, dodaj tego item'a w sitemap

Number energia_wh "Produkcja dzienna [%.0f Wh]"
 
Dodaj taką regułę:
 
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

 

 
Dodane : 15/08/2020 9:40 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@leszekb

tak jeszcze zajrzałem (bo przymierzam się równiez do solaredge'a), że masz gotowego binding'a do OH2

https://www.openhab.org/addons/bindings/solaredge/

 
Dodane : 16/08/2020 3:16 pm
(@leszekb)
Wpisów: 43
Kontrybutor Donator 2K20
Autor tematu
 

@adrian

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ę.

 
Dodane : 16/08/2020 8:06 pm
(@leszekb)
Wpisów: 43
Kontrybutor Donator 2K20
Autor tematu
 

@adrian

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 😉

 
Dodane : 16/08/2020 8:49 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

Jeśli można - te 33kWh to jaka  instalacja Ci produkuje?

 
Dodane : 16/08/2020 9:54 pm
(@leszekb)
Wpisów: 43
Kontrybutor Donator 2K20
Autor tematu
 

@adrian

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

 

 
Dodane : 16/08/2020 11:26 pm
Udostępnij: