Zielgerichtetes expandJSON schreiben..

Begonnen von chq, 03 Mai 2019, 20:40:47

Vorheriges Thema - Nächstes Thema

chq

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
So einfach wie möglich, so kompliziert wie nötig

OdfFhem

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)

chq

#2
Jetzt hat's geklappt- vielen Dank!

Gruß Chris

Edit: Das habe ich unter DEV angegeben:

steuerung.*:.*:.{.*}  (AM2301_Humidity|AM2301_Temperature)
So einfach wie möglich, so kompliziert wie nötig