FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Mave am 13 November 2018, 09:29:22

Titel: MQTT_Device und expandJSON
Beitrag von: Mave am 13 November 2018, 09:29:22
Moin zusammen,

ich versuche, in einem MQTT_Device einen JSON String zu publishen, da meine Xiaomi Devices einen JSON String erwarten, komme aber leider nicht zum Ziel.

Wie kann ich einen JSON String, wie z.B. {"state":"on"} publishen?

Vielen Dank.
Titel: Antw:MQTT_Device und expandJSON
Beitrag von: rudolfkoenig am 13 November 2018, 09:52:42
Evtl. lohnt es sich einen Blick auf MQTT2* Module zu werfen, da ist z.Zt. mehr in Bewegung, als in den alten MQTT (ohne 2) Modulen.
Titel: Antw:MQTT_Device und expandJSON
Beitrag von: Mave am 13 November 2018, 10:03:58
Moin Rudi,

vielen Dank für den Hinweis.

Ja, ich habe schon wahrgenommen, dass es neue MQTT2 Module gibt.
Allerdings fühle ich mich etwas überfordert damit. Um das alles zu verstehen, muss ich mir zunächst mal ein Wochenende freischaufeln um das alles in Ruhe durchzulesen.

Um mich zu motivieren, könntest Du mir aber verraten, ob ich dann einen JSON String publishen kann...  :)
Titel: Antw:MQTT_Device und expandJSON
Beitrag von: Beta-User am 13 November 2018, 11:48:07
Ja, geht.

Alternativ toJSON() verwenden. Beispiele im MiLight-Thread.
Würde aber auch MQTT2 empfehlen.
Titel: Antw:MQTT_Device und expandJSON
Beitrag von: hexenmeister am 13 November 2018, 12:28:22
... vielleicht wäre MQTT_GENERIC_BRIDGE ein Lösung. Wird (in einer absehbaren Zeit) auch MQTT2 unterstützen.
Damit wäre MQTT_DEVICE gar nicht mehr nötig. JSON kann aus einem beliebigen Reading (mit Hilfe von 'expression'-Parameter in mqttPublish) gebildet werden.
Irgendwie so (ungetestet):
attr mqttPublish <reading>:topic=<topic> <reading>:expression={"{\"<name>\":\"$message\"}"}