Hauptmenü

stateFormat und sprintf

Begonnen von Idefix!, 20 Oktober 2019, 22:32:23

Vorheriges Thema - Nächstes Thema

Idefix!

Hallo an alle!  :)

Ausgangssituation:
- TH10/AM2301 und Tasmota, mit FHEM per MQTT verbunden

Device mit folgenden Attributen angelegt:

attr huette_th_aussen IODev myBroker
attr huette_th_aussen icon temperature_humidity
attr huette_th_aussen room Wetter
attr huette_th_aussen stateFormat {sprintf("T: %.1f °C", ReadingsVal($name,"Temperature",0))}
attr huette_th_aussen subscribeReading_sensor tele/huette_th_aussen/SENSOR


Log in Tasmota:

tele/huette_th_aussen/SENSOR = {"Time":"2019-10-20T21:10:42","AM2301":{"Temperature":14.1,"Humidity":79.9},"TempUnit":"C"}

Da der komplette String im Status unschön aussieht, möchte ich dort nur die Temperatur und Luftfeuchtigkeit sehen. (Zur Übung vorerst nur die Temperatur.)

Problem:
Mein sprintf liefert mir 0.0 °C. Jedoch müsste die Syntax korrekt sein? Ich brauche bitte noch einen Tipp für das ReadingsVal. Andere Idee wäre noch, die Temp. und Luftfeuchte jeweils in eigene UserReadings zu schreiben. Jedoch bin ich auch daran kläglich gescheitert.  :-\

Ich hoffe, jemand hat einen passenden Tipp für mich. Danke im Voraus!

VG!

LuckyDay


Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Idefix!

Danke für eure Antworten!

Ich habe grundsätzlich auf MQTT2 umgestellt. Jetzt funktioniert alles wie gewünscht und absolut DAU-sicher.  ;)
Die Meldung wird automatisch getrennt und die Eigenschaften in Readings geschrieben. Perfekt!
Der kleine Aufwand von MQTT auf MQTT2 hat sich sich gelohnt. Es ist nun einfacher zu handhaben.

Hinweis: Wer auch umstellen muss/will, sollte darauf achten, dass der Mosquitto-Dienst auf dem Server deaktiviert wird. Dieser belegt sonst Port 1883.

VG!