Praxisnahe Tutorials, auf die du zählen kannst.
Einsteiger Guide für Home Assistant

Home Assistant Benachrichtigungen, wenn du heimkommst!

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.

HomeKit Geräte Übersicht

smarte News

Erfahre als Erster, wenn wir neue Artikel zu Smart Home oder anderen interessanten Themen veröffentlichen!

Wir senden keinen Spam und verkaufen keine Daten! Erfahre mehr in unserer Datenschutzerklärung.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Für euch ändert sich am Preis nichts & Partnerlinks haben keinerlei Einfluss auf meine Berichterstattung. Vielen Dank für deine Unterstützung!

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁

Nennenswerte Antworten

  1. 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 :smiley:

    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 :+1:

Setze die Diskussion fort unter community.simon42.com

Teilnehmer

Avatar for Thalion Avatar for system Avatar for z-master

Send this to a friend