Hallo,
ich möchte in stateFormat mehrere Wertet aus den Readings meines Device anzeigen lassen.
Bislang habe ich folgende Syntax:
temperature Eingestellt: desired-temp Battery: battery
das gibt folgende Werte aus
17.0 C (measured) Eingestellt: 16.0 C Battery: 40 %
Wie schaffe ich es, dieses "(measured)" da weg zu bekommen. Sprich das bei temperature eben nur die Zahlen angezeigt werden?
die Ausgabe sollte dann eben
17.0 Eingestellt: 16.0 C Battery: 40%
sein.
Vielen Dank für Eure Hilfe
Hi,
Sowas geht z.B. statt nur temperature
[$name:temperature:d]
ZitatstateFormat
Ändert den Gerätestatus, dies ist z.Bsp. in der Ausgabe des list Kommandos zu sehen, oder in der Raumübersicht von FHEMWEB. Falls nicht gesetzt, dann wird das state Reading übernommen. Sonst werden alle Wörter im Wert des Attributes durch das entsprechende Reading des Gerätes ersetzt (soweit vorhanden). Falls der Wert in {} eingeschlossen ist, dann wird es als Perl Ausdruck ausgewertet. Die Auswertung passiert bei jeder Änderung eines Readings.
Die hier beschriebene "set magic" wird auch angewendet.
Hinweis: Manche Module aktualisieren STATE ganz oder teilweise direkt. In diesen Fällen kann es zu abweichenden Anzeigen kommen.
Gruß Otto
Danke.
hat geklappt.
das StateFormat sieht jetzt so aus
attr hz_Ankleide stateFormat Ist: [hz_Ankleide:temperature:d]C Soll: [hz_Ankleide:desired-temp:d]C Bat:[hz_Ankleide:battery:d]% Boost:[hz_Ankleide:boostactive]
Ergibt die Ausgabe
Ist: 16.5C Soll: 7.5C Bat:40% Boost:no
Super. So soll es sein. Danke!
mit $name funktioniert das bei Dir nicht? ??? Ich hatte das eigentlich getestet.
Hat den Vorteil, dass das Attribute universell ist und direkt kopiert werden kann. bzw. könnte man es auf mehrere Geräte gleichzeitig setzen:
attr hz_.* stateFormat Ist: [$name:temperature:d]C Soll: [$name:desired-temp:d]C Bat:[$name:battery:d]% Boost:[$name:boostactive]
Hallo $name war nur als "dummy" Name gesetzt. Muss natürlich das richtige Device sein
Also so zb:
attr hz_Ankleide stateFormat t Ist: [hz_Ankleide:temperature:d]C Soll: [hz_Ankleide:desired-temp:d]C Bat:[hz_Ankleide:battery:d]% Boost:[hz_Ankleide:boostactive]
nein - wir reden aneinander vorbei?: $name wird auch im Attribute stateFormat vom Device aufgelöst! Also im Device hz_Ankleide wird $name in hz_Ankleide aufgelöst - glaubs mir und versuch es einfach ;)