Berechnung von Sensorwerten in YAML für Home Assistant

Home Assistant 2. Sep. 2025

Berechnung von Sensorwerten in YAML für Home Assistant

Einleitung
In der Welt des Smart Homes ist die Automatisierung und Überwachung von Geräten von zentraler Bedeutung. Home Assistant ermöglicht es Nutzern, verschiedene Sensoren zu integrieren und deren Werte zu verarbeiten. Eine häufige Anforderung ist die Berechnung von Werten aus mehreren Sensoren, um diese in einem neuen Sensor darzustellen. In diesem Artikel wird erläutert, wie man Werte von Sensoren subtrahiert und das Ergebnis in einem neuen Template-Sensor speichert.

Problem
Ein Nutzer möchte von einem Sensorwert (z.B. sensor.l_m_p_gr_testa_leistung) einen anderen Sensorwert (z.B. sensor.stromverbrauch_gesamt) abziehen und das Ergebnis in einem neuen Sensor speichern. Der ursprüngliche Versuch, dies in YAML zu implementieren, wies einige Fehler auf, die behoben werden mussten.

Lösung
Die Lösung besteht darin, die korrekten Funktionen und Syntaxelemente in YAML zu verwenden, um die gewünschten Berechnungen durchzuführen. Der Nutzer hatte in seinem ursprünglichen Code einige Schreibfehler und Syntaxfehler, die behoben werden mussten.

Hier ist die korrigierte Version des Codes:

yaml {{ (float(states('sensor.l_m_p_gr_testa_leistung')) - float(states('sensor.stromverbrauch_gesamt'))) }}txt
Um diesen Ausdruck in einem Template-Sensor zu verwenden, kann der folgende YAML-Code verwendet werden:

yaml template: - sensor: - name: "Leistung - Leistung" unit_of_measurement: "W" state: > {{ (float(states('sensor.l_m_p_gr_testa_leistung')) - float(states('sensor.stromverbrauch_gesamt'))) }}txt
Schritte zur Umsetzung
1. Überprüfe die Namen der Sensoren in deinem Home Assistant, um sicherzustellen, dass sie korrekt sind.
2. Korrigiere die Schreibfehler in den Sensorbezeichnungen (z.B. fload sollte float sein und senor sollte sensor sein).
3. Füge den korrigierten Template-Sensor in deine configuration.yaml oder in die entsprechende YAML-Datei ein.
4. Starte Home Assistant neu, um die Änderungen zu übernehmen.

Hintergrundwissen
- Template-Sensoren: Diese Sensoren ermöglichen es, Werte aus anderen Sensoren zu kombinieren oder zu berechnen. Sie sind besonders nützlich, um benutzerdefinierte Metriken zu erstellen.
- float() Funktion: Diese Funktion konvertiert einen Wert in einen Fließkommawert, was wichtig ist, um mathematische Operationen korrekt durchzuführen.
- states() Funktion: Diese Funktion wird verwendet, um den aktuellen Zustand eines Sensors abzurufen.

Typische Fehler, die vermieden werden sollten:
- Falsche Schreibweise von Sensoren.
- Verwendung von nicht existierenden Funktionen.
- Vergessen, die YAML-Datei nach Änderungen neu zu laden.

Zusätzliche Infos
| Funktion | Erklärung |
|-------------------|------------------------------------------------------------|
| float() | Konvertiert einen Wert in einen Fließkommawert. |
| states() | Ruft den aktuellen Zustand eines Sensors ab. |
| template | Definiert einen neuen Sensor, der auf Berechnungen basiert. |

Hinweise & Best Practices
- Achte auf die korrekte Schreibweise der Sensoren, um Fehler zu vermeiden.
- Teste den Template-Sensor in der Home Assistant Entwicklungsumgebung, bevor du ihn in die Hauptkonfiguration übernimmst.
- Dokumentiere deine Änderungen, um zukünftige Anpassungen zu erleichtern.
- Nutze die Home Assistant Community und Dokumentation für weitere Beispiele und Unterstützung.