In diesem Video zeige ich dir, wie du in Home Assistant Benachrichtigungen so einrichtest, dass sie genau dann gesendet werden, wenn jemand nach Hause kommt – perfekt für den Empfang wichtiger Nachrichten im richtigen Moment.
Du lernst, Benachrichtigungen intelligent zu verzögern, damit diese nur bei Anwesenheit verschickt werden, oder sofort, wenn bereits jemand zu Hause ist. Ein praktischer Guide, um sicherzustellen, dass du nie wieder eine wichtige Info verpasst, sobald du die Haustür betrittst 🙌
Inhaltsverzeichnis
Voraussetzungen
Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle.
Templating in Home Assistant sowie die Grundlagen sollten ebenfalls bekannt sein, sind jedoch nicht zwingend erforderlich!
Ressourcen / Dokus
Code-Snippets zum Kopieren
Ich empfehle dir übrigens dringen, meinem Rat zu folgen und die Automation sowie die Skripte direkt in die Datei einzufügen. Ansonsten wirst du Probleme mit den IDs der Skripte und Automation bekommen, da diese ja aufeinander referenzieren!
Automation für die automations.yaml
- id: send_pending_notifications alias: Send pending notifications description: Send pending notifications when arriving home with 1 minute delay trigger: - platform: state entity_id: - binary_sensor.ist_jemand_zuhause to: 'on' for: hours: 0 minutes: 1 seconds: 0 condition: - condition: template value_template: '{{ state_attr("automation.send_pending_notifications", "last_triggered") == None or ( as_timestamp(now()) - as_timestamp(state_attr("automation.send_pending_notifications", "last_triggered")) |int(0) ) > 60 }}' - condition: numeric_state entity_id: sensor.pending_notification_sensor above: 0 action: - alias: Set variables variables: notifications: '{{ state_attr(''sensor.pending_notification_sensor'', ''list'') | default([], true) }}' - delay: 15 - repeat: while: - condition: template value_template: '{{ repeat.index <= notifications|length}}' sequence: - alias: Set variables variables: index: '{{ repeat.index -1 }}' notification: '{{ notifications[index] }}' - service: script.turn_on target: entity_id: script.notify_those_at_home data: variables: title: '{{ notification.title }}' message: '{{ notification.message }}' data: '{{ notification.data }}' notify_when_away: false - event: set_entity_value event_data: entity_id: sensor.pending_notification_sensor state: '0' attr: list: ''
Skripte für die scripts.yaml
Du kannst übrigens die Notify-Dienstnamen & person.Entitäten auch schon direkt in diesen Dateien bearbeiten, bevor du diese einfügst 😉
append_pending_notification: alias: Append pending notification icon: mdi:notification-clear-all mode: parallel max: 10 fields: title: name: Title description: Notification title required: true message: name: Message description: Notification message required: true data: name: Data description: Additional notification data required: false advanced: true default: {} sequence: - alias: Set variables variables: appending_notification: title: '{{ title|default(None, true) }}' message: '{{ message|default('''', true) }}' data: '{{ data|default({}) }}' timestamp: '{{ now() }}' pending_notifications: '{{ (state_attr(''sensor.pending_notification_sensor'', ''list'') | default([], true)) + [appending_notification]}}' - event: set_entity_value event_data: entity_id: sensor.pending_notification_sensor state: '{{ pending_notifications|length }}' attr: list: '{{ pending_notifications }}' notify_me: alias: Notify Me icon: mdi:notification-clear-all mode: parallel max: 10 fields: title: name: Title description: Notification title required: true message: name: Message description: Notification message required: true data: name: Data description: Additional notification data required: false advanced: true default: {} sequence: - service: notify.mobile_app_iphone14psimon data: title: '{{ title }}' message: '{{ message }}' data: '{{ data |default({}) }}' notify_those_at_home: alias: Notify people at home icon: mdi:notification-clear-all mode: parallel max: 10 fields: title: selector: text: name: Title description: Notification title default: Die Wäsche ist fertig! required: true message: selector: text: name: Message description: Notification message default: Die Waschmaschine kann geleert werden! required: true data: selector: text: name: Data description: Additional notification data sequence: - choose: - conditions: - condition: template value_template: '{{ is_state(''person.simon_muller'', ''home'') }}' sequence: - service: script.notify_me data: title: '{{ title }}' message: '{{ message }}' data: '{{ data |default({}) }}' - conditions: - condition: template value_template: '{{ is_state(''person.arabella_oberstedt'', ''home'') }}' sequence: - service: script.notify_wife data: title: '{{ title }}' message: '{{ message }}' data: '{{ data |default({}) }}' - conditions: - condition: template value_template: '{{ is_state(''binary_sensor.ist_jemand_zuhause'', ''off'') }}' sequence: - service: script.append_pending_notification data: title: '{{ title }}' message: '{{ message }}' data: '{{ data |default({}) }}' default: [] notify_wife: alias: Notify Wife sequence: - service: notify.mobile_app_iphone_von_arabella data: title: '{{ title }}' message: '{{ message }}' data: '{{ data |default({}) }}' icon: mdi:notification-clear-all mode: parallel max: 10 fields: title: name: Title description: Notification title required: true message: name: Message description: Notification message required: true data: name: Data description: Additional notification data required: false advanced: true default: {}
Templates aus dem Video
Solltest du bereits eine template: Sektion in deiner Configuration.yaml haben, darfst du diese natürlich nicht doppelt anlegen sondern musst den Code an die passende Stelle unterhalb von template: kopieren.
Nicht vergessen, die person.Entitäten gegen die eigene(n) zu ersetzen 😉
template: - binary_sensor: # Dieses Sensor ist an, wenn jemand zu Hause ist - name: Ist jemand zuhause unique_id: "isAnyoneAtHome" state: > {{ is_state('person.simon_muller', 'home') or is_state('person.arabella_oberstedt', 'home') }} # Pending Notification Sensor - trigger: - platform: event event_type: set_entity_value event_data: entity_id: sensor.pending_notification_sensor sensor: - name: Pending Notification Sensor unique_id: pending_notification_sensor unit_of_measurement: "" icon: mdi:format-list-group state: "{{ trigger.event.data.state }}" attributes: list: "{{ trigger.event.data.attr.list }}"
TTS-Nachricht an Smartspeaker
Wie im Video gezeigt musst du hierfür einfach beispielsweise im Skript “Notify Me” den Dienstaufruf hinzufügen / ersetzen, je nach dem, was du erreichen möchtest.
Hier ein Beispiel mit dem Google Translate TTS Dienst:
service: tts.google_translate_say data: cache: true entity_id: media_player.homepod_mini_schlafzimmer message: "{{ message }}" language: de
Damit der Google TTS-Dienst bei dir verfügbar ist, musst du folgendes Snippet in deiner Configuration.yaml ergänzen:
# Text to speech tts: - platform: google_translate
Fazit
Zum Abschluss dieses Guides hast du gesehen, wie du Benachrichtigungen in Home Assistant so anpassen kannst, dass sie dich genau im richtigen Moment erreichen – nämlich wenn du nach Hause kommst.
Diese Methode ist besonders sinnvoll für Nachrichten, die unterwegs nicht nützlich sind, wie zum Beispiel die Information, dass die Wäsche fertig ist. So wird dein Smart Home noch intuitiver und passt sich nahtlos an deinen Alltag an, indem es wichtige Infos bereithält, sobald du sie tatsächlich gebrauchen kannst.
Das ist doch sowas ähnliches oder?
iq_notify
kann auch strikt Nachrichten trennen, je nach dem Status der zu benachrichtigen Personen.So sehr ich den Ansatz aus dem Video mag mit den “zwischengespeicherten” Nachrichten wenn keiner Zuhause ist, die dann bei Heimkehr verschickt werden…
Bei uns gibt es eigentlich keine strikte Auftrennung zwischen einen “Hauptempfänger” der Nachrichten… und wenn der “Hauptempfänger” nicht da ist, dann erst geht alles eine zweite Person.
Zusätzlich kommt in meinem persönlichen Szenario noch eine dritte Person ins Spiel, die ebenfalls die wichtigsten Nachrichten erhalten soll - mag aber auch daran liegen, dass alle Personen im Haushalt extrem technikaffin sind
Das würde mit der Lösung aus dem Video und stark erweiterten Optionen zwar ebenfalls funktionieren, würde das Ganze aber für mein Szenario schon ganz schön “aufblähen”.
Zumindest zum jetzigen Zeitpunkt werde ich persönlich weiter auf
iq_notify
setzen, da ich hier mit einer schlanken Integration an mein Ziel komme.Aber cool zu wissen, wie man hier im Falle eines Falles eine Alternative schaffen könnte
Also leide konnte ich das Problem mit der Liste das Per TTS nur eines angesagt wird nicht beheben hier mein versuch
Vielleicht kann mir jemand weiterhelfen
er sagt hier immer keine neuen Nachrichten an obwohl welche in der Liste waren ( irgendo ist ein Fehler)
Hallo,
ich bekomme den Binary-Sensor „ist jemand zu Hause“ leider nicht hin, der wird offensichtlich nicht erkannt. Meine Better Thermostat Blueprint Automationen funktionieren daher alle nicht. Immer wieder gingen die Temperaturen wieder auf 17 grad (nicht anwesend Temperatur). Erst als ich diese geändert habe, blieb die Temperatur auf 22 grad. Was habe ich falsch gemacht? Habe schon alles mögliche an Varianten versucht.
dürfte falsch sein.
home
wäre richtig.Mach es doch über die grafische Oberfläche: Einstellungen - Helfer - Template - Binärsensor