Nachricht an den letzten Hausbewohner schicken

Hallo,
ich würde gerne eine Nachricht an den Bewohner, der als letztes das Haus verlässt, schicken, wenn z.B. noch ein Fenster offen ist. Wir sind vier Bewohner im Haus und ich möchte diese Nachricht eigentlich nicht an jeden Hausbewohner verschicken. Hat jemand eine Idee, wie sich das umsetzen ließe?

Hallo,
es fehlt leider die Info, wie HA in dem Szenario derzeit “erkennt” wer Zuhause ist oder nicht.
Von daher muss ich jetzt zunächst einmal von dem Standardansatz ausgehen, dass dieses über die Home Assistant App stattfindet oder irgendeine andere Form eines device_tracker :

Du wirst auf jeden Fall einen bestimmten zeitlichen Versatz haben zwischen dem Moment, dass HA erkennt “alle abwesend” und dann die “Fenster offen” Benachrichtigung kommt.

Was ansonsten dem Ansatz am Nächsten kommt gezielt zu benachrichtigen ist folgende Integration:
cadavre/iq_notify (github.com)

Zunächst einmal werden in der configuration.yaml die Personen zugeordnet, sowie die Geräte die benachrichtigt werden sollen (Beispiel):

#####  Custom notify configuration #####

notify:
  - platform: iq_notify # Die benutzte Platform
    name: alle_geraete  # Aliasname für notify.{name}
    time: 2             # Zeitversatz, bei dem wir davon ausgehen, dass jemand das Haus "gerade Verlassen/angekommen" ist
    pairs:              # Eine Liste der presence entities und die zugehörigen notify Dienste
      - entity: person.max            # presence entity id #1
        service: mobile_app_pixel_6a  # Benachrichtigungdienst für die vorherige Entität ohne die Domäne (notify.)
      - entity: person.ralf           # presence entity id #2 
        service: mobile_app_pixel_3a  # Benachrichtigungdienst für die vorherige Entität ohne die Domäne (notify.)

Als Entität kann man anstatt person z.B. auch beliebige Formen von device_tracker oder binary_sensor angeben.

Jetzt hat man die Möglichkeit die Benachrichtigungen etwas mehr zu steuern, wie im folgenden Beispiel:

  action:
    - service: notify.alle_geraete
      data:
        title: Hinweis
        message: Es sind noch folgende Fenster offen: {{ states('sensor.what_windows_are_open') }}
        data:
          mode: just_left

Als Modus bzw. mode stehen neben just_left z.B. auch Funktionen wie just_arrived für den Ersten, der zurückkommt oder eine Benachrichtigung nur an die Bewohner zur Verfügung, die gerade Zuhause only_home sind.

1 „Gefällt mir“

Hallo @Thalion,
ja, der Ansatz ist richtig: alle Personen haben die HA App auf dem Handy.
Die Integration sieht sehr interessant aus. Das werde ich mir ansehen und dann ausprobieren.
Vielen Dank!

Im Standard wird dann aber die letzte Person erst informiert, wenn diese mindestens 100m vom Standort entfernt ist. Das hat Thalion ja bereits geschrieben.

Du könntest z. B. auch benachrichtigen, sobald nur noch eine Person zu Hause ist, indem du ab fragst ob zone.home = 1 ist.
{% if states('zone.home') == 1 %}
Das könnte man mit Fenster offen verknüpfen. Ggf. noch einen Tür-/Fensterkontakt an der Wohnungs-/Haustür mit einbeziehen. Sobald der geöffnet wird und in der Zone Home nur noch 1 Person ist, dann eine Benachrichtigung an only_home. Die Integration von @Thalion finde ich einen guten Ansatz, auch dafür.

3 „Gefällt mir“

{% if states(‘zone.home’) == 1 %} funktioniert bei mir nicht, dafür aber {% if is_state(“zone.home”, “1”) -%}

ja es kommt natürlich darauf an, wo man es einsetzen möchte. Direkt in einer Automation würde ich es als Template-Bedingung einsetzen.
{{ (states('zone.home')) == '1' }}
image

In einem Template-Sensor muss man anders abfragen.

{% if states("zone.home") == '1' %}
true
{% else %}
false
{% endif %}

Edit:
das könnte dann in etwa so aussehen

description: "Benachrichtigung wenn Fenster offen"
mode: single
trigger:
  - platform: state
    entity_id:
      - binary_sensor.fenstersensor_tuer
    to: "on"
    from: "off"
condition:
  - condition: template
    value_template: "{{ (states('zone.home')) == '1' }}"
action:
    - service: notify.alle_geraete
      data:
        title: Hinweis
        message: Es sind noch folgende Fenster offen: {{ states('sensor.what_windows_are_open') }}
        data:
          mode: only_home

Edit
In den Condition müsste man natürlich noch die offenen Fenster abfragen.