Wert über mqtt richtig einlesen und ausgeben

Begonnen von geraldus, 21 September 2015, 13:34:58

Vorheriges Thema - Nächstes Thema

geraldus

Hallo,

ich beschäftige mich gerade neu mit FHEM. Ich habe jetzt alle Homematik und MAX! Geräte auf Homegear umgestellt. Homegear bietet in der Dev version eine MQTT Anbindung. Diese möchte ich nun über FHEM nutzen, da ich dann eine wirklich lose Kopplung zwischen Frontend und Sensoren/Aktoren habe und theoretisch mehrere verschiedene Frontends gleichzeitig laufen lassen kann.

Leider verschickt und erwartet Homegear die Werte im JSON Format. Das bedeutet, das die Temperatur z.B. momentan folgendermaßen übertragen wird: [23.399999999999999]

Meine Konfig ist aktuell folgende:

define myMQTTdevice MQTT 192.168.1.2:1883
define tempWZ MQTT_DEVICE
attr tempWZ  room Wohnzimmer
attr tempWZ subscribeReading_state  homegear/01/event/20/1/ACTUAL_TEMPERATURE
attr tempWZ stateFormat state


Leider wird dadurch folgendes Ausgegeben:
tempWZ [23.399999999999999]

Ich hätte aber gerne eine Ausgabe, die folgendermaßen ausschaut:
Temperatur Wohnzimmer: 23,4 °C

Wie muss ich da vorgehen, damit der Wert auch als Zahl erkannt wird ?

Danke für eure Hilfe.

Frank


trilu

Hatte das selbe Problem mit dem neuen RPC Modul :-)

attr tempWZ stateFormat {sprintf( "%.1f °C", ReadingsVal( $name, "state", 0 ))}