Voici les exemples en question pour faire une démo.
C’est un automate qui détecte les réponses des utilisateurs faite via les boutons action d’une notification. Selon la réponse de l’utilisateur, la notification est effacée sur tout les appareils ou uniquement sur les appareils de l’utilisateur ayant répondu.
Il faut déclarer un TAG pour pouvoir cibler le type de notification. Si vous préférez ne pas définir de TAG, cela concernera tout type de notification ayant les même caractéristique.
Je l’ai couplé avec le script Notification multi-utilisateur avec présence en utilisant toutes les options possible.
La notification sera renvoyé avec un user_id. Si vous ne savez pas utiliser les user_id, le script Notification multi-utilisateur avec présence les prends nativement en charge.
Grâce au script Notification multi-utilisateur avec présence, si un utilisateur possède plusieurs appareil, la notification vers un user_id sera envoyé vers tous ses appareils.
Code de l'automate "Demo annulation notification persistante"
alias: Demo annulation notification persistante
description: ""
trigger:
- alias: "Réponse utilisateurs : Effectué"
platform: event
event_type: mobile_app_notification_action
event_data:
action: destruction
tag: demo-persistant
id: Effacement tout le monde
- alias: "Réponse utilisateurs : Plus tard"
platform: event
event_type: mobile_app_notification_action
event_data:
action: refus
tag: demo-persistant
id: Effacement ciblé
condition: []
action:
- alias: Si aucun ID envoi de la démo
if:
- condition: not
conditions:
- condition: trigger
id:
- Effacement tout le monde
- Effacement ciblé
then:
- alias: Envoi de la démo
service: script.notification_avec_presence
metadata: {}
data:
personnes:
entity_id:
- person.joel
prox_zone:
entity_id: zone.home
prox_distance: 200
timeout: "18:00:00"
titre: Titre facultatif
message: >-
Message persistant en démo<br>Sera renvoyé par un automate après un
swip<br>Pour le supprimer, répondez à une des questions.
icone: mdi:fire-alert
log: true
actions:
- action: destruction
title: Effectué
- action: refus
title: Plus tard
- action: URI
title: Historique
uri: settings://notification_history
resume: Message persistant en démo... dérouler pour plus d'info
tag: demo-persistant
collant: true
persistant: true
click: https://forum.hacf.fr/t/renvoyer-une-notification-persistante/45372
couleur: red
source: >-
{% if source is defined %}{{ source }}
{% elif trigger is defined and trigger.from_state is defined %}{{
trigger.from_state.attributes.friendly_name }} depuis {{
this.attributes.friendly_name }}
{% elif trigger is defined and trigger.event and
trigger.event.data.action is defined %}réponse {{
trigger.event.data.action }} dans {{ this.attributes.friendly_name
}}
{% elif this is defined %}{{ this.attributes.friendly_name }}
{% else %}déclenchement manuel depuis [nom du script où vous êtes]
{% endif %}
- alias: Si ID est "Effacement tout le monde"
if:
- condition: trigger
id:
- Effacement tout le monde
then:
- alias: Effacement notification TOUT les appareils sans localisation
service: script.notification_avec_presence
metadata: {}
data:
message: clear_notification
log: true
tag: demo-persistant
- alias: Si ID est "Effacement ciblé"
if:
- condition: trigger
id:
- Effacement ciblé
then:
- alias: >-
Effacement notification TOUT les appareils D'UN SEUL UTILISATEUR sans
localisation
service: script.notification_avec_presence
metadata: {}
data:
message: clear_notification
log: true
tag: demo-persistant
personnes:
entity_id: "{{ trigger.event.context[\"user_id\"] }}"
mode: single
Amusez vous bien avez, j’espère que ça va vous libérer de toutes les parties gestion des notifications dans vos scripts.