Externe Daten im Home Assistant Dashboard – REST API einfach erklärt
Lerne, wie du externe Datenquellen per REST-API in Home Assistant einbindest. Schritt-für-Schritt-Anleitung am Beispiel eines zufälligen Dad Jokes von icanhazdadjoke.com. Inklusive JSON-Verarbeitun...
REST-Daten im Home Assistant Dashboard anzeigen
Mit Home Assistant kannst du externe Datenquellen über REST-APIs einbinden und die Ergebnisse direkt im Dashboard darstellen. Das ist besonders praktisch, wenn du Informationen aus dem Internet oder von eigenen Diensten nutzen möchtest. In diesem Beispiel wird gezeigt, wie du einen zufälligen Dad Joke von icanhazdadjoke.com abrufst, als Sensor speicherst und im Dashboard anzeigst.
Anwendungsfall: Zufälligen Dad Joke anzeigen
Du möchtest regelmäßig einen neuen Witz aus dem Internet abrufen und auf deinem Home Assistant Dashboard anzeigen. Das ist ein einfaches, aber anschauliches Beispiel, um REST-API-Aufrufe, das Extrahieren von JSON-Daten mit Jinja und die Visualisierung im Dashboard zu verstehen.
REST-API-Aufrufe und JSON-Verarbeitung mit Jinja
Home Assistant nutzt Jinja-Templates, um aus der JSON-Antwort der API gezielt Felder zu extrahieren. Das ist nötig, weil viele APIs komplexe Datenstrukturen zurückliefern. Im Template kannst du auf die Felder wie auf ein Dictionary zugreifen:
{{ value_json.feldname }}
Oder, wenn der Schlüssel einfach ist:
{{ value_json }}
Beispiel für ein JSON-Objekt:
{
"name": "Max",
"alter": 28
}Im Jinja-Template:
Name: {{ value_json.name }}
Alter: {{ value_json }}Weitere Informationen findest du in der Jinja Variablen-Dokumentation und bei den Ansible JSON-Filtern.
REST-Sensor in Home Assistant definieren
Um die Daten von der API zu holen, legst du einen REST-Sensor in deiner configuration.yaml an. Dieser Sensor ruft die API regelmäßig ab und speichert das gewünschte Feld als Sensorwert.
1rest:
2 - resource: https://icanhazdadjoke.com/
3 headers:
4 Accept: application/json
5 User-Agent: Home Assistant (https://github.com/home-assistant/core)
6 scan_interval: 43200 # alle 12 Stunden (anpassbar)
7 sensor:
8 - name: "Joke of the Day"
9 value_template: "{{ value_json.joke }}"Die wichtigsten Punkte:
- resource: Die URL der API
- headers: Notwendig, damit die API eine JSON-Antwort liefert
- scan_interval: Gibt an, wie oft der Sensor aktualisiert wird (hier: alle 12 Stunden)
- value_template: Extrahiert das Feld
jokeaus dem JSON
Die API liefert zum Beispiel folgende Antwort:
{
"id": "123",
"joke": "Irgendein lustiger Spruch",
"status": 200
}Sensor gezielt aktualisieren: Automatisierung
Falls du möchtest, dass der Witz zu einer festen Uhrzeit (z.B. morgens um 7 Uhr) aktualisiert wird, kannst du eine Automatisierung anlegen. Damit wird der Sensor unabhängig vom scan_interval aktualisiert.
1automation:
2 - alias: "Update Dad Joke Daily"
3 trigger:
4 - platform: time
5 at: "07:00:00"
6 action:
7 - service: homeassistant.update_entity
8 target:
9 entity_id: sensor.joke_of_the_daySo stellst du sicher, dass der Witz immer zum gewünschten Zeitpunkt neu geladen wird.
Visualisierung im Dashboard
Um den aktuellen Witz im Dashboard anzuzeigen, kannst du jede beliebige Karte verwenden. Besonders flexibel ist die mushroom-template-card. Damit lässt sich der Sensorwert direkt als Text einbinden:
1type: custom:mushroom-template-card
2primary: 😂 Joke of the Day
3secondary: "{{ states('sensor.joke_of_the_day') }}"
4icon: mdi:emoticon-excited
5multiline_secondary: true
6icon_color: yellowDie Karte zeigt den aktuellen Witz ansprechend und übersichtlich an. Du kannst das Layout natürlich nach deinen Wünschen anpassen.
Weitere Ideen für REST-APIs im Smart Home
Mit REST-Sensoren kannst du viele andere Anwendungsfälle umsetzen, zum Beispiel:
- Den Witz per TTS (Text-to-Speech) ausgeben lassen
- Den Witz als Push-Nachricht aufs Smartphone senden
- Andere APIs einbinden, z.B. Wetterdaten, Nachrichten oder eigene DiensteEin Beispielvideo findest du hier: https://youtu.be/cQOWqQT0_2A
Mit REST-Integrationen und Jinja-Templates kannst du Home Assistant flexibel um externe Daten erweitern und dein Dashboard individuell gestalten.
Verwendete Erweiterungen & Repositories
- home-assistant/core house_with_garden: Open source home automation that puts local control and privacy first.
Im Video wird „Externe Daten im Home Assistant Dashboard – REST API einfach erklärt“ verständlich und praxisnah eingeordnet.
