Home Assistant Notifications mit ChatGPT: Smarte & Individuelle KI-Benachrichtigungen
Erfahre, wie du mit ChatGPT und Home Assistant intelligente, kontextbezogene Benachrichtigungen erstellst. Inklusive Code-Snippets für flexible Push-Nachrichten, Sprachausgabe & mehr – powered...
ChatGPT Benachrichtigungen & Nachrichten in Home Assistant
Mit diesen Code-Snippets kannst du Home Assistant so erweitern, dass Benachrichtigungen und Nachrichten von ChatGPT (OpenAI) generiert werden. Das ermöglicht dir, deutlich individuellere und kontextbezogene Texte zu verschicken – zum Beispiel als Push-Benachrichtigung, Sprachausgabe oder als Nachricht im Dashboard. Der Vorteil: Die Nachrichten sind nicht mehr statisch, sondern können flexibel und sogar humorvoll auf Situationen reagieren.
Im ersten Schritt wird ein rest_command definiert, der die ChatGPT-API anspricht. Damit kann Home Assistant beliebige Prompts an ChatGPT senden und die Antwort weiterverarbeiten. Das ist besonders nützlich, wenn du Benachrichtigungen persönlicher oder abwechslungsreicher gestalten möchtest, etwa für Begrüßungen, Erinnerungen oder Statusmeldungen.
1rest_command:
2 send_to_gpt:
3 url: "https://api.openai.com/v1/chat/completions"
4 method: POST
5 headers:
6 Authorization: "Bearer YOUR_API_KEY"
7 Content-Type: "application/json"
8 payload: >
9 {
10 "model": "gpt-3.5-turbo",
11 "messages": ,
12 "max_tokens": 100
13 }Das obige Snippet richtet den REST-Befehl ein. Er nimmt einen prompt als Variable entgegen und schickt ihn an die ChatGPT-API. Die Antwort kann dann in Automatisierungen weiterverwendet werden. Die Konfiguration ist flexibel: Du kannst den System-Text und die Prompts nach deinen Vorstellungen anpassen.
Ein weiteres Snippet zeigt, wie du deinem System Kontext geben kannst. Hier wird eine Übersicht aller Bereiche und Geräte im Smart Home generiert. Diese Informationen können als Teil des System-Prompts an ChatGPT übergeben werden, damit die KI besser auf Fragen reagieren kann.
1This smart home is controlled by Home Assistant.
2
3An overview of the areas and the devices in this smart home:
4{%- for area in areas() %}
5 {%- set area_info = namespace(printed=false) %}
6 {%- for device in area_devices(area) -%}
7 {%- if not device_attr(device, "disabled_by") and not device_attr(device, "entry_type") and device_attr(device, "name") %}
8 {%- if not area_info.printed %}
9
10{{ area_name(area) }}:
11 {%- set area_info.printed = true %}
12 {%- endif %}
13- {{ device_attr(device, "name") }}{% if device_attr(device, "model") and (device_attr(device, "model") | string) not in (device_attr(device, "name") | string) %} ({{ device_attr(device, "model") }}){% endif %}
14 {%- endif %}
15 {%- endfor %}
16{%- endfor %}
17
18Answer the user's questions about the world truthfully.
19
20If the user wants to control a device, reject the request and suggest using the Home Assistant app.Dieses Template kann als Teil des System-Kontexts an ChatGPT übergeben werden. So weiß die KI, welche Geräte und Bereiche vorhanden sind und kann auf Rückfragen entsprechend reagieren. Das erhöht die Qualität der Antworten, gerade wenn du ChatGPT als interaktiven Assistenten im Smart Home nutzen möchtest.
Beispiel: Automatisierte, KI-generierte Begrüßung
Das folgende Beispiel zeigt eine praktische Automatisierung: Sobald ein bestimmtes iOS-Event ausgelöst wird (z. B. durch CarPlay), wird ChatGPT gebeten, eine witzige Begrüßung zu generieren. Die Antwort wird dann per Text-to-Speech im Haus ausgegeben.
1alias: "CarPlay: Papa ist zuhause"
2description: ""
3trigger:
4 - platform: event
5 event_type: ios.action_fired
6 event_data:
7 actionName: Papa
8condition: []
9action:
10 - service: rest_command.send_to_gpt
11 response_variable: gpt_response
12 data:
13 prompt: >-
14 Gib einen witzigen Satz, der im Kern sagt, dass Papa wieder zuhause ist.
15 - wait_template: "{{ gpt_response != 'unknown' and gpt_response != '' }}"
16 - service: script.tts_papa_ist_zuhause
17 metadata: {}
18 data:
19 cache: true
20 media_player_entity_id: media_player.esszimmer
21 message: |
22 {{ gpt_response.content.choices.message.content }}
23 target:
24 entity_id: tts.google_de_de
25mode: singleHier wird der REST-Befehl genutzt, um einen individuellen Text zu erzeugen. Die Antwort von ChatGPT landet in der Variable gpt_response und wird anschließend als Sprachausgabe über Google TTS wiedergegeben. So kannst du Begrüßungen, Hinweise oder Statusmeldungen kreativ und variabel gestalten.
Weitere Ideen für KI-basierte Benachrichtigungen
Mit ChatGPT kannst du viele Arten von Benachrichtigungen automatisieren und personalisieren. Die folgenden Beispiele zeigen, wie du tägliche Motivationsbotschaften, Gesundheitswarnungen oder Erinnerungen an Termine mit Hilfe von KI generieren lassen kannst.
1automation:
2 - alias: 'Daily Motivation'
3 trigger:
4 - platform: time
5 at: '08:00:00'
6 action:
7 - service: rest_command.send_to_gpt
8 data:
9 prompt: "Bitte generiere eine tägliche Motivationsbotschaft, um den Tag positiv zu beginnen."
10 - wait_template: "{{ gpt_response != 'unknown' and gpt_response != '' }}"
11 - service: notify.your_notification_service
12 data_template:
13 message: "{{ gpt_response.content.choices.message.content }}"Die Automatisierung oben verschickt jeden Morgen um 8 Uhr eine motivierende Nachricht, die von ChatGPT generiert wird. Die Benachrichtigung wird über deinen bevorzugten Notification-Service versendet.
1automation:
2 - alias: 'Health Alert'
3 trigger:
4 - platform: state
5 entity_id: sensor.your_fitness_tracker
6 to: 'low_activity'
7 action:
8 - service: rest_command.send_to_gpt
9 data:
10 prompt: "Die Aktivität war heute niedrig. Bitte generiere eine Gesundheitswarnung mit Empfehlungen zur Verbesserung."
11 - wait_template: "{{ gpt_response != 'unknown' and gpt_response != '' }}"
12 - service: notify.your_notification_service
13 data_template:
14 message: "{{ gpt_response.content.choices.message.content }}"Dieses Beispiel sendet eine Gesundheitswarnung, wenn der Aktivitätssensor einen niedrigen Wert meldet. ChatGPT erstellt einen passenden Text mit Empfehlungen, wie du deine Aktivität steigern kannst.
1automation:
2 - alias: 'Event Reminder'
3 trigger:
4 - platform: state
5 entity_id: calendar.your_event_calendar
6 to: 'on'
7 action:
8 - service: rest_command.send_to_gpt
9 data:
10 prompt: "Es gibt heute ein wichtiges Ereignis: {{ states('calendar.your_event_calendar') }}. Bitte generiere eine freundliche Erinnerung."
11 - wait_template: "{{ gpt_response != 'unknown' and gpt_response != '' }}"
12 - service: notify.your_notification_service
13 data_template:
14 message: "{{ gpt_response.content.choices.message.content }}"Auch Erinnerungen an Termine lassen sich so persönlicher gestalten. Die KI formuliert eine freundliche Erinnerung, sobald im Kalender ein Ereignis ansteht.
Mit diesen Beispielen kannst du die Möglichkeiten von Home Assistant und ChatGPT kombinieren, um dein Smart Home noch individueller und interaktiver zu gestalten. Die Snippets lassen sich flexibel anpassen und bieten einen guten Einstieg, um eigene Ideen umzusetzen.
Hier wird im Video erklärt, wie „Bessere Home Assistant Notifications durch ChatGPT | AI Notifications | KI Benachrichtigungen“ korrekt umgesetzt wird.
