Die Anzeige von individuellen Status einzelner Aktoren oder Sensoren ist oft hilfreich und sinnvoll. Wie das geht, möchte ich in diesem Beitrag erklären.
Generell würde ich stateFormat vereinfacht in zwei Varianten unterscheiden:
- gerätespezifische Werte
- geräteübergreifende Werte
Was heißt das genau?
Bei den gerätespezifischen Werten sieht die Syntax wie folgt aus:
attr EG_Wohnzimmer_Sensor_HKThermostat_01_WindowRec stateFormat last:trigLast
oder
attr EG_Wohnzimmer_Sensor_HKThermostat_01_Clima stateFormat T: measured-temp°C D: desired-temp°C V: ValvePosition%
Bei den geräteübergreifenden Werten werden die einzelnen Werte per ReadingsVal() erzeugt:
attr EG_Wohnzimmer_Sensor_Thermostat_Climate stateFormat {"T: " . ReadingsVal($name,"measured-temp",0) . "°C / D: " . ReadingsVal($name,"desired-temp",0) . "°C / H: " . ReadingsVal($name,"humidity",0) . "% / V: " . ReadingsVal("EG_Wohnzimmer_Sensor_HKThermostat_01_Clima","ValvePosition",0) . "%" }
Letzteres wird leider sehr unübersichtlich, da Text und Werte (ReadingsVal()) entsprechend in dem String über den „.“ (Punkt) zusammengesetzt werden.
Was passiert hier genau?
Ich gebe die Werte measured-temp, desired-temp und humidity vom aktuellen Gerät $name – in meinem Fall ist es ein Homematic Wandthermostat – aus. Zusätzlich lasse ich mir noch die ValvePosition vom Homematic Stellantrieb EG_Wohnzimmer_Sensor_HKThermostat_01_Clima ausgeben.
Mehr Übersichtlichkeit durch stateFormat
In dem folgenden Beispiel möchte ich zeigen, wie ich für mehr Übersichtlichkeit gesorgt habe.
Heizungsdarstellung vorher
Heizungsdarstellung nachher
Die Anzeige ist noch nicht optimal, da man die einzelnen Werte nicht gut erfassen kann, aber durch die einzeilige Anzeige spart man enorm viel Platz.
Sehr gut erklärt. Auf den ersten Blick verstanden… Link kommt in meine Knowledgebase 🙂 Danke!
Hi Rudi,
Danke, das freut mich zu hören.
Viele Grüße
Dennis