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:

  1. gerätespezifische Werte
  2. 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 vorher

Heizungsdarstellung nachher

bildschirmfoto-2016-11-09-um-15-12-37

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.