I’ve been reading through the documentation and looked at several tutorials, but I can’t get actionable notifications working.

Here’s an example YAML that was originally done in the GUI. It’s intented to send an actionable notification with two options, and when you click one, it should send another notification to confirm it worked.

It sends the notification fine, and when I tap the button the wait for trigger section in Home Assistant lights up to indicate that it’s been triggered. But nothing further happens.

Any help appreciated!

alias: Actionable notification test
description: ""
trigger: []
condition: []
action:
  - service: notify.notify
    metadata: {}
    data:
      message: Message me?
      data:
        actions:
          - action: ACTION_NOTIFY
            title: Message me
          - action: ACTION_IGNORE
            title: Ignore
  - wait_for_trigger:
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: ACTION_NOTIFY
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: ACTION_IGNORE
    continue_on_timeout: false
    timeout:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 0
  - alias: Perform the action
    choose:
      - conditions:
          - condition: template
            value_template: "{{ wait.trigger.event.data.action == \"ACTION_NOTIFY\" }}"
        sequence:
          - service: notify.notify
            metadata: {}
            data:
              message: Requested message
mode: single
  • CondorWonder
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 months ago

    Set the wait to have a timeout and it will work.

    Your wait needs to wait for a time, and decide if you want to proceed if you don’t get a response. Right now the wait for a trigger is expecting the event to be ready when it starts (before you’ve even seen the notification), and when it’s not the automation is stopping because continue on timeout is false. A wait for a trigger without a timeout doesn’t wait forever.

      • CondorWonder
        link
        fedilink
        English
        arrow-up
        4
        ·
        10 months ago

        If you set the wait to 0, it will not wait at all and will proceed immediately (or stop the automation if continue is not set). It might be counter intuitive, in some systems a 0 wait means wait forever.

    • Dave@lemmy.nzOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      10 months ago

      Thanks!

      I got it working, though it seemed to be a combination of two things. I added the timeout, but it didn’t help. Then I read that sometimes calling a general notification doesn’t work, so I set it to specifically my phone and suddenly it worked! I removed the timeout, and broken again, so it definitely needs the timeout (despite saying it’s optional), so thanks for that tip! Weird that it still fires and recognises the trigger, but it just doesn’t do other actions because the automation already aborted.

      Is there any issue setting super long timeouts? Can I set it to 24 or 48 hours without issue?

      • CondorWonder
        link
        fedilink
        English
        arrow-up
        4
        ·
        10 months ago

        I have actionable notifications with notify.notify service working so I’m not sure there - something sounds off.

        I don’t think there’s issues with long timeouts, but realize that they won’t persist through restarts of Home Assistant, and depending on your automation settings you can control the number of instances. To disconnect the action from the running automation I often add the event as another trigger to the automation and then add logic to handle the normal trigger and the notification trigger separately. No wait needed in the automation then, just fire the notification and another instance of the automation handles the action.

        • Dave@lemmy.nzOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          10 months ago

          Oh that sounds like a better way of handling it! When I get a chance I’ll take another stab at it and see if I can get it working your way.