FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Verbrauchsmessung => Thema gestartet von: fabian_niesen am 21 April 2024, 19:54:12

Titel: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: fabian_niesen am 21 April 2024, 19:54:12
Moin zusammen,
ja, ich habe in die CommandRef und den Newbee Guide gelesen, und komme trotzdem nicht weiter.
Ich versuche per Reading List den Namen und den Wert der einzelnen Werte per JsonMod zu bekommen. Wenn ich readinglist auf "complete()" stelle sieht die Readings so aus (Gekürzt):
0.editable 0
0.label Total Inverter Energy Out
0.link https://KIWIGRID/rest/items/sajhybrid_inverter_94_<Inverter SN>_inverter_energyOut
0.name sajhybrid_inverter_94_<Inverter SN>_inverter_energyOut
0.state 2020022755 Ws
0.stateDescription.pattern %.2f %unit%
0.stateDescription.readOnly 1
0.type Number:Energy
1.editable 0
1.label WorkConsumedFromProducers
1.link https://KIWIGRID/rest/items/kiwigrid_location_standard_b65d71dc1b42_harmonized_work_consumed_from_producers_total
1.name kiwigrid_location_standard_b65d71dc1b42_harmonized_work_consumed_from_producers_total
1.state NULL
1.stateDescription.pattern %s
1.stateDescription.readOnly 1
1.type String
10.editable 0
10.label Battery SoC
10.link https://KIWIGRID/rest/items/sajhybrid_battery_94_<Inverter SN>_battery_stateOfCharge
10.name sajhybrid_battery_94_<Inverter SN>_battery_stateOfCharge
10.state 99.00 %
10.stateDescription.pattern %.1f %unit%
10.stateDescription.readOnly 1
10.type Number:Dimensionless
Wobei <Inverter SN> der Seriennummer des Inverters entspricht. Das Ganze geht bis 98 so weiter. Manuell ist also Sub Optimal.

Was ich suche, ist ein ReadingList das mir immer das "label" als Namen des Reading mit "state" als Wert ausgibt. Bonus wäre wenn über das Feld "stateDescription.pattern" die Einheit bereinigt werden könnte.

Leider habe ich nichts mit der Suche gefunden und bin auch kein JSON erperte. Aber nach 3 Stunden Basteln dachte ich, ich frag mal.

Viele Grüße
Fabian
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: yersinia am 21 April 2024, 20:32:40
Moin,
kannst du ein (anonymisiertes) Json, welches du erhältst, zur Verfügung stellen? Das könnte beim Testen helfen.
Mit multi() könnte es funktionieren.
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: fabian_niesen am 22 April 2024, 07:17:16
Moin,
kein Problem. Die IDs habe ich durch <Bezeichnung> ersetzt. die Datei liegt hier: EKD Jason (anonymisiert) (https://famniesen-my.sharepoint.com/:u:/g/personal/mail_fabian-niesen_de/EaMpMCHj6u9IuoCpiCsIPggB9mmhrXvHrfIGQUhsd95xIg?e=m3rx2Z).
Vielen Dank. Ich hatte das mit Multi nicht hinbekommen, aber das war für mich Neuland und nach dem Lesen der Bespiele habe ich es nicht hinbekommen.

Viele Grüße
Fabian
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: yersinia am 23 April 2024, 07:58:05
Kannst du dies auch als txt file einfach anhängen hier? Oder, wenn es nicht zu lang ist, einfach als Code tags in den Text übernehmen.

Davon abgesehen bist du im falschen Unterforum, richtig ist Automatisierung (https://forum.fhem.de/index.php?board=20.0) - du solltest den Thread selber verschieben (Button müsste unten links sein), dann steigt auch die Chance, dass dir ua vom Maintainer geholfen werden kann.
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: betateilchen am 28 April 2024, 18:59:16
Zitat von: fabian_niesen am 21 April 2024, 19:54:12Was ich suche, ist ein ReadingList das mir immer das "label" als Namen des Reading mit "state" als Wert ausgibt.

Das ist doch die einfachste Anforderung an JsonMod überhaupt:

attr <deviceName> readingList multi(jsonPath('$.[*]'),property('label'), property('state'))


Zitat von: fabian_niesen am 21 April 2024, 19:54:12Bonus wäre wenn über das Feld "stateDescription.pattern" die Einheit bereinigt werden könnte.

Was genau meinst Du mit "die Einheit bereinigen"?

In "stateDescription.pattern" steht m.E. nix sinnvolles drin, mit dem man was anfangen könnte. Insbesondere die readings, in denen neben dem Wert auch noch ein timestamp steht, lassen sich damit nicht identifizieren und/oder auflösen.
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: fabian_niesen am 03 Mai 2024, 21:59:27
Danke für den Versuch. Ich bin Mittlerweile auf Home Automation umgestiegen, da war es einfacher lösbar. Und da ich mich in beiden einarbeiten muss, mache ich da weiter. Da gab es fertige Lösungen für den EKD Wechselrichter über Kiwigrid
Titel: Aw: JsonMod: EKD Ampere.IQ / KIWIGRID per Json abfragen
Beitrag von: betateilchen am 04 Mai 2024, 09:25:34
 Mal schauen, wann Du zurückkommst 😀