Trend der Temperatur in Home Assistant darstellen

Ich wollte mein Dashboard mal wieder etwas aufpeppen und habe nach einer Möglichkeit gesucht den Trend der Temperatur abzubilden. Mein Ziel war es also leicht zu sehen, ob die Temperatur fällt oder steigt. Gerade im Sommer ist das eine interessante Information. Ich hatte ja bereits nützliches für das Wetterdashboard vorgestellt, dieses also als kleine AddOn.

Der Weg dahin ist mit etwas Aufwand verbunden und wir benötigen dazu insgesamt drei weitere Helfer und mindestens eine Erweiterung.

Helfer erstellen

Home Assistant bietet bereits einen Helfer Trend an, dieser kann aber nur steigen oder fallen. Gleichbleibende Werte kann er nicht signalisieren. Diese Einschränkung umgehen wir, indem wir jeweils einen eigenen Helfer für den steigenden und fallenden Wert erzeugen und über einen Template Helfer dann die drei Zustände ausgeben.

Geht nun zu Einstellungen -> Helfer -> Helfer erstellen und wählt dort als Typ Trend. Vergebt einen Namen und wählt die entsprechende Quelle der Temperatur aus. Damit ist der Helfer zwar erstellt, muss aber noch konfiguriert werden. Wählt nun den Helfer aus, wechselt in seine Einstellungen (Zahnrad-Symbol) und wählt die Einstellung „Optionen für Trend“ aus. Hier kann nun der Trend-Helfer angepasst werden. Ihr müsst nun anpassen wie viele Proben wie lange gespeichert werden sollen und wie viele ihr benötigt. Der wichtigste Wert ist die Mindestrate für die Wertänderung. Der Wert wird in Sensoreinheiten pro Sekunde angegeben. Wenn ihr also eine Änderung von 0,5°C pro Stunde erfassen wollt, dann rechnet ihr 0,5 / 3600 und erhaltet somit 0,00013889. Der Helfer für steigende Werte erhält einen positiven Wert und der fallende Helfer einen negativen Wert. Damit haben wir zwei Helfer erstellt, welche auf eine steigende oder sinkende Temperatur reagieren. Um den passende Gradienten zu finden, müsst ihr etwas rumprobieren. Nützlich sind dabei die Zustände in den Entwicklerwerkzeugen, den hier bekommt ihr den aktuell errechneten Gradienten und euren vorgegebenen Gradienten angezeigt. Ihr findet die Daten unter Einstellungen -> Entwicklerwerkzeuge -> Zustände, dort könnt ihr dann nach der Entität filtern.

Nun benötigen wir noch einen Template-Helfer, welcher uns die drei möglichen Zustände ausgibt. Geht nun zu Einstellungen -> Helfer -> Helfer erstellen und wählt dort als Typ Template und anschließend Sensor. Als Template könnt ihr nachfolgendes verwenden, müsst dieses aber natürlich an eure Sensoren anpassen. Je nach Zustand der Trend-Helfer, wird nun Steigend, Fallend oder Gleichbleibend ausgegeben.

{% if is_state('binary_sensor.EuertTempSensor_steigend','on') %}
  Steigend
{% elif is_state('binary_sensor.EuertTempSensor_fallend','on') %}
  Fallend
{% else %}
  Gleichbleibend
{% endif %}
YAML

Trend im Dashboard visualisieren

Zur Darstellung nutze ich die Button-Card, das ist hier aber nicht wichtig. Damit das Symbol angepasst werden kann und auch die Farbe, benötigen wir card-mod. card-mod erlaubt es css Styles zu verwenden und bietet uns die Möglichkeit das Logo in der Art und Farbe anzupassen. Wichtig ist dabei der Abschnitt card_mod. Das Icon und die Farbabstufung könnt ihr natürlich an eure Vorlieben anpassen.

type: custom:button-card
entity: sensor.EuertTempSensor
tap_action:
  action: more-info
hold_action:
  action: none
size: 50px
show_name: false
show_state: true
card_mod:
  style: >
    :host {
      --card-mod-icon:
    {% if 'Steigend' in states('sensor.EuerTempSensor_trend') %}

    mdi:thermometer-chevron-up

    {% elif 'Fallend' in states('sensor.EuerTempSensor_trend') %}

    mdi:thermometer-chevron-down

    {% else %}

    mdi:thermometer-lines

    {% endif %}; 
    {% if states('sensor.EuertTempSensor') | round(1) >=30 %} --card-mod-icon-color: purple;
    {% elif states('sensor.EuertTempSensor') | round(1) >= 28 %} --card-mod-icon-color: red;
    {% elif states('sensor.EuertTempSensor') | round(1) >= 26 %} --card-mod-icon-color: darkorange;
    {% elif states('sensor.EuertTempSensor') | round(1) >= 24 %} --card-mod-icon-color: orange;
    {% elif states('sensor.EuertTempSensor') | round(1) >= 22 %} --card-mod-icon-color: gold;
    {% elif states('sensor.EuertTempSensor') | round(1) < 20 %} --card-mod-icon-color: blue;
    {% else %} --card-mod-icon-color: green;
    {% endif %}

    }
YAML

Das Thema ist zwar mit etwas Aufwand verbunden, liefert aber eine Bereicherung für euer Dashboard. Insgesamt benötigt ihr drei neue Helfer um den Trend darstellen zu können und ihr müsst euer Dashboard anpassen, eine Mühe, die sich jedoch lohnt.

Teile diesen Beitrag

Schreibe einen Kommentar