Switch schalten abhängig von per MQTT empfangenen JSON Daten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
sboldt
Beiträge: 1
Registriert: 8. Dez 2017 22:11
Answers: 0

Switch schalten abhängig von per MQTT empfangenen JSON Daten

Beitrag 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

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

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

Beitrag 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

Antworten