Autor Thema: MQTT2 Event in json auflösen  (Gelesen 313 mal)

Offline joergi

  • New Member
  • *
  • Beiträge: 15
MQTT2 Event in json auflösen
« 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

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18137
Antw:MQTT2 Event in json auflösen
« Antwort #1 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 :) .


Server: HP-T620@Debian 11, 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

Offline joergi

  • New Member
  • *
  • Beiträge: 15
Antw:MQTT2 Event in json auflösen
« Antwort #2 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

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18137
Antw:MQTT2 Event in json auflösen
« Antwort #3 am: 16 März 2022, 18:57:04 »
 ::) ups...

Schön, dass es [gelöst] ist :) .
Server: HP-T620@Debian 11, 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