Seite 1 von 1

Switch schalten abhängig von per MQTT empfangenen JSON Daten

Verfasst: 8. Dez 2017 22:27
von sboldt
Hallo zusammen,

ich stecke gerade an einem Problem fest:
Ich empfange per MQTT Daten von Türsensoren. Beispiel:
{"isOpen":[false,true,false,true],"eventTimes":[0,9,1550,9],"id":"100026812345","t":"2017-12-08T20:01:33.000Z","offline":false}

Abhängig vom ersten Wert de "isOpen" Arrays soll ein Switch an oder ausgeschaltet werden. Wenn ich bislang Daten per MQTT empfangen habe waren es immer klar auswertbare Daten. Beispiel:

Switch WZ_Lampe "Lampe" {<[mosquitto:stat/sonoff-2/POWER:state:ON:ON],<[mosquitto:stat/sonoff-2/POWER:state:OFF:OFF]"}

Ich verstehe aber nicht wie ich sowohl
a) den entsprechenden Wert aus dem Array extrahieren kann
und
b) abhängig von diesem den Switch an- oder ausschalten kann.

Die Auswertung müsste mit jsonpath gehen, aber weiter weiß ich nicht. Könnte mir jemand helfen die entsprechenden Statements zu bauen?

Vielen Dank im Voraus für alle Tips!

Viele Grüße,
Stephan

Re: Switch schalten abhängig von per MQTT empfangenen JSON Daten

Verfasst: 9. Dez 2017 14:26
von Cyrelian
Hi Stephan,

ich mache das z.B. so:

Code: Alles auswählen

{mqtt="<[mosquitto:sonoff/tele/sonoff-BC4245/STATE:state:JSONPATH($.Wifi.RSSI)]"}
das

Code: Alles auswählen

JSONPATH($.Wifi.RSSI)

kannst Du nach belieben anpassen um alle Infos aus dem Array rauszuholen.

CU
Cyrelian