eine Frage wie lese ich folgendes JSON Aus am besten?
{"value": -1384}
jedes Topic im MQTT ist immer gleich formatiert, ich möchte die dann ganz normal dann einlesen, ohne das das value dabei steht im variablennamen.
N/L1/Power:.* PowerInL1
N/L2/Power:.* { json2nameValue($EVENT, 'PowerInL2', $JSONMAP) }
das resultat ist dann
PowerInL1 {"value": -1384} 2022-02-24 14:59:07
PowerInL2value -1755 2022-02-24 14:59:07
Beim ersten passt der Name aber der Wert nicht, beim zweiten passt der Wert, aber im Namen sollte das value nicht vorkommen
...viele Wege führen nach Rom...: https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt (https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt)
Würde hier empfehlen, mal das Attribut jsonMap intensiver anzusehen.
gibt es wo eine doku zu dem jsonMap?
irgendwie komme ich nicht drauf wie das funktionieren sollte ..
Es gibt die commandref zu MQTT2_DEVICE und gefühlt "hunderte" Beispiele in mqtt2.template.
Fang mal damit an:
PowerInL2value:PowerInL2
ahhhh super danke funktioniert
ich habe immer probiert mit dem jsonMap das json vorher zu bearbeiten
Warum zweimal umbenennen ?
attr <devicename> readingList N/L2/Power:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr <devicename> jsonMap value:PowerInL2
Zitat von: TomLee am 24 Februar 2022, 15:36:06
Warum zweimal umbenennen ?
attr <devicename> readingList N/L2/Power:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr <devicename> jsonMap value:PowerInL2
Der TE hat uns doch nur zwei Beispielzeilen aus seiner readingList gezeigt => das funktioniert nur für eine Zeile so...
Wenn, könnte man eine "schneide die Zahl aus"-Perl-Funktion bauen und die Readingnamen manuell vergeben. Das sähe dann für alle betreffendne Zeilen in etwa gleich aus.
Zitat von: sn0000py am 24 Februar 2022, 15:33:59
ich habe immer probiert mit dem jsonMap das json vorher zu bearbeiten
Verstehe ich nicht, wie man da noch groß wie auch immer rumexperimentiert; die Hilfe wird doch direkt in FHEMWEB angezeigt, wenn man das Attribut auswählt...