🔔 Actionable notifications for Android

check if your notify service didnt change

Any chance anyone know how to get the Notification Channel working with this blueprint? I’ve modified it a bunch of different ways and I cannot get it to work. I feel like what I have here looks right, but I’m no expert.

blueprint:
  name: Test2
  description: 'Send actionable notifications to an Android device
    '
  domain: automation
  input:
    notify_device:
      name: Device to notify
      description: Device needs to run the official Home Assistant app to receive
        notifications
      selector:
        device:
          integration: mobile_app
          multiple: false
    trigger_entity:
      name: Trigger entity
      description: Send the notification when this boolean turns on
      selector:
        entity:
          domain: input_boolean
          multiple: false
    notification_title:
      name: Notification title (Optional)
      description: The title of the notification
      default: ''
    notification_message:
      name: Notification message (Optional)
      description: The message of the notification
      default: ''
    notification_tag:
      name: Notification tag (Optional)
      description: The tag of the notification
      default: ''
    notification_channel:
      name: Notification channel (Optional)
      description: The channel of the notification
      default: ''
    notification_timeout:
      name: Notification timeout (Optional)
      description: Length of time the notification is displayed
      default: ''
    persistent_notification:
      name: Create persistent notification?
      description: Persistent notifications cannot be dimissed by swiping away
      default: false
      selector:
        boolean: {}
    action_1_title:
      name: First action name
      description: Name of the first button
      default: ''
    action_1_uri:
      name: URI for action 1 (Optional)
      description: Optional URI for the first action
      default: ''
    first_action:
      name: Action 1
      description: Action to run when the first action is clicked
      default: []
      selector:
        action: {}
    action_2_title:
      name: Second action name
      description: Name of the second button
      default: ''
    action_2_uri:
      name: URI for action 1 (Optional)
      description: Optional URI for the second action
      default: ''
    second_action:
      name: Action 2
      description: Action to run when the second action is clicked"
      default: []
      selector:
        action: {}
    action_3_title:
      name: Third action name
      description: Name of the third button
      default: ''
    action_3_uri:
      name: URI for action 3 (Optional)
      description: Optional URI for the third action
      default: ''
    third_action:
      name: Action 3
      description: Action to run when the third action is clicked
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/actionable-notifications-for-android/256773
mode: restart
max_exceeded: silent
variables:
  notify_device: !input 'notify_device'
  trigger_entity: !input 'trigger_entity'
  notification_title: !input 'notification_title'
  notification_message: !input 'notification_message'
  notification_tag: !input 'notification_tag'
  notification_channel: !input 'notification_channel'
  notification_timeout: !input 'notification_timeout'
  persistent_notification: !input 'persistent_notification'
  action_1_title: !input 'action_1_title'
  action_1_uri: !input 'action_1_uri'
  first_action: !input 'first_action'
  action_2_title: !input 'action_2_title'
  action_2_uri: !input 'action_2_uri'
  second_action: !input 'second_action'
  action_3_title: !input 'action_3_title'
  action_3_uri: !input 'action_3_uri'
  third_action: !input 'third_action'
trigger:
  platform: state
  entity_id: !input 'trigger_entity'
  from: 'off'
  to: 'on'
action:
- service: input_boolean.turn_off
  entity_id: !input 'trigger_entity'
- domain: mobile_app
  type: notify
  device_id: !input 'notify_device'
  title: '{{ notification_title }}'
  message: '{{ notification_message }}'
  data:
    tag: '{{ notification_tag }}'
    timeout: '{{ notification_timeout }}'
    persistent: '{{ persistent_notification }}'
    data:
      channel: '{{ notification_channel }}'
    actions: "{% set titles = [action_1_title, action_2_title, action_3_title] %}\
      \ {% set uris = [action_1_uri, action_2_uri, action_3_uri] %} {% set actions\
      \ = namespace(data = []) %}\n{% for title in titles %}\n  {% if title|length\
      \ %}\n    {% set uri = uris[loop.index - 1] %}\n    {% set action_name = \"\
      action\" + loop.index|string %}\n    {% set action = {\n      \"action\": \"\
      URI\" if uri|length else action_name,\n      \"title\": title,\n      \"uri\"\
      : uri \n      }\n    %}\n    {% set actions.data = actions.data + [action] %}\n\
      \  {% endif %}\n{% endfor %} {{ actions.data }}\n"
- wait_for_trigger:
    platform: event
    event_type: mobile_app_notification_action
- choose:
  - conditions: '{{ wait.trigger.event.data.action == ''action1'' }}'
    sequence: !input 'first_action'
  - conditions: '{{ wait.trigger.event.data.action == ''action2'' }}'
    sequence: !input 'second_action'
  - conditions: '{{ wait.trigger.event.data.action == ''action3'' }}'
    sequence: !input 'third_action'

1 Like

ditch the extra data line and move channel back in line with persistent and actions.

-face palms- I swear I tried that and it didn’t work… But it totally just worked. :clap: Thanks!

Thanks for this blueprint. One question though, is it possible that an action is executed if NO action button is clicked?

I have now made 3 options for the notification, but if neither is chosen, I want something to happen.

Thats a pretty good idea and would be nice to have

very cool with notify group. Can i add a camera image ? I can not add data / image on Push message

If you haven’t figured this out yet, you’re looking for this one: Actionable notifications for Android w/ Cam Snapshot - #10 by ams3401

I tweaked the code for my purposes to allow any entity state as a trigger. I’m no BP expert so check the code but it works for me actioning one of two scripts when the cat door enters curfew mode unexpectedly.

Thanks to @vorion and @hunterjm for their code.

1 Like

Could this also be modified to

  • have a “normal” trigger field so you can use every trigger that a normal automation can have?

  • be able to set the notification channel from the BP?

Best regards
Aaron

I would love to see the same like @aaroneisele55 said.

I would love to select my own trigger, and not be limited to a input boolean.
I just want to send a notification if lights are still on. And then have the option to turn it off with the notification.

totally agree, same for me

1 Like

Is there a way to add the custom notification icon the same as other notification/alerts ive tried adding notification_icon:mdi but it doesn’t work.

Thanks

Awesome work. I was wondering if instead of an input.boolean triggering the automation we could have time based reminders within the blueprint?
At the moment I have to create a reminder automation to set the input.boolean to turn on which in turn then sends this blueprint notification. Frankly it would eliminate the input.boolean and the additional automation.

1 Like