FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: joergi am 16 März 2022, 17:40:47

Titel: MQTT2 Event in json auflösen
Beitrag von: joergi am 16 März 2022, 17:40:47
Hallo,
ich habe folgendes Problem und komme mangels KnowHow nicht weiter.

Folgende Definitionen;

define PVSpeicher MQTT2_CLIENT 192.168.178.240:1883
define MQTT2_PVSpeicher MQTT2_DEVICE PVSpeicher
attr MQTT2_PVSpeicher IODev PVSpeicher
attr MQTT2_PVSpeicher readingList PVSpeicher:N/xxxxx/vebus/288/Ac/ActiveIn/L1/V:.* Input_voltage_phase_1\
PVSpeicher:N/xxxxx/vebus/288/Ac/ActiveIn/L1/I:.* Input_current_phase_1


Die Readings sehen dann folgendermaßen aus:
Input_voltage_phase_1    {"value": 233.24000549316406}
Input_current_phase_1    {"value": 0.699999988079071}

Ich möchte bei den Readings allerdings nur alleine den numerischen Wert sehen.

Kann mir jemand einen Tip geben?

Gruß Jörg
Titel: Antw:MQTT2 Event in json auflösen
Beitrag von: Beta-User am 16 März 2022, 17:52:41
Hi. Dein Problem hat zwei Teilaspekte:
- zum einen scheint bei der Erstübermittlung von "irgendwas" über diese topics kein JSON gesendet worden zu sein, so dass autocreate auch nicht die passende Funktion hinten "drangepappt" hat, und
- zum anderen willst du andere Namen haben als sich dann ergeben würden...

Ungetestet sollte es in diese Richtung klappen:
attr MQTT2_PVSpeicher readingList N/xxxxx/vebus/288/Ac/ActiveIn/L1/V:.* json2nameValue($EVENT,'L1_V_',$JSONMAP)\
  N/xxxxx/vebus/288/Ac/ActiveIn/L1/I:.* json2nameValue($EVENT,'L1_I_',$JSONMAP)
attr MQTT2_PVSpeicher jsonMap L1_I_value:L1_current L1_V_value:L1_voltage

Ansonsten mal in https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt reinschauen, vielleicht hilft das etwas weiter :) .


Titel: Antw:MQTT2 Event in json auflösen
Beitrag von: joergi am 16 März 2022, 18:26:34
Hallo Beta-User,

hat geklappt. Allerdings habe ich noch die geschwungenen Klammern hinzufügen müssen.

attr MQTT2_PVSpeicher readingList N/xxxxx/vebus/288/Ac/ActiveIn/L1/V:.* {json2nameValue($EVENT,'L1_V_',$JSONMAP)}\
  N/xxxxx/vebus/288/Ac/ActiveIn/L1/I:.* {json2nameValue($EVENT,'L1_I_',$JSONMAP)}
attr MQTT2_PVSpeicher jsonMap L1_I_value:L1_current L1_V_value:L1_voltage


Danke Jörg
Titel: Antw:MQTT2 Event in json auflösen
Beitrag von: Beta-User am 16 März 2022, 18:57:04
 ::) ups...

Schön, dass es [gelöst] ist :) .