MQTT2 Event in json auflösen

Begonnen von joergi, 16 März 2022, 17:40:47

Vorheriges Thema - Nächstes Thema

joergi

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

Beta-User

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 :) .


Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

joergi

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

Beta-User

 ::) ups...

Schön, dass es [gelöst] ist :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files