Node Red - Attribute aus Home Assistant für die Automatisierung verwenden
Attribute von Sensoren aus Home Assistant lassen sich in Node Red für die Automatisierung verwenden. Dafür ist ein kleiner Umweg über JSON notwendig.
In Home Assistant wurde ein Template angelegt, um Wetterdaten in regelmäßigen Abständen abzufragen. Es gibt einen Sensor, dem die Wetterwerte als Attribute zugeordnet sind.
Es sind die Attribute definiert.1
- condition
- cloud_coverage
- temperature
- precipitation_probability
- precipitation
- pressure
- uv_index
- datetime
Das Template wird direkt in die Konfigurationsdatei ~/homeassistant/configuration.yml von Home Assistant eingetragen.1 2
template:
# Tägliche Wettervorhersagen - mein-ort
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
target:
entity_id:
- weather.mein-ort
data:
type: daily
response_variable: wetterheute
sensor:
- name: Wetter - heute
unique_id: weather-forecast-today
state: "{{ now().isoformat() }}"
icon: mdi:hours-24
attributes:
condition: "{{ wetterheute['weather.mein-ort'].forecast[0].condition }}"
cloud_coverage: "{{ wetterheute['weather.mein-ort'].forecast[0].cloud_coverage }}"
temperature: "{{ wetterheute['weather.mein-ort'].forecast[0].temperature }}"
precipitation_probability: "{{ wetterheute['weather.mein-ort'].forecast[0].precipitation_probability }}"
precipitation: "{{ wetterheute['weather.mein-ort'].forecast[0].precipitation }}"
pressure: "{{ wetterheute['weather.mein-ort'].forecast[0].pressure }}"
uv_index: "{{ wetterheute['weather.mein-ort'].forecast[0].uv_index }}"
datetime: "{{ wetterheute['weather.mein-ort'].forecast[0].datetime }}"
# Wettervorhersage - MORGEN - mein-ort
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
target:
entity_id:
- weather.mein-ort
data:
type: daily
response_variable: wettermorgen
sensor:
- name: Wetter - Morgen
unique_id: weather-forecast-tomorrow
state: "{{ now().isoformat() }}"
icon: mdi:hours-24
attributes:
condition: "{{ wettermorgen['weather.mein-ort'].forecast[1].condition }}"
cloud_coverage: "{{ wettermorgen['weather.mein-ort'].forecast[1].cloud_coverage }}"
temperature: "{{ wettermorgen['weather.mein-ort'].forecast[1].temperature }}"
precipitation_probability: "{{ wettermorgen['weather.mein-ort'].forecast[1].precipitation_probability }}"
precipitation: "{{ wettermorgen['weather.mein-ort'].forecast[1].precipitation }}"
pressure: "{{ wettermorgen['weather.mein-ort'].forecast[1].pressure }}"
uv_index: "{{ wettermorgen['weather.mein-ort'].forecast[1].uv_index }}"
datetime: "{{ wettermorgen['weather.mein-ort'].forecast[1].datetime }}"
Node Red
In Node Red lassen sich die Attribute über einen JSON-Umweg verwenden.3
Für die Automatisierung können diese Attribute in Node Rede verwendet werden. Im Beispiel wird temperature und precipitation verwendet.
Für die Temperatur wird die Bedingung direkt mit JSON in die Zelle If State geschrieben
($entity().attributes.temperature > 10)
Die Zeile definiert eine einfache Bedingung:
- ist die Temperatur größer als 10, wird der Wert als Payload weitergegeben
- ist die Temperatur kleiner als 10, wird die Nachricht verworfen.
Damit der richtige Wert, also der des Attributes temperature, als Payload weitergegeben wird, wird diese direkt mit JSON hinterlegt.
($entity().attributes.temperature)
Automatisierung & Szenen
Verwendet man die Automatisierung & Szenen-Funktion direkt, stehen die Attribute ohne Umweg zur Verfügung.
Legt man eine neue Automatisierung an, kann man die Attribute aus der Dropdown-Liste auswählen.
Gib mir gerne einen Kaffee ☕ aus 😀
Gib mir gerne einen Kaffee ☕ aus !
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier
Follow Me




