Bj
je vous partage une automatisation interactive qui va affiché un popup sur votre votre téléphone en cas d’absence .
Pour commence crée un binary_sensor du style:
- platform: template
sensors:
presence_domicile:
unique_id: presence_domicile_tracker
friendly_name: " Présence Domicile Tracker "
value_template: >-
{{is_state('device_tracker.phone_XXXX', 'home') or is_state('device_tracker.phone_XXXX', 'home')}}
Ensuite aller dans automatisation et collé ceci ( pensé a modifier les jours semaine si besoin, les devices
pour mes chauffages quand tout le monde est absent
alias: "[ INTERACTION ] Les chauffages sont restés allumés"
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.home_presence
from: "on"
to: "off"
condition:
- condition: and
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- sun
alias: Est-ce un jour de semaine ?
- condition: or
conditions:
- condition: state
entity_id: climate.thermostat_chambre
state: heat
- condition: state
entity_id: climate.thermostat_cuisine
state: heat
- condition: state
entity_id: climate.thermostat_salle_de_bain
state: heat
- condition: state
entity_id: climate.thermostat_salon
state: ""
alias: Les chauffages sont-ils allumés ?
action:
- alias: Définir des variables pour les actions
variables:
action_no: "{{ 'NO_' ~ context.id }}"
action_turnoff: "{{ 'TURNOFF_' ~ context.id }}"
- alias: Notify Mobile
service: notify.mobile_app_XXXXXXX
data:
message: Les chauffages sont toujours allumées. Éteindre ?
data:
actions:
- action: "{{ action_turnoff }}"
title: Éteindre les chauffages
- action: "{{ action_no }}"
title: Laisser Allumé
enabled: false
- alias: Notify Mobile
service: notify.mobile_app_XXXXXXX
data:
message: Les chauffages sont toujours allumées. Éteindre ?
data:
actions:
- action: "{{ action_turnoff }}"
title: Éteindre les chauffages
- action: "{{ action_no }}"
title: Laisser Allumé
- alias: Attendre la réponse
wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_no }}"
context:
user_id:
- 543e2d3b33644370ba8216600c3c965e
- 065aee2fc9284c4e9d463c1b04e8659a
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_turnoff }}"
context:
user_id:
- 543e2d3b33644370ba8216600c3c965e
- 065aee2fc9284c4e9d463c1b04e8659a
- alias: Exécuter l'action
choose:
- conditions: "{{ wait.trigger.event.data.action == action_no }}"
sequence: []
- conditions: "{{ wait.trigger.event.data.action == action_turnoff }}"
sequence:
- service: climate.turn_off
data: {}
target:
entity_id:
- climate.thermostat_chambre
- climate.thermostat_cuisine
- climate.thermostat_salle_de_bain
- climate.thermostat_salon
mode: single
Donc en cas d’absence de la famille , HA envoi ceci sur votre smartphone
1 « J'aime »
Un second pour la lumières
Qui est lui fonction avec le levé du soleil
C’est ta dire que quand le soleil se lève et que HA voit une lumière allumé il vous prévient
alias: "[ INTERACTION ] Les lumières du salon sont restées allumées"
description: ""
trigger:
- platform: sun
event: sunrise
offset: 0
condition:
- condition: and
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- sun
alias: Est-ce un jour de semaine ?
- condition: or
conditions:
- condition: state
entity_id: light.lumiere_salon_gauche
state: "on"
- condition: state
entity_id: light.lumiere_salon_centre
state: "on"
- condition: state
entity_id: light.lumiere_salon_droit
state: "on"
- condition: state
entity_id: light.lumiere_lampadaire
state: "on"
alias: Les lumières du salon sont-elles allumées ?
action:
- alias: Définir des variables pour les actions
variables:
action_no: "{{ 'NO_' ~ context.id }}"
action_turnoff: "{{ 'TURNOFF_' ~ context.id }}"
- alias: Notify Mobile
service: notify.mobile_app_XXXXXXXXX
data:
message: Les lumières du salon sont toujours allumées. Éteindre ?
data:
actions:
- action: "{{ action_turnoff }}"
title: Éteindre les lumières
- action: "{{ action_no }}"
title: Laisser Allumé
- alias: Notify Mobile
service: notify.mobile_app_XXXXXXX
data:
message: Les lumières du salon sont toujours allumées. Éteindre ?
data:
actions:
- action: "{{ action_turnoff }}"
title: Éteindre les lumières
- action: "{{ action_no }}"
title: Laisser Allumé
- alias: Attendre la réponse
wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_no }}"
context:
user_id:
- 543e2d3b33644370ba8216600c3c965e
- 065aee2fc9284c4e9d463c1b04e8659a
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_turnoff }}"
context:
user_id:
- 543e2d3b33644370ba8216600c3c965e
- 065aee2fc9284c4e9d463c1b04e8659a
- alias: Exécuter l'action
choose:
- conditions: "{{ wait.trigger.event.data.action == action_no }}"
sequence: []
- conditions: "{{ wait.trigger.event.data.action == action_turnoff }}"
sequence:
- service: light.turn_off
data: {}
target:
entity_id:
- light.lumiere_palier
- light.lumiere_entree
- light.lumiere_cuisine
- light.lumiere_hotte
- light.lumiere_evier
- light.lumiere_salon_centre
- light.lumiere_salon_droit
- light.lumiere_salon_gauche
- light.lumiere_lampadaire
- light.lumiere_toilette
- light.lumiere_chevet_gauche
- light.lumiere_chambre
- light.lumiere_chevet_droit
- light.lumiere_salle_de_bain
- light.mirroir
mode: single
2 « J'aime »
Giga77
Septembre 8, 2023, 10:39
3
Salut
Tu n’es pas obligé de créer un binary_sensor, tu peux utiliser l’entité native « zone.home » qui te donne le nombre de personnes présente.
Donc si zone.home = 0 => il n’y a plus personne.
1 « J'aime »
Je sais
chacun fait a sa sauce pour ce qui du/des déclencheurs
j’ai plusieurs automation qui fonctionne avec un binary d’autre avec zone avec le leve et couché du soleil …
J’ai juste donné une base pour les nouveaux venu pour qui comprenne un peu comment cela fonctionne
Je cherche également a créer une notification pour activer un scénario lorsque je quitte le domicile.
Comment toujours, je n’arrive à rien car je ne comprend pas les différentes lignes de code que je trouve dans les docs’ officielles ni dans les vidéos.
Voici ce que je renseigne :
Et voici le résultat sur mon téléphone :
aucun bouton…
Ev000
Août 19, 2024, 12:28
6
la_mule:
aucun bouton…
Dans data
tu dois juste mettre un identifiant que tu inventes pour action. ex :
actions:
- action: activer_protect
title : "Activer protection"
Ensuite tu crée une nouvelle automatisation pour récupérer cette infos (ou un nouveau déclencheur) . Le déclencheur/trigger est Événement manuel
. Tu peux le configurer dans l’interface.
Type d’événement : mobile_app_notification_action
Données de l’événement : action: activer_protect
Tu peux aussi limiter à une personne (celui qui va cliquer sur la notif) ou pas.
En YAML ça donne un truc comme ça :
platform: event
event_type: mobile_app_notification_action
event_data:
action: activer_protect
context:
user_id:
- XXXXXXXXXXXXXX
Ensuite tu met la ou les actions à faire dans la suite de l’automatisation.
je suis largué… je dois créer une 2ème automatisation qui surveille la première ?
Là j’avoue c’est bien trop complexe pour mon niveau.
Ev000
Août 27, 2024, 10:35
8
Pas forcement, tu peux aussi rajouter un déclencheur Événement manuel
dans ton automatisation actuelle.
En gros quand quelqu’un clique sur une action de notification, c’est comme si un capteur remontais l’info dans Home Assistant. Donc pour utiliser cette info, il faut la surveiller/attendre avec un déclencheur/trigger.
Une solution simple mais pas vraiment recommandée est j’ajouter une action Attendre un déclencheur
(wait_for_trigger). En déclencheur tu met un Evènement manuel
(event), avec comme type d’évènement mobile_app_notification_action
, et comme données action: activer_protect
(la meme action que tu a mis dans data de ta notification. N’oublie pas de mettre un délai (timeout) .
En image :