FHEM Forum

FHEM => Automatisierung => Thema gestartet von: chq am 03 Mai 2019, 20:40:47

Titel: Zielgerichtetes expandJSON schreiben..
Beitrag von: chq am 03 Mai 2019, 20:40:47
Hallo,

ein MQTT-Device von mir erzeugt regelmäßig ein Reading namens "SENSOR" mit folgendem Inhalt:

{"Time":"2019-05-03T20:29:02","Switch1":"ON","Switch2":"ON","Switch3":"ON","Switch4":"ON","Switch5":"ON","Switch6":"ON","Switch7":"ON","AM2301":{"Temperature":22.2,"Humidity":54.5},"TempUnit":"C"}

Um Temperatur und Feuchtigkeit aus diesem Reading rauszufiltern verwende ich ein entsprechendes expandJSON mit folgender DEV:

steuerung:SENSOR:.*

Temperatur und Feuchtigkeit erscheinen im MQTT-Device dann als "AM2301_ Temperature" und "AM2301_ Humidity". Leider werden auf diesem Weg auch weitere Readings wie z.B. "Switch1" erzeugt, die ich nicht benötige.

Damit nur Temperatur und Feuchtigkeit Readings erzeugen, habe ich bereits auch mal Folgendes probiert:

steuerung:SENSOR:^AM2301_

Hat leider nicht funktioniert.  :-[

Kann wer helfen?

Gruß Chris
Titel: Antw:Zielgerichtetes expandJSON schreiben..
Beitrag von: OdfFhem am 04 Mai 2019, 05:22:55
Hallo,

ich verwende expandJSON nach folgendem Muster, um z.B. aus einer Wifi-Substruktur gezielt nur einzelne Werte auszulesen.


defmod ej_XYZ expandJSON XYZ.*:.*:.{.*}  (Wifi_RSSI|Wifi_SSId)
Titel: Antw:Zielgerichtetes expandJSON schreiben..
Beitrag von: chq am 04 Mai 2019, 13:38:34
Jetzt hat's geklappt- vielen Dank!

Gruß Chris

Edit: Das habe ich unter DEV angegeben:

steuerung.*:.*:.{.*}  (AM2301_Humidity|AM2301_Temperature)