Hallo @Andreas gehen wir es mal Schritt für schritt durch.
Dein Sensor für die Windrichtung lautet:
richtig.
Ich würde immer erst empfehlen, Templates Die Du in Automatisierungen /Skripten yaml-Dateien verwenden tust, im Template Editor zu testen.
Den Template Editor findest Du unter Entwicklungswerkzeuge -> Reiter Template
gebe dort erstmal diesen Inhalt ein:
Das Ergebnis, dass Du im Browser auf der rechten Seite sehen solltest, ist die Windrichtung in Grad. Also der aktuelle Wert des Sensor "sensor.wind_direction"
Wenn das funktioniert hat, ist der verwendete Sensor existent und gibt einen gültigen Wert zurück.
Jetzt fügst Du das Template ein, welches die Umwandlung zu Himmelsrichtung erledigt.
Code: Alles auswählen
{% set direction = ['N','NNO','NO','ONO','O','OSO','SO','SSO','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}
{% set degree = states('sensor.wind_direction')|float %}
{{ direction[((degree+11.25)/22.5)|int] }}
Jetzt sollte die Himmelsrichtung als Ergebnis angezeigt werden, z.B. SSW
Wenn das auch funktioniert hat, ist Dein Template ohne Fehler und kann für Dein Template Sensor verwendet werden.
Zwecks der Übersichtlichkeit habe ich meine Konfiguration aufgeteilt und Erstelle meine Sensoren nicht direkt in der configuration.yaml.
Für die Template Integration bedeutet das, dass Du in der configuration.yaml folgende Zeile benötigst.
Jetzt erstellt Du Dir im gleichen Verzeichnis, wo auch die configuration.yaml liegt einen neue Datei "template.yaml"
Wichtig ist dass ab sofort alle template Sensoren nur noch in der template.yaml angelegt werden dürfen.
Hast Du bereits die Zeile:
in Denier configuration.yaml, und bereits template Sensoren angelegt, müssen diese in die template.yaml umziehen.
Oder Du verzichtest auf die Aufteilung der Konfiguration und fügst auch zukünftig Deine template Sensoren in der configuration.yaml ein.
Damit die Änderungen wirksam werden, muss Home Assistent neu gestartet werden.
Du solltest Dir aber unbedingt angewöhnen, nach jeder Änderung in den Yaml-Dateien zuvor die Konfiguration zu prüfen, bevor Du Home Assistent Neustarten tust oder die Konfiguration neu laden tust.
Das tust Du ebenfalls unter Entwicklungswerkzeuge Reiter YAML und auf KONFIGURATION PRÜFEN klicken.
Sollten dabei Fehler Aufgezeigt werden, musst Du erstmal diese beseitigen, in dem Du die Änderungen nochmal prüfen und korrigieren tust.
War die Prüfung Erfolgreich, kannst Du HA neu Starten
Wenn Du Deine Konfiguration bereits aufgeteilt hast, kannst Du diese Schritte überspringen.
Jetzt kannst Du den Sensor in der template.yaml erstellen. Achte penibel auf die Einrückungen, ist eine Leerzeile zu wenig oder zu viel, führt das zwangsläufig zu Fehlern.
Code: Alles auswählen
- sensor:
- name: "Windrichtung"
state: >
{% set direction = ['N','NNO','NO','ONO','O','OSO','SO','SSO','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}
{% set degree = states('sensor.wind_direction')|float %}
{{ direction[((degree+11.25)/22.5)|int] }}
icon: mdi:windsock
unique_id: windrichtung
Nach dem Du die Änderungen gespeichert hast, muss die Template Konfiguration neu geladen werden, bevor die Änderung wirksam werden und der neue Sensor erstellt wird.
Doch zuvor Prüfen wir die Konfiguration, wie oben bereits beschrieben.
Wenn keinen Fehler Angezeigt werden, kannst Du jetzt die Konfiguration neu laden.
Entwicklungswerkzeuge Reiter YAML, nach unten scrollen und auf TEMPLATE-ENTITÄTEN klicken.
Jetzt sollte der neue Sensor "sensor.windrichtung" zur Verfügung stehen.
Ob der Sensor existent ist und welchen Wert er liefert, kannst Du unter Entwicklungswerkzeuge Reiter ZUSTÄNDE prüfen.
Einfach unter Entität
sensor.windrichtung
Eintippen.
Hoffe das war einigermaßen verständlich und Du jetzt einen Neuen Sensor hast, der Dir die Himmelsrichtung des Windes anzeigt.
Gruß
Osorkon