Home Assistant RESTful Sensor einrichten & Template Fehler beheben – Schritt für Schritt Tutorial
Lerne, wie du einen RESTful Sensor in Home Assistant einrichtest, Daten von externen APIs abrufst und mit Template-Sensoren weiterverarbeitest. Inklusive Fehlerbehebung bei Template-Problemen – ein...
RESTful Sensor in Home Assistant: Was macht das Snippet?
Mit einem RESTful Sensor in Home Assistant kannst du Daten von externen APIs abrufen und als Sensoren in deinem Smart Home nutzen. Das gezeigte Snippet richtet einen REST-Sensor ein, der Informationen von einer Beispiel-API abruft. Die Daten werden dann mithilfe von Template-Sensoren aufbereitet und als eigene Sensoren angezeigt. Das ist besonders praktisch, wenn du externe Informationen (wie Wetterdaten, Social Media-Statistiken oder beliebige API-Daten) in Home Assistant visualisieren oder für Automatisierungen nutzen möchtest.
RESTful Sensor und Template-Sensor: Schritt für Schritt erklärt
Im ersten Schritt wird ein REST-Sensor konfiguriert. Dieser fragt regelmäßig eine API ab (hier: https://dummyjson.com/posts) und speichert ausgewählte Attribute aus der Antwort als Sensor-Attribute. Im Beispiel werden der Titel, der Text, die Anzahl der Views und Reaktionen des ersten Beitrags extrahiert. Das Hauptattribut des Sensors ist der Titel des Beitrags.
Im zweiten Schritt werden Template-Sensoren definiert. Sie greifen auf die Attribute des REST-Sensors zu und stellen sie als eigene Sensoren bereit. So kannst du zum Beispiel den Beitragstext, die Views oder Likes separat anzeigen und für Automatisierungen verwenden.
configuration.yaml
REST Sensor for Post Details
1sensor:
2 - platform: rest
3 resource: "https://dummyjson.com/posts" # Enter the URL of the API here
4 name: "Post Details"
5 json_attributes_path: "$.posts" # Address the first post
6 json_attributes:
7 - title
8 - body
9 - views
10 value_template: "{{ value_json }}" # Use the title as the main value
11 scan_interval: 300 # Interval for updating in seconds
12
13 - platform: template
14 sensors:
15 post_body:
16 friendly_name: "Post Body"
17 value_template: "{{ state_attr('sensor.post_details', 'body') }}"
18
19 post_views:
20 friendly_name: "Post Views"
21 value_template: "{{ state_attr('sensor.post_details', 'views') }}"Mit dieser Konfiguration erhältst du einen Sensor sensor.post_details mit Attributen und zwei weitere Sensoren für Body und Views. Das ist sinnvoll, wenn du die Daten gezielt in Dashboards oder Automatisierungen verwenden möchtest.
RESTful Sensor und Template-Sensor in sensor.yaml auslagern
Für eine übersichtliche Konfiguration empfiehlt es sich, die Sensoren in eine eigene sensor.yaml auszulagern. Das erleichtert die Wartung und hält die configuration.yaml schlank.
So gehst du vor:
- Sensor.yaml anlegen oder bearbeiten: Trage den REST-Sensor und die Template-Sensoren in deine
sensor.yamlein.- REST-Sensor konfigurieren: Passe die API-URL im Feld
resourcean deine Anwendung an. Die Attributetitle,body,viewsundreactionswerden aus dem ersten Beitrag der API-Antwort extrahiert. - Template-Sensoren einrichten: Diese Sensoren lesen gezielt Werte aus den Attributen des REST-Sensors aus und stellen sie als eigene Entitäten bereit.
- Sensor.yaml in configuration.yaml einbinden: Füge folgenden Eintrag in deine
configuration.yamlein, damit Home Assistant die Sensoren lädt:
- REST-Sensor konfigurieren: Passe die API-URL im Feld
configuration.yaml
sensor: !include sensor.yamlSpeichere die Änderungen und starte Home Assistant neu, damit die neuen Sensoren aktiv werden.
sensor.yaml
REST sensor for post details
Template sensors for body and views
1- platform: rest
2 resource: "https://dummyjson.com/posts" # Enter the API URL here
3 name: "Post Details"
4 json_attributes_path: "$.posts" # Address the first post
5 json_attributes:
6 - title
7 - body
8 - views
9 - reactions
10 value_template: "{{ value_json }}" # Use the title as the main value
11 scan_interval: 300 # Interval for updating in seconds
12
13- platform: template
14 sensors:
15 post_title:
16 friendly_name: "Post Title"
17 value_template: "{{ state_attr('sensor.post_details', 'title') }}"
18
19 post_views:
20 friendly_name: "Post Views"
21 value_template: "{{ state_attr('sensor.post_details', 'views') }}"
22
23 post_likes:
24 friendly_name: "Post Likes"
25 value_template: "{{ state_attr('sensor.post_details', 'reactions') }}"Mit dieser Struktur kannst du beliebige API-Daten als Sensoren in Home Assistant nutzen und flexibel weiterverarbeiten. Achte darauf, die API-URL und die gewünschten Attribute an deine eigenen Anforderungen anzupassen.
Hier wird im Video erklärt, wie die Umsetzung von „Home Assistant RESTful Sensor einrichten & Template Fehler beheben – Schritt für Schritt Tutorial“ konkret aussieht.
