Leider komme ich nicht weiter. ExpandJSON zeigt bei mir keinerlei Funktion.
cpan install JSON ist gemacht.
Ich habe eine MQTT Bridge, die Daten erhält:
Internals:
CHANGED
NAME MQTT_ttn_Daten
NR 505
STATE {"app_id":"myhelloworld_cl","dev_id":"my_second","hardware_serial":"0xxx9173FFxxxxx","port":1,"counter":0,"payload_raw":"Ew==","metadata":{"time":"2018-11-06T17:36:19.318465695Z"}}
TYPE dummy
READINGS:
2018-11-06 18:36:54 Sender {"app_id":"myhelloworld_peter","dev_id":"my_second","hardware_serial":"0xxx9173FFxxxxx","port":1,"counter":0,"payload_raw":"Ew==","metadata":{"time":"2018-11-06T17:36:19.318465695Z"}}
2018-11-06 18:36:19 state {"app_id":"myhelloworld_peter","dev_id":"my_second","hardware_serial":"0xxx9173FFxxxxx","port":1,"counter":0,"payload_raw":"Ew==","metadata":{"time":"2018-11-06T17:36:19.318465695Z"}}
Attributes:
event-on-change-reading state
room mqtt_ttn
Jetzt würde ich gerne das JSON in der Reading "Sender" oder "status" in einzelne Readings zerlegen lassen.
Internals:
CFGFN
DEF MQTT_ttn_Daten:Sender:.{.*}
NAME j3e
NOTIFYDEV MQTT_ttn_Daten
NR 923
NTFY_ORDER 50-j3e
STATE active
TYPE expandJSON
s_regexp MQTT_ttn_Daten:Sender:.{.*}
t_regexp .*
version 1.13
READINGS:
2018-11-06 18:46:13 state active
Attributes:
room mqtt_ttn
Aber die Ausgabe ist gleich Null. An der Regex habe ich viel experimentiert, aber alles exact gleich: Keine Änderung nirgends. Das Log zeigt nichts. Vermutlich mache ich etwas grundsätzliches falsch, aber was?.
Wo wären denn die neuen Readings? Doch im Objekt des expandJSON, oder?
Vielen Dank für Hilfe
Peter
Durch das setzen von 'event-on-change-reading state' erzeugt das Reading 'Sender' keine Events. Ohne Events keine Konvertierung.
Hallo Peter,
ZitatWo wären denn die neuen Readings? Doch im Objekt des expandJSON, oder?
Nein die Readings sind dann im device MQTT_ttn_Daten.
Und wie dev0 schon geschrieben hat solltest du event-on... anpassen:
event-on-change-reading Sender
VG Sebastian
Ja!
Danke
das war's.
Wenn man nicht jeden Tag FHEM "programmiert" fallen einen die Basics durch die Lappen.