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_notifykann 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_notifysetzen, 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.
homewäre richtig.Mach es doch über die grafische Oberfläche: Einstellungen - Helfer - Template - Binärsensor