Telegram-Benachrichtigungen nur an Personen schicken, die zu Hause sind

Mit dieser Änderung klappt es nun, nachdem ich den Bereich “Aber nur wenn” um die Bedingung “Test, ob alle von 2 Bedingnungen zutreffen” erweitert habe, da ich ja jetzt 2 Abfragen habe, die beide zutreffen müssen, nämlich:

  • #1: Sollen meine Fensterkontakte melden?
  • #2: Ist mindestens 1 Person Zuhause?

Die Automatisierung sieht jetzt wie folgt aus:

alias: "Telegram: Benachrichtigung - Küchenfenster schließen"
description: ""
trigger:
  - type: opened
    platform: device
    device_id: d2aa9597f6e4e2cc178e6327963e2e8d
    entity_id: 094fdecc5fa48b9ac254a50c9ec3cd9d
    domain: binary_sensor
    for:
      hours: 0
      minutes: 10
      seconds: 0
condition:
  - condition: and
    conditions:
      - condition: numeric_state
        entity_id: zone.home
        above: 0
      - condition: state
        entity_id: input_boolean.fensterkontakte_aktiv
        state: "on"
action:
  - alias: Telegram - Küchenfenster schließen!
    data:
      target: |
        {% from 'notify_telegram_users_at_home.jinja' import telegram_id %}
        {{ telegram_id('zone.home') }}
      title: <strong>Küchenfenster schließen!</strong>
      message: Das Fenster in der Küche ist seit 10 Minuten geöffnet.
      parse_mode: html
      inline_keyboard: ⌨️ Menü öffnen:/start
    action: telegram_bot.send_message
mode: single

Die Datei /homeassistant/custom_templates/notify_telegram_users_at_home.jinja für das Makro sieht jetzt wie folgt aus:

{% macro telegram_id(zone_id) %}
{{ state_attr(zone_id, 'persons') | replace("person.julian","Meine-Telegram-ID") | replace("person.person2","Zweite-Telegram-ID") }}
{% endmacro %}

Ich habe jetzt alle möglichen Szenarien mehrfach durchgespielt und es funktioniert einwandfrei.
Vielen Dank für eure tolle Unterstützung! :heart:

Besonders gut gefällt mir bei dieser Lösung, dass auch die benutzerfreundliche UI für die Aktion erhalten bleibt und nicht nur der YAML-Code zu sehen ist :

LG
Julian