Actionable Notifications

Mon problème

Bonjour,

je suis un peu perdu, je voudrais utiliser les Notifications sur mon téléphone Android avec un choix à faire :
après le coucher du soleil une notification est envoyée sur mon téléphone qui me demande si je veux fermer les volets avec 2 boutons : oui et non.

jusque là ça fonctionne mais ensuite que faire ?
Il faut créer une seconde automatisation qui va récupérer le bouton cliqué ?

voici ma première automatisation pour la notification avec les 2 choix

- id: '1618553685222'
  alias: '[Volet] Fermer les volets - Choix'
  description: ''
  trigger:
  - platform: sun
    event: sunset
  condition: []
  action:
  - service: notify.mobile_app_sm_g970f
    data:
      message: Fermer tous les volets ?
      title: Fermer les volets
      data:
        actions:
        - action: fermer
          title: Oui
        - action: rien
          title: Non
  mode: single

Merci pour votre aide !

Ma configuration


[center]

System Health

version core-2021.4.4
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.83-v7
arch armv7l
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4925
Installed Version 1.11.3
Stage running
Available Repositories 777
Installed Repositories 8
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 5.13
update_channel stable
supervisor_version supervisor-2021.04.0
docker_version 19.03.15
disk_total 28.6 GB
disk_used 6.2 GB
healthy true
supported true
board rpi3
supervisor_api ok
version_api ok
installed_addons File editor (5.2.0), Samba share (9.3.1), deCONZ (6.8.0), Home Assistant Google Drive Backup (0.103.1), Samba Backup (4.5.0), motionEye (0.11.1)
Lovelace
dashboards 1
resources 6
views 6
mode storage
[/center] Comment récupérer ma configuration : Dans votre HA, Menu latéral `Configuration` > `Info` > bouton copier > `Pour Github` ![image|648x167, 75%](upload://1ietIxFU6nXP1GFrJTzwc2mh0j2.png) ___

Tout à fait :+1:

When an action is selected an event named ios.notification_action_fired for iOS and mobile_app_notification_action for Android will be emitted on the Home Assistant event bus. Below is an example payload.

Quand une action est sélectionnée, un événement nommé ios.notification_action_fired(pour iOS) ou mobile_app_notification_action (pour Android) est envoyé sur le bus des événement de votre instance Home Assistant.

Donc, tu fais une automatisation qui a comme déclencheur mobile_app_notification_action :

La documentation t’indique comment construire le déclencheur

Personnellement, comme première automatisation (qui est utile seulement pour la mise au point) j’utilise une notification contenant les données de l’événement afin de rédiger mes conditions et actions en fonction de la réponse

- id: 'mise_au_point_notification_android'
  alias: 'Mise au point Notification Android' 
  description: ''
  trigger:
  - platform: event
    event_type: mobile_app_notification_action
    event_data:
#      action: "alarm" #pas de filtre sur l'action dans celle-ci mais dans la seconde
  condition: []
  action:
    - service: persistent_notification.create
      data:
        message: "{{trigger.event.data}}"
        title: "{{trigger.event.event_type}}"
        notification_id: "{{ (range(1, 9999)|random) }}"
    

Merci beaucoup pour ta réponse rapide et efficace :smiley:

je viens de tester, si je clique sur oui ou non j’ai bien une nouvelle notification dans HA mais vide.

en utilisant les outils de développement 'arrive à voir se qui est récupéré par HA lorsque je clique sur un choix

.

Comment récupérer « action » et en fonction de lui appeler une scène ?

désolé, je suis une bille :stuck_out_tongue:

ok j’ai fini par comprendre :stuck_out_tongue:
Donc il faut créer autant d’automatisation que de choix possible.

Du coup ça marche, merci beaucoup !

Vide ?

Étrange :thinking:

je viens de modifier mon erreur, j’avais oublier une clé (trigger .event. data) :sweat_smile:

1 « J'aime »