Ouverture automatique du portail en arrivant dans une zone seulement si déplacement motorisé

Bonjour,
Une fonction intéressante surtout si on se déplace en deux roues. L’idée serait de :

  • détecter la présence du téléphone dans une première zone
  • démarrer une temporisation lorsqu’on entre dans cette première
  • détecter la présence du téléphone dans une seconde zone plus proche de la maison
  • en fonction de la valeur de la temporisation, déterminer si le déplacement est effectué en véhicule ou à pied (il est inutile d’ouvrir le portail si on promène le chien !).
    Peut-on développer cette fonctionnalité avec HA ? Node-red obligatoire dans ce cas ?

Salut,
De mon côté j utilise node red mais je pense qu’il est tout à fait possible de le faire en automatisation HA.
J’utilise life360 pour me geolocaliser, j y ai créé plusieurs zones (dont une à 3 km autour de la maison et une autre à 200m autour de la maison) cela me permet également de recevoir une notif pour activer ou désactiver l’alarme, éteindre les lumières ect via telegram ou d’allumer les lumières extérieurs lors de notre arrivé s’il fait nuit ect… , donc pour le portail cela ne devrait poser aucun soucis.
Pour identifier le moyen de mobilité en revanche, je ne sais pas, je sais que life360 permet de reconnaître si tu es en voiture ou à pied, mais je ne sais pas comment ce statut remonte dans HA, faudrait regarder la doc off de Life360. N hésite à partager tes trouvailles :slight_smile:

Je débute avec HA ; je n’ai pas encore expérimenté la géolocalisation qui serait bien utilise pour implémenter cette fonctionnalité …à suivre !

En lisant ✅ Découverte et Prise en main de Lovelace, il est indiqué comment ajouter un appareil de localisation à un utilisateur (device_tracker) depuis l’application officiel…

Cela te créera automatiquement une entité du domaine device_tracker qui contient un attribut représentant la vitesse de déplacement (speed)

Cet attribut peut servir de base pour la détermination du moyen de locomotion… Une alternative est de démarrer un timer en entrant dans la zone1 et qui, s’il n’est pas fini à l’entrée de la zone2, determine le moyen de locomotion.

Node-RED est un autre outils qui est conseillé au débutant car la représentation de la logique est visuelle…

Je n’ai jamais rencontré de cas où Node-RED serait indispensable à la réalisation d’une fonction (après, mes automatisations cassent pas 3 pattes à un canard)…
C’est juste un autre langage de programmation et une histoire de connaissance (et de goût)

1 « J'aime »

Si tu es sur iphone, regarde icloud3 . Il est assez précis dans ses capteurs. Je pense qu’il est capable de savoir si tu es en voiture ou pas.

image

Merci je note l’idée !

Peut-être le average active pace.

J’ai finalement défini une zone à proximité de la maison dans HA avec un déclencheur qui ouvre le portail lorsque la voiture (Tesla) entre dans la zone mais il me faudrait une condition pour que le portail ne s’ouvre pas lorsque j’entre dans cette zone dans l’autre sens (an fait, lorsque je repars de chez moi)

J’ai le même cas d’usage. Pour se faire, j’ai défini deux zones concentriques autour de ma maison :

  • maison_proximité : radius d’un km autour de mon domicile.
  • maison_environs : radius de quelques kms autour de mon domicile.

Une automatisation avec en déclencheur la localisation du véhicule, qui passe de maison_environs maison_proximité déclenche l’ouverture du garage (avec quelques conditions en fonction de la météo, pour allumer certaines lumières en complément).

Mon automatisation ne se déclenche pas lorsque je suis dans la zone (avec la voiture) .Faut-il que le rayon de la zone soit grand ?

alias: OUV Auto Portail geolocalisation Z1
description: ""
trigger:
  - platform: zone
    entity_id: device_tracker.fast_reboot_location_tracker
    zone: zone.zone_portail
    event: enter
condition: []
action:
  - service: timer.start
    data: {}
    target:
      entity_id: timer.timergeolocportail
mode: single

Dans mons cas, je ne fais pas usage d’un déclencheur de zone, mais de changement d’état :

platform: state
entity_id:
  - device_tracker.XXXXX
from: environs_maison
to: proximite_maison

En utilisant une zone unique, je ne suis pas certain de comment procéder.

Je n’utilise pas une zone mais deux zones.
Lorsque j’arrive à la maison, j’entre dans la première (la plus éloignée de la maison) je lance un timer et je vérifie qu’il est toujours actif lorsque j’entre dans la seconde zone (plus proche de la maison) pour commander l’ouverture du portail.
Ceci pour éviter l’ouverture du portail lorsque je pars de chez moi.

Je n’avais pas pensé à ta solution des zones concentriques et du changement de zone de la plus éloignée vers la plus proche de la maison.
Quelque soit la solution utilisée, le problème pour l’instant c’est que je n’ai pas de déclenchement de l’automatisation lorsque j’entre dans une zone.

Je me penche sur ta solution mais ce que je comprends pas c’est que si les cercles des zones sont concentriques, disons Z1 pour la plus grande et Z2 pour la plus petite, lorsque le voiture est en Z2, elle est aussi en Z1 ?

Avec ØZ1 > ØZ2, la voiture sera detectée en Z2 quand elle passe de Z1 a Z2.

En clair :
image

  • Etat de la voiture rouge dans HA : Z1
  • Etat de la voiture bleue dans HA : Z2

Oui mais lorsque la voiture est en Z2, elle est toujours en Z1 puisque Z2 est inclus dans Z1 mais si ça fonctionne c’est l’essentiel.
J’ai testé avec ce type de zones concentriques mais ça ne fonctionne pas. Un pb de code ? Lors de la définition des zones, as-tu coché « passif »

alias: OUV Portail PROV
description: ""
trigger:
  - platform: state
    entity_id: device_tracker.fast_reboot_location_tracker
    from: zone.zone_1_portail
    to: zone.zone_3_portail
condition: []
action:
  - service: scene.turn_on
    target:
      entity_id: scene.portail_ouverture
    metadata: {}
mode: single

Effectivement, ma zone la plus grande est est en passif, navré d’avoir oublié de le mentionner.

J’ai testé avec et sans passif; idem.
De plus le test de la géolocalisation est assez pénible car il faut faire des tours de quartier avec la voiture ! Tu as une autre méthode ?

J’avoue ne pas comprendre. J’ai créé mon automatisation sans trop m’en soucier, et cela fonctionne pour moi depuis plusieurs mois désormais … Allez comprendre.

Pour exemple, j’ai basé mon automatisation sur ce topic.

Je pense qu’il doit etre possible de se passer de l’utilisation de deux zones en mettant une condition sur le status du WiFi de la Tesla. Faire un test afin de déterminer si elle était connecté X minutes avant la sortie de zone (Dans ce cas : on part), et inversement.

Je tacherai d’essayer cette méthode avec la mienne.

Ton device_traker.XXXXX c’est celui de la voiture ou du smartphone ? J’ai le doute car dans le lien que tu as donné il est mentionné la géolocalisation du téléphone.
Tu utilises Life360 ou la localisation HA ?

Il semblerait que Life360 revend les données de localisation.