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.

Verpasse keine Tipps!

Ich sende keinen Spam! Erfahre mehr in der 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:

  2. Also leide konnte ich das Problem mit der Liste das Per TTS nur eines angesagt wird nicht beheben hier mein versuch

    service: tts.cloud_say
    data_template:
      entity_id: media_player.tab_s8_ultra_von_jona
      message: >
        {% set messages = state_attr('sensor.pending_notification_sensor', 'list')
        %} {% if messages and messages | length > 0 %}
          {{ messages | join('. ') }}
        {% else %}
          Keine neuen Nachrichten.
        {% endif %}
    enabled: true
    

    Vielleicht kann mir jemand weiterhelfen :slight_smile:
    er sagt hier immer keine neuen Nachrichten an obwohl welche in der Liste waren ( irgendo ist ein Fehler)

  3. 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.

      - binary_sensor:
                 # Dieses Sensor ist an, wenn jemand zu Hause ist
          - name: Ist jemand zuhause
            unique_id: "isAnyoneAtHome"
            state: >
                {{ is_state('person.tim', 'zuhause')
                   or is_state('person.sabrina', 'zuhause')
                   or is_state('person.milena', 'zuhause')
                   or is_state('person.emma', 'zuhause') }}
    

    :crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Setze die Diskussion fort unter community.simon42.com

4 mehr antworten

Teilnehmer

Avatar for system Avatar for maxe Avatar for z-master Avatar for monstergubl Avatar for Thalion Avatar for tarag Avatar for KommissarRizzo Avatar for mghussi

10 Gedanken zu „Home Assistant Benachrichtigungen, wenn du heimkommst!“

  1. Hallo Simon. Vielen Dank für deine Tollen Videos! Regelmäßig schaue ich mir deine neusten Viideos an! Nun brauch ich etwas Unterstützung und vielleicht kannst du mir helfen. Ich habe meine templates in einer template.yaml ausgelagert. Skripte, Automatisierungen funktionieren. Was nicht funktioniert ist der Sensor und vor allem der- trigger: Eintrag. Die Syntax scheint richtig zu sein. Es verursacht aber Probleme, mit anderen Sensoren die in der template.yaml angelegt habe. Diese Funktionieren dann nicht mehr. Hast du eine Idee? Würde mich über eine Rückmeldung sehr freuen.

    Antworten

Schreibe einen Kommentar

Send this to a friend