- alias: Garageport Anne åben reminder
  id: garageport_anne_reminder
  mode: restart

  trigger:
    - platform: state
      entity_id: binary_sensor.garageport
      to: "on"

    - platform: time
      at: "21:00:00"

  condition:
    - condition: state
      entity_id: binary_sensor.garageport
      state: "on"

  action:
    - delay: "00:05:00"

    - repeat:
        while:
          - condition: state
            entity_id: binary_sensor.garageport
            state: "on"

        sequence:

          - service: notify.mobile_app_claus_iphone_15pro
            data:
              title: "Garageport"
              message: "Garageporten er åben. Skal garageporten lukkes?"
              data:
                tag: garage_anne_open
                persistent: true
                actions:
                  - action: CLOSE_GARAGE_ANNE
                    title: "Ja"
                  - action: IGNORE_GARAGE_ANNE
                    title: "Nej"

          - wait_for_trigger:
              - platform: event
                event_type: mobile_app_notification_action
                event_data:
                  action: CLOSE_GARAGE_ANNE

              - platform: event
                event_type: mobile_app_notification_action
                event_data:
                  action: IGNORE_GARAGE_ANNE

              - platform: state
                entity_id: binary_sensor.garageport
                to: "off"

            timeout: "00:30:00"

          - choose:

              - conditions:
                  - condition: template
                    value_template: "{{ wait.trigger.event.data.action == 'CLOSE_GARAGE_ANNE' }}"
                sequence:
                  - condition: state
                    entity_id: binary_sensor.garageport
                    state: "on"
                  - service: cover.toggle
                    target:
                      entity_id: cover.anne
                  - stop: "Garage lukket via notifikation"

              - conditions:
                  - condition: template
                    value_template: "{{ wait.trigger.event.data.action == 'IGNORE_GARAGE_ANNE' }}"
                sequence:
                  - stop: "Bruger valgte Nej"

          - delay: "00:30:00"
            
