Zigbee Steckdose an Zendure Hyper 2000: Verbrauchswerte korrekt anzeigen
Einleitung
Die Integration von Smart-Home-Geräten in Systeme wie Home Assistant ermöglicht eine umfassende Überwachung und Steuerung. In diesem Artikel wird erläutert, wie man den Energieverbrauch einer Zigbee-Steckdose, die an einen Zendure Hyper 2000 Speicher angeschlossen ist, korrekt anzeigt. Dies ist besonders relevant für Nutzer, die zwischen Lade- und Entladezuständen unterscheiden möchten.
Problem
Ein Nutzer möchte die Verbrauchswerte seiner Zigbee-Steckdose in Home Assistant anzeigen, hat jedoch Schwierigkeiten, negative Werte für den Ladevorgang zu erhalten. Der Nutzer erhält immer positive Werte, selbst wenn der Speicher geladen wird. Es wird eine Lösung gesucht, um die Werte entsprechend den Betriebszuständen des Speichers anzupassen.
Lösung
Um die Verbrauchswerte korrekt darzustellen, muss eine Template-Sensor-Konfiguration in Home Assistant erstellt werden. Der Sensor „sensor.solarflow_pack_state“ gibt den aktuellen Zustand des Speichers an: 1 für Laden, 0 für Standby und 2 für Entladen. Die Herausforderung besteht darin, den Wert der Zigbee-Steckdose abhängig von diesem Zustand zu multiplizieren.
Hier ist die angepasste Konfiguration für den Sensor:
sensor:
- name: "Hyper 2000 laden entladen AC"
unique_id: "Hyper 2000 laden entladen AC"
state_class: measurement
unit_of_measurement: W
state: >
{% if states('sensor.solarflow_pack_state') | float(0) == 1 %}
{{ states('sensor.zigbee_hyper_leistung') | float(0) * -1 }}
{% else %}
{{ states('sensor.zigbee_hyper_leistung') }}
{% endif %}
In dieser Konfiguration wird der Zustand des Speichers überprüft. Wenn der Zustand 1 (Laden) ist, wird der Wert der Zigbee-Steckdose mit -1 multipliziert, um einen negativen Wert anzuzeigen. In allen anderen Fällen wird der Wert unverändert ausgegeben.
Schritte zur Umsetzung
1. Öffne die Konfigurationsdatei configuration.yaml
in Home Assistant.
2. Füge den oben genannten Codeblock unter dem Abschnitt sensor:
hinzu.
3. Speichere die Datei und starte Home Assistant neu, um die Änderungen zu übernehmen.
4. Überprüfe die Anzeige des neuen Sensors in der Benutzeroberfläche von Home Assistant.
Hintergrundwissen
Home Assistant verwendet Jinja2-Templates zur dynamischen Erstellung von Sensorwerten. Die Funktion states()
wird verwendet, um den aktuellen Zustand eines Sensors abzurufen. Die Filter float(0)
stellen sicher, dass der Wert als Fließkommazahl interpretiert wird, was wichtig für mathematische Operationen ist.
Typische Fehler, die bei der Verwendung von Templates auftreten können, sind:
- Falsche Typumwandlungen (z.B. String statt Float)
- Syntaxfehler in der Template-Syntax
- Unzureichende Überprüfung des Sensorstatus
Zusätzliche Infos
Funktion | Erklärung | |
---|---|---|
`states('sensor.solarflow_pack_state')` | Ruft den aktuellen Zustand des Speichers ab. | |
` | float(0)` | Wandelt den Wert in eine Fließkommazahl um, Standardwert ist 0. |
` | * -1` | Multipliziert den Wert mit -1, um negative Werte zu erzeugen. |
Hinweise & Best Practices
- Teste die Konfiguration in einer sicheren Umgebung, bevor du sie in einem produktiven System anwendest.
- Verwende die Home Assistant Developer Tools, um die Sensorwerte in Echtzeit zu überprüfen.
- Halte die Home Assistant-Dokumentation zur Template-Syntax bereit, um bei Bedarf nachzuschlagen.
- Achte darauf, dass alle Sensoren korrekt benannt und in der Konfiguration referenziert werden, um Verwirrung zu vermeiden.