OpenDTU (Hoymiles) Werte via JSON

Fragen zur Nutzung, Features, usw..
DirkS
Beiträge: 46
Registriert: Mi Aug 04, 2021 7:14 am

OpenDTU (Hoymiles) Werte via JSON

Beitrag von DirkS »

Hi,

kennt sich jemand mit dem JSON Abfrage Modul aus?

Nachdem OpenDTU alle relevanten Daten aller verbundenen Hoymiles Inverter via MQTT nur über Middleware an die OpenWB senden kann und der Entwickler meint es wäre sehr viel Arbeit eine OpenWB Option einzubauen, wäre JSON eine andere Möglichkeit ohne Middleware an die Daten zu kommen.

Siehe hier: https://github.com/tbnobody/OpenDTU/issues/240

Das hier spuckt meine OpenDTU über [IP]/api/livedata/status aus:

Code: Alles auswählen

[{"serial":"112181311701","name":"Holzpalast Süd","data_age":11559,"reachable":false,"producing":false,"limit_relative":100,"limit_absolute":350,"0":{"Power":{"v":0,"u":"W"},"Voltage":{"v":235.1999969,"u":"V"},"Current":{"v":0,"u":"A"},"Power DC":{"v":1.200000048,"u":"W"},"YieldDay":{"v":482,"u":"Wh"},"YieldTotal":{"v":111.3209991,"u":"kWh"},"Frequency":{"v":49.99000168,"u":"Hz"},"Temperature":{"v":21.60000038,"u":"°C"},"PowerFactor":{"v":0,"u":"%"},"ReactivePower":{"v":0,"u":"var"},"Efficiency":{"v":0,"u":"%"}},"1":{"Power":{"v":1.200000048,"u":"W"},"Voltage":{"v":24.10000038,"u":"V"},"Current":{"v":0.050000001,"u":"A"},"YieldDay":{"v":482,"u":"Wh"},"YieldTotal":{"v":111.3209991,"u":"kWh"},"Irradiation":{"v":0.292682916,"u":"%"}},"events":3},{"serial":"112180719948","name":"Holzpalast Ost Links","data_age":11678,"reachable":false,"producing":false,"limit_relative":100,"limit_absolute":300,"0":{"Power":{"v":0,"u":"W"},"Voltage":{"v":235.6000061,"u":"V"},"Current":{"v":0,"u":"A"},"Power DC":{"v":1,"u":"W"},"YieldDay":{"v":351,"u":"Wh"},"YieldTotal":{"v":0.843999982,"u":"kWh"},"Frequency":{"v":49.97000122,"u":"Hz"},"Temperature":{"v":21.70000076,"u":"°C"},"PowerFactor":{"v":0,"u":"%"},"ReactivePower":{"v":0,"u":"var"},"Efficiency":{"v":0,"u":"%"}},"1":{"Power":{"v":1,"u":"W"},"Voltage":{"v":19.70000076,"u":"V"},"Current":{"v":0.050000001,"u":"A"},"YieldDay":{"v":351,"u":"Wh"},"YieldTotal":{"v":0.843999982,"u":"kWh"},"Irradiation":{"v":0.289855093,"u":"%"}},"events":3},{"serial":"114181304338","name":"Mülltonnen","data_age":11377,"reachable":false,"producing":false,"limit_relative":100,"limit_absolute":600,"0":{"Power":{"v":0,"u":"W"},"Voltage":{"v":234.5,"u":"V"},"Current":{"v":0,"u":"A"},"Power DC":{"v":0.700000048,"u":"W"},"YieldDay":{"v":828,"u":"Wh"},"YieldTotal":{"v":5.251999855,"u":"kWh"},"Frequency":{"v":49.99000168,"u":"Hz"},"Temperature":{"v":22.39999962,"u":"°C"},"PowerFactor":{"v":0,"u":"%"},"ReactivePower":{"v":0,"u":"var"},"Efficiency":{"v":0,"u":"%"}},"1":{"Power":{"v":0.300000012,"u":"W"},"Voltage":{"v":18.60000038,"u":"V"},"Current":{"v":0.02,"u":"A"},"YieldDay":{"v":398,"u":"Wh"},"YieldTotal":{"v":2.50999999,"u":"kWh"},"Irradiation":{"v":0.086956523,"u":"%"}},"2":{"Power":{"v":0.400000006,"u":"W"},"Voltage":{"v":18.60000038,"u":"V"},"Current":{"v":0.02,"u":"A"},"YieldDay":{"v":430,"u":"Wh"},"YieldTotal":{"v":2.742000103,"u":"kWh"},"Irradiation":{"v":0.115942039,"u":"%"}},"events":3}]
Nun müsste man die Abfrage so gestalten um alle einzel Inverter Daten zu summieren. Zudem kommt YieldTotal in kWh, OpenWB will aber Wh.

Der Entwickler von OpenDTU meint hiermit

Code: Alles auswählen

[.[]."0".Power.v] | add
könnten die einzel Inverterdaten summiert werden.

Grüße
aiole
Beiträge: 7747
Registriert: Mo Okt 08, 2018 4:51 pm
Has thanked: 18 times
Been thanked: 33 times

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von aiole »

Det? Wo bist Du? Es geht um jq ;) .
https://github.com/tbnobody/OpenDTU/iss ... 1282277626

Ich wurde hier beglückt:
viewtopic.php?p=25063#p25063
Keine Hoymiles, sondern AE-Conversion-Modul-WR

@DirkS
Kannst Du bitte eine Ausgabe von

Code: Alles auswählen

/api/livedata/status
posten?
DirkS
Beiträge: 46
Registriert: Mi Aug 04, 2021 7:14 am

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von DirkS »

aiole hat geschrieben: Di Okt 18, 2022 8:04 pm
@DirkS
Kannst Du bitte eine Ausgabe von

Code: Alles auswählen

/api/livedata/status
posten?
Habe ich doch im ersten Post bereits
aiole
Beiträge: 7747
Registriert: Mo Okt 08, 2018 4:51 pm
Has thanked: 18 times
Been thanked: 33 times

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von aiole »

Sry, wer lesen kann... :roll:
derNeueDet
Beiträge: 4447
Registriert: Mi Nov 11, 2020 7:16 pm
Has thanked: 5 times
Been thanked: 27 times

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von derNeueDet »

Der Entwickler hat Recht.

Der gezeigte Ausdruck summiert die aktuellen Leistungen.

Für den Ertrag muss das folgende Filter verwendet werden.

Code: Alles auswählen

[.[]."0".YieldTotal.v]|add *1000
Dann sollte das summiert und in Wh passen.

VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)
DirkS
Beiträge: 46
Registriert: Mi Aug 04, 2021 7:14 am

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von DirkS »

Hi Det,

das ist schonmal cool. Mehr muss man nicht eintragen? Oder ist da noch mehr code notwendig? Kannst du das für Dummies erklären?

Viele Grüße
derNeueDet
Beiträge: 4447
Registriert: Mi Nov 11, 2020 7:16 pm
Has thanked: 5 times
Been thanked: 27 times

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von derNeueDet »

URL und die beiden Filter Ausdrücke eingeben, dann sollte schon was kommen.

Das ist die Erklärung ;)
Muss nicht immer schwierig sein.

VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)
thomas67648
Beiträge: 10
Registriert: Fr Sep 23, 2022 8:56 am

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von thomas67648 »

Ich scheitere am selben Problem

Meine OpenDTU hat zwar nur einen Wechselrichter verknüpft, aber das macht evtl für die Syntax keinen Unterschied
und ich bekomme die Syntax ohne die add-Funktion nicht hin

URL ist eingetragen
URL/api/livedata/status

dann die Filter

[.[]."0".Power.v] | add

[.[]."0".YieldTotal.v]|add *1000

Und bekomme von der OpenWB im Status den Fehler
Störungsbeschreibung <class 'ValueError'> Cannot index array with string "0"

Meine Versuche mit ."0".Power.v führen auch in Fehlermeldungen

Gruß Thomas
thomas67648
Beiträge: 10
Registriert: Fr Sep 23, 2022 8:56 am

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von thomas67648 »

So klappt es:

URL/api/livedata/status

dann die Filter

.total.Power.v

.total.YieldTotal.v *1000



Gruß Thomas
derNeueDet
Beiträge: 4447
Registriert: Mi Nov 11, 2020 7:16 pm
Has thanked: 5 times
Been thanked: 27 times

Re: OpenDTU (Hoymiles) Werte via JSON

Beitrag von derNeueDet »

Dann liefert dein Wechselrichter ein anderes JSON zurück ;)
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)
Antworten