FHEM Forum

FHEM - Hausautomations-Systeme => ZWave => Thema gestartet von: tomspatz am 05 Januar 2016, 21:29:30

Titel: [gelöst] Fibaro Door/Window Sensor FGK-101 Temperatur Ausgabe
Beitrag von: tomspatz am 05 Januar 2016, 21:29:30
Hoffe das es nicht nur bei mir so ist, aber der Sensor zeigt mir die gemessene Temperatur nur in seinen Readings an.
OK das kriegt man gewuppt mit stateFormat temperature und schon wird diese anstatt der drei Fragezeichen im STATE angezeigt.
ABER im Format 16.18 C (ja es ist kalt).
Könnte das jemand bestätigen. Habe erst nur einen davon hier.
Kann man die Ausgabe des STATE noch beeinflussen? ggf. ohne die Nachkomma Stelle und °C statt nur C.

Schönen Abend
Tom
Titel: Antw:Fibaro Door/Window Sensor FGK-101 Temperatur Ausgabe
Beitrag von: krikan am 05 Januar 2016, 21:47:23
stateFormat kann auch Perl-Ausudrücke auswerten {}. Wenn Du dann sprintf nutzt, ist das Gewünschte kein Problem.
Durchsuche mal die commandref oder Forum nach stateFormat und sprintf. Dort findest Du diverse Beispiele; das ist nämlich nicht ZWave-bezogen.
Titel: Antw:Fibaro Door/Window Sensor FGK-101 Temperatur Ausgabe
Beitrag von: tomspatz am 06 Januar 2016, 18:15:16
Danke für den Ansatz.
Für andere Suchende meine Lösung:

attr TemperaturFuehlerBuero stateFormat {sprintf(" %.1f °C",(ReadingsVal("TemperaturFuehlerBuero","temperature",0)))}

Das " %.1f °C" ist der String der nach dem Wert geschrieben wird. Die Zahl steht für die Stellen nach dem Komma, der Rest ist offensichtlich.
Danach kommt das Reading und zwar mit der Angabe WOHER (das war mein Fehler, auch wenn das das attribut des devices ist welches man gerade bearbeitet, muss es dort stehen).
Die Null am Ende???? das mag vielleicht ein anderer erklären, SORRY :-[.
Ansonsten nochmals alle offenen Klammern auch schliessen.

Schönen Abend

Tom
Titel: Antw:[gelöst] Fibaro Door/Window Sensor FGK-101 Temperatur Ausgabe
Beitrag von: krikan am 06 Januar 2016, 18:55:22
Hallo Tom!

Erläuterung zu ReadingsVal stehen in commandref unter "Perl specials" http://fhem.de/commandref#perl.
Der letzte Parameter (hier:0) am Ende ist der <defaultValue>. Wenn es Probleme beim Auslesen des ReadingsVal gibt, hast Du 0. Persönlich würde ich immer etwas außerhalb der realistischen Werte (hier bspw. 99) nehmen. Aber das ist Geschmacksfrage und vielleicht passt bei Dir 0 wegen Innensensor schon.
Außerdem bevorzuge ich generell ReadingsNum, wenn ich nur den numerischen Teil eines Readings benötige; das vermeidet die Gefahr unnötiger PERL WARNINGS im Log.

Gruß, Christian