Zum Inhalt

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
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

If State
($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)

Node Red - Attribut Temperatur wird für die Automatisierung verwendet.


Automatisierung & Szenen

Verwendet man die Automatisierung & Szenen-Funktion direkt, stehen die Attribute ohne Umweg zur Verfügung.

Home Assistant - Einstellungen - Automatisierung & Szenen

Legt man eine neue Automatisierung an, kann man die Attribute aus der Dropdown-Liste auswählen.

Eine Automatisierung wird mit der Entität "wetter-heute" erstellt und die Attribute werden im Dropdown angezeigt.


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.

Donation via PayPal • Donation via LiberaPay

Donation via Bitcoin
Bitcoin Address:

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier