Comment déclencher un timer?

Mon problème

Comment utiliser le timer ?

Ma configuration


[center]## System Information

version core-2023.6.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.21-v8
arch aarch64
timezone Europe/Paris
config_dir /config
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 10.3
update_channel stable
supervisor_version supervisor-2023.06.2
agent_version 1.5.1
docker_version 23.0.6
disk_total 13.9 GB
disk_used 3.9 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Let’s Encrypt (4.12.9), File editor (5.6.0), CEC Scanner (3.0)
Dashboards
dashboards 2
resources 0
views 1
mode storage
Recorder
oldest_recorder_run 22 juin 2023 à 08:45
current_recorder_run 24 juin 2023 à 09:18
estimated_db_size 15.52 MiB
database_engine sqlite
database_version 3.41.2
[/center]

Bonjour à tous,

Je débute dans HA et mon but sera d’automatiser un maximum de choses. Pour le moment, le but est d’automatiser l’ouverture du portail avec les zones. 3 zones qui localisent les 3 routes par lesquelles je peux arriver et une autre zone pour la maison.

Le but est donc une automatisation commençant par la sortie d’une des 3 zones, de lancer un timer de 3 minutes et avant ces 3 minutes, il faut que je sois dans la zone maison pour ouvrir le portail.

Mon problème est le timer que je n’arrive pas à declencher suite à la sortie d’une des zones…

Voici une capture d’écran de mon automatisation. Où placer le timer pour qu’il se déclenche ?

Merci.

Bonjour,

Dans les actions il y a une option « pause/delay »

image

Il suffit de mettre cette pause de 3 minutes avant l’ouverture de la porte ou alors après l’ouverture de la porte et avant qu’elle ne se referme.

Cordialement,

Abel

Merci pour ta réponse. Mais le délais sert à vérifier que je passe bien dans les deux zones.

J’arrive sur une des zones, j’en ressors et là, je déclenche les 3 minutes pour arriver dans la zone maison et ouvrir le portail. Le but est d’éviter de rentrer dans une des zones, que le trigger attende que je sois à la maison indéfiniment pour ouvrir le portail. Ca évite l’ouverture intempestive.

Hello,

Tu peux aussi envisager une approche un peu différente, il y a plusieurs solutions possibles.
Un exemple :
Une première automatisation avec comme trigger tes leave zone et comme action un script qui va passer à on un input booléen , attendre 3minutes, puis le passer à off
Ce booléen te servira alors de condition pour l’ouverture de ton portail + in Maison Zone pour l’ouverture de ton portail

Une autre solution peut utiliser un helper timer , et son état conditionnera l’ouverture de ton portail comme précédemment

Ou encore plus simple , dans action , « Attendre un déclencheur », Délai d’expiration 3 minutes et désactiver "Continuer à l’expiration du délai ". le déclencheur sera ta présence dans la zone home;

@+

Je vais regarder le help timer.

Pour la troisième solution, il me faudrait aussi et surtout un time out sinon, on attendra forcément que je sois dans la zone Maison

Non, le timeout est donné par le délai d’expiration. Dans ton cas, la troisième solution est la plus simple, les autres juste pour info des possibilités

Ok, compris ! Le YAML est encore plus explicite pour le timeout :

alias: Ouvrir portail
description: ""
trigger:
  - platform: zone
    entity_id: device_tracker.sm_g991b
    zone: zone.zoneproche1
    event: leave
  - platform: zone
    entity_id: device_tracker.sm_g991b
    zone: zone.zoneproche2
    event: leave
  - platform: zone
    entity_id: device_tracker.sm_g991b
    zone: zone.zoneproche3
    event: leave
action:
  - wait_for_trigger:
      - platform: zone
        entity_id: device_tracker.sm_g991b
        zone: zone.home
        event: enter
    timeout:
      hours: 0
      minutes: 3
      seconds: 0
      milliseconds: 0
    continue_on_timeout: false
  - type: turn_on
    device_id: XXX
    entity_id: switch.portail_socket
    domain: switch
mode: single

Je teste ce soir. merci !

1 « J'aime »

Bonjour Mzr,

Krull56 a proposé le « Wait for Trigger/Attendre un déclencheur », je pense que c’est la meilleur option si tu veux utiliser tes differentes zones et ça évite un timer.

Mais je ne suis pas convaincu que l’utilization de zones soit appropriée.
Ai-je besoin de savoir si je sors de Zone A, puis entre dans zone B, … Je suis à la maison ou j’y suis pas? Et pour l’ouverture du portail, je veux savoir si je suis a proximité ( en temps ou en distance) pour l’ouvrir, et si possible suffisament près pour avoir un visuel sur le portail.

Otpion 1: J’ai la télécommande du portail dans la voiture :slight_smile: et ça marche tout le temps

Option 2: Je ne veux pas utiliser la télécomande … Ok alors il faut utiliser ma position GPS et voir si je suis proche tu portail. Dans ce cas j’utiliserais probablement Waze Travel Time pour me donner le temps ou la distance par rapport aux coordonnées GPS de la destination (dans ton cas la maison ou le portail si tu as une grande propriété).

J’utilise cette intégration pour avoir le temps de trajet vers le boulot ou vers la maison

L’autre variable à considerer est, suis-je à pied, à vélo ou en voiture? A pied ou à vélo, je n’ai peut-être pas besoin d’ouvrir le portail. Ou suis-je deposé à la maison par un taxi, ami,. …

J’ai un tracker bluetooth dans ma voiture, donc je sais si ma voiture est dans le garage ou pas et je pourrais déterminer si je suis en voiture.
Je n’ai pas de portail, donc pas de soucis quand je suis déposé chez moi.

Cordialement,

Abel

Hello @Abel

Une alternative possible, si le tel connecté à la voiture en BT est de récupérer l’info « connected_paired_devices »: « adresse BT vehicule » remontée par l’app compagnon, pour savoir si on est ou pas dans la voiture, moteur allumé.

Le fait d’entrer dans des zones autour de la maison permet de savoir que je suis bien dehors avant d’arriver devant le portail dans les 3 minutes.

Ca évite les faux positifs dans les cas suivants :

  • Arriver à pieds (supérieur à 3 minutes)
  • Allumage du téléphone dans la maison (restart ou plus de batterie) et détection autour de la maison si le GPS capte mal
  • Ouvrir le portail si je reste autour de la maison.

Pour moi, ç doit répondre à mon problème d’ouvrir le portail si et seulement si j’étais à l’extérieur et que je reviens en moto ou en voiture.

Le tile bluetooth est pour savoir si la voiture est dans le garage, enfin surtout si elle n’y est plus alors qu’elle devrait y être :slight_smile:

Mais, merci pour l’astuce « connected_paired_devices » ça pourra servir dans le futur.

1 « J'aime »

Bonjour Mrz,

Avec un iPhone, la position GPS ne change pas si le téléphone est etteind. L’ancienne position sera utilisée jusqu’à ce que le téléphone soit allumé et qu’il y ait un changement de position…

Je n’ai pas d’Android pour verifier si c’est la même chose

Abel

C’est la même chose avec un Android

En effet, je viens de le voir… Pourtant, j’ai ajouté le droit d’utiliser la position écran éteint :frowning:

Alors en fait, ça fonctionne.

Il suffit d’autoriser le compagnon a bien utiliser la localisation précise tout le temps et ne pas couper l’accès à la localisation quand l’appli est éteinte (voir les captures d’écran).

Et ce soir en rentrant, le portail s’est ouvert en arrivant devant comme souhaité.