Hallo,
bekomme von meinem Stromzähler per Mqtt-String folgende Werte.
tele {"Time":"2023-04-05T13:27:40","Power":{"Total_in":502.9088,"Power_curr":342,"Total_out":0.0000}}
wie bekomme ich Total_in, Power_curr, Total_out in einzelne userReadings
Grüße
Sandro
Hi,
wenn das nicht etwas schon bekanntes ist? Hier (https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt) schon versucht?
Ansonsten gibt es Hintergrundinfos? Was für ein MQTT Gerät usw.
Gruß Otto
Hi,
schau dir mal das an, ist schon ein MQTT-Device
define Stromzaehler MQTT_DEVICE
attr Stromzaehler userattr tele
attr Stromzaehler IODev myBroker
attr Stromzaehler room Mosquitto
attr Stromzaehler subscribeReading_tele tele/Stromzaehler/SENSOR
# FUUID 642c6568-f33f-784a-8816-3f3c072bea628a5c
# IODev myBroker
# NAME Stromzaehler
# NR 8389
# STATE ???
# TYPE MQTT_DEVICE
# eventCount 7180
# OLDREADINGS:
# READINGS:
# 2023-04-04 20:01:07 IODev myBroker
# 2023-04-05 16:34:51 tele {"Time":"2023-04-05T15:34:50","Power":{"Total_in":503.7838,"Power_curr":341,"Total_out":0.0000}}
# 2023-04-05 16:34:51 transmission-state incoming publish received
# hmccu:
# message_ids:
# sets:
# subscribe:
# tele/Stromzaehler/SENSOR
# subscribeExpr:
# ^tele\/Stromzaehler\/SENSOR$
# subscribeQos:
# tele/Stromzaehler/SENSOR 0
# subscribeReadings:
# tele/Stromzaehler/SENSOR:
# cmd
# name tele
#
setstate Stromzaehler 2023-04-04 20:01:07 IODev myBroker
setstate Stromzaehler 2023-04-05 16:34:51 tele {"Time":"2023-04-05T15:34:50","Power":{"Total_in":503.7838,"Power_curr":341,"Total_out":0.0000}}
setstate Stromzaehler 2023-04-05 16:34:51 transmission-state incoming publish received
Grüße
Sandro
Das ist doch simpelstes JSON? Dafür hat FHEM Funktionen, die das erledigen.
Zitat von: betateilchen am 05 April 2023, 16:41:38Das ist doch simpelstes JSON? Dafür hat FHEM Funktionen, die das erledigen.
Ich habe mit JSON noch nie gearbeitet ...:)
Hallo,
hier die Lösung von mir...:)
define Stromzaehler MQTT2_DEVICE
attr Stromzaehler IODev myBroker
attr Stromzaehler autocreate 1
attr Stromzaehler icon mqtt_device
attr Stromzaehler readingList mqtt2_client:tele/Stromzaehler/SENSOR:.* { json2nameValue($EVENT,'Total_in',$JSONMAP) }
attr Stromzaehler room Mosquitto
attr Stromzaehler verbose 0
# DEF
# FUUID 642d9cfc-f33f-784a-4417-c48e85dff44d6e71
# IODev myBroker
# LASTInputDev mqtt2_client
# MSGCNT 58
# NAME Stromzaehler
# NR 37435
# STATE ???
# TYPE MQTT2_DEVICE
# eventCount 59
# mqtt2_client_MSGCNT 58
# mqtt2_client_TIME 2023-04-05 18:39:00
# READINGS:
# 2023-04-05 18:09:39 IODev myBroker
# 2023-04-05 18:39:00 Total_inPower_Power_curr 590
# 2023-04-05 18:39:00 Total_inPower_Total_in 505.3588
# 2023-04-05 18:39:00 Total_inPower_Total_out 0.0000
# 2023-04-05 18:39:00 Total_inTime 2023-04-05T17:39:00
# hmccu:
# message_ids:
# subscribeExpr:
#
setstate Stromzaehler 2023-04-05 18:09:39 IODev myBroker
setstate Stromzaehler 2023-04-05 18:39:00 Total_inPower_Power_curr 590
setstate Stromzaehler 2023-04-05 18:39:00 Total_inPower_Total_in 505.3588
setstate Stromzaehler 2023-04-05 18:39:00 Total_inPower_Total_out 0.0000
setstate Stromzaehler 2023-04-05 18:39:00 Total_inTime 2023-04-05T17:39:00
Grüße
Sandro
na siehste, das war doch gar nicht so schwer 8)