Verwendung von Template Sensoren in Home Assistant zur Lichtsteuerung

Home Assistant 2. Sep. 2025

Einleitung
Die Automatisierung von Smart-Home-Systemen erfordert oft die Integration von verschiedenen Sensoren und deren Daten. In diesem Artikel wird erläutert, wie man mithilfe von Template Sensoren in Home Assistant eine dynamische Lichtsteuerung basierend auf dem Sonnenazimut implementiert. Dies ist besonders relevant für Nutzer, die ihre Beschattungssysteme optimieren möchten.

Problem
Ein Nutzer hat Schwierigkeiten, einen Template Sensor in Home Assistant korrekt zu konfigurieren, um die Beleuchtungswerte von zwei Lichtmessern abhängig vom Sonnenazimut auszulesen. Der aktuelle Code liefert immer den Wert des Sensors „Süd“, unabhängig von der tatsächlichen Position des Sonnenazimuts.

Lösung
Die Lösung besteht darin, den Code so zu modifizieren, dass der Sonnenazimut korrekt als numerischer Wert interpretiert wird. Der ursprüngliche Code hatte einen Fehler in der Syntax, der dazu führte, dass die Bedingung nicht wie gewünscht ausgewertet wurde. Der folgende Code verwendet die set-Anweisung, um den Wert des Sonnenazimuts zu speichern und dann die Bedingung korrekt zu überprüfen:

{% set azimuth = states("sensor.sun_solar_azimuth") | float(0) %}
{% if azimuth < 240 %}
  {{ states("sensor.ts_light_sued_beleuchtungsstarke") | float(0) }}
{% else %}
  {{ states("sensor.ts_light_nord_beleuchtungsstarke") | float(0) }}
{% endif %}

In diesem Code wird der Wert des Sonnenazimuts in der Variablen azimuth gespeichert. Anschließend wird überprüft, ob dieser Wert kleiner als 240 ist. Je nach Ergebnis wird der entsprechende Beleuchtungswert des Sensors „Süd“ oder „Nord“ zurückgegeben.

Schritte zur Umsetzung
1. Öffne die Konfigurationsdatei für deine Home Assistant-Installation.
2. Füge den oben genannten Template Sensor Code in den entsprechenden Abschnitt ein.
3. Speichere die Änderungen und starte Home Assistant neu, um die Konfiguration zu übernehmen.
4. Überprüfe die Werte der Sensoren im Frontend von Home Assistant, um sicherzustellen, dass die Lichtwerte korrekt ausgegeben werden.

Hintergrundwissen
Template Sensoren in Home Assistant ermöglichen es, komplexe Logik und Berechnungen durchzuführen, indem sie Jinja2-Templates verwenden. Diese Templates können auf verschiedene Sensorwerte zugreifen und diese verarbeiten. Ein häufiger Fehler ist die falsche Handhabung von Datentypen, insbesondere wenn Werte als Strings anstelle von numerischen Werten interpretiert werden. Die Verwendung von float(0) stellt sicher, dass der Wert als Zahl behandelt wird, was für mathematische Vergleiche notwendig ist.

Zusätzliche Infos

FunktionErklärung
`states("sensor.sun_solar_azimuth")`Liest den aktuellen Wert des Sonnenazimuts aus.
`float(0)`Wandelt den Wert in eine Fließkommazahl um, um sicherzustellen, dass er numerisch ist.
`{% set variable = value %}`Speichert einen Wert in einer Variablen für die spätere Verwendung.
`{% if condition %}`Beginnt eine Bedingungsprüfung.
`{% else %}`Definiert den alternativen Fall, wenn die Bedingung nicht erfüllt ist.

Hinweise & Best Practices
- Achte darauf, dass die Sensoren korrekt konfiguriert und aktiv sind, bevor du den Template Sensor verwendest.
- Teste den Template Sensor in der Entwicklungsumgebung von Home Assistant, um sicherzustellen, dass die Logik wie gewünscht funktioniert.
- Dokumentiere deine Änderungen, um zukünftige Anpassungen zu erleichtern.
- Berücksichtige alternative Ansätze, wie die Verwendung von Automatisierungen oder Skripten, wenn die Logik komplexer wird.