FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: ritter_runkel am 11 April 2021, 18:27:53

Titel: [GELÖST] FHEM Readings als JSON per mqttpublish Versenden - Unterstützung gesu
Beitrag von: ritter_runkel am 11 April 2021, 18:27:53
Hallo Zusammen,
ich komme hier nicht weiter.
Ziel ist es ein Reading aus FHEM an eine Custom App in der AWTRIX per mqttpublish als JSON zu übertragen. Das Reading ist in einem Shelly-Uni.
Es wird publiziert allerdings scheint das Format nicht zu stimmen:
"ext_temperature_1:topic=/awtrix/customapp {"ID": "1","data": "Pott [Shelly_uni_Pott:ext_temperature_1] °C"})"

In der Doku zu mqttpublish steht etwas zur Formatierung im JSON Format:
attr <dev> mqttPublish temperature:topic={"$base/temperature/01/value"} temperature!json:topic={"$base/temperature/01/json"} temperature!json:expression={toJSON({value=>$value,type=>"temperature",unit=>"°C",format=>"00.0"})}

Kann mir jemand helfen entweder das obere zu korrigieren oder die untere Formatierung anzupassen?

Vielen Dank und grüße aus Leipzig
Erik
Titel: Antw:[GEÄNDERT] FHEM Readings als JSON per mqttpublish Versenden - Unterstützung gesu
Beitrag von: roelleke am 13 April 2021, 22:19:12
Hallo,

bei mir scheint es so zu funktionieren:

temperature:topic={"awtrix1/customapp"} temperature:expression={toJSON({ID=>5,force=>"true",icon=>432,data=>"Draußen ".$value." °C",color=>"[0,200,200]",moveIcon=>"false",count=>2})}

$value enthält den Wert des Readings.

Zumindest im MQTT Monitor sieht es OK aus. Auf der Awtrix habe ich es noch nicht gesehen, aber im Log gibt es keine Fehlermeldung
Titel: [GELÖST] FHEM Readings als JSON per mqttpublish Versenden - Unterstützung gesu
Beitrag von: ritter_runkel am 14 April 2021, 10:02:32
herzlichen Dank!!!!!!!!!!!!!
Du hast mir den Tag und die AWTRIX gerettet  ;D

Alle von Dir gesendeten Parameter scheinen nicht zu funktionieren. Das wirft wieder JSON Parsing Fehler im AWTRIX Host aus.
Folgende Config erzeugt keine Fehler mehr:

ext_temperature_1:topic={"awtrix/customapp"} ext_temperature_1:expression={toJSON({ID=>1,icon=>1492,data=>"Pott ".$value." °C"})}