FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Stonemuc am 11 Oktober 2026, 11:10:05

Titel: MQTT2DEVICE readingslist Problem
Beitrag von: Stonemuc am 11 Oktober 2026, 11:10:05
Ich muss bei mir auf einen Tasmota Lesekopf für den Stromzähler umstellen, da der Eltako Enocean Zähler das neue Protokoll nicht unterstützt.
Den Lesekopf habe ich jetzt über MQTT eingebunden. Es kommen auch Events auf dem MQTT Server an, aber ich bekomme die Readingsllist zum Auslesen der Werte nicht hin...kann mir da jemand helfen?

Hier mal das List vom Device, wie es nicht funktioniert...

Internals:
   CFGFN     
   FUUID      6acb4ccf-f33f-f491-28a8-0a9ff71f660828eb
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     36
   NAME       Stromzaehler
   NR         702
   STATE      Verbrauch: 0.0 kWh, Einspeisung: 0.00 kWh, Leistung: 0.000 W
   TYPE       MQTT2_DEVICE
   eventCount 1
   myBroker_MSGCNT 36
   myBroker_TIME 2026-10-11 11:06:08
   READINGS:
     2026-10-11 10:46:07   IODev           myBroker
Attributes:
   IODev      myBroker
   alias      Stromzaehler
   autocreate 1
   readingList tele/Strom/SENSOR/E_in:.* Verbrauch
tele/Strom/SENSOR/E_out:.* Einspeisung
tele/Strom/SENSOR/Power:.* Leistung
tele/Strom/SENSOR/Power2:.* Leistung2
tele/Strom/SENSOR:.* {eHZ{E_in:* Verbrauch}}
   room       Energie
   stateFormat {sprintf("Verbrauch: %.1f kWh, Einspeisung: %.2f kWh, Leistung: %.3f W", ReadingsVal($name,"Verbrauch",undef), ReadingsVal($name,"Einspeisung",undef),ReadingsVal($name,"Leistung",undef))}

Die Werte kommen so an:
11:08:08.504

RCVD

tele/Strom/SENSOR

{"Time":"2026-10-11T10:08:08","eHZ":{"E_in":233.144,"E_out":37.027,"Power":-857,"Power2":0}}

Ich checke nicht wie ich aus diesen vielen Klammern und "" die Werte so in meine 4 vorgegebenen Werte bekomme...
Titel: Aw: MQTT2DEVICE readingslist Problem
Beitrag von: frober am 11 Oktober 2026, 12:13:47
1. Im Unterforum MQTT ist das besser aufgehoben, kannst du verschieben

2. mit aktivieren autocreate wird die readingslist automatisch angelegt

3. Mit
tele/Strom/SENSOR:.* {json2nameValue($EVENT)}
werden alle readings angelegt, die im json vorhanden sind

Im Wiki (https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt#json2nameValue()) ist es erklärt. Du kannst die Readings auch umbenennen.