# When someone's state changesd to "home", wait for 15 minutes for the door to be opened,
# and then mark me as home

blueprint:
  name: Person arrival detection
  domain: automation
  input:
    person:
    name:
    input_boolean:

trigger:
  - platform: state
    entity_id: !input person
    to: "home"

condition:
  condition: state
  entity_id: !input input_boolean
  state: "off"

variables:
  name: !input name

action:
  - service: notify.telegram
    data_template:
      title: "🏠 *Presence Module · Arrival Detection*"
      message: >-
        {{ name + "\'s device marked as home. Waiting for door to open!" }}
  - wait_template: "{{ is_state('binary_sensor.front_door_contact', 'on') }}"
    continue_on_timeout: false
    timeout: 00:15:00
  - service: input_boolean.turn_on
    entity_id: !input input_boolean
  - service: notify.telegram
    data_template:
      title: "🏠 *Presence Module · Arrival Detection*"
      message: >-
        {{ "✅ Hey, I've marked " + name + " as home now!" }}
