Localisation avec eedomus (part.2) : votre maison vous accueille

Nous avons vu dans le premier article comment remonter sa position géographique à la box eedomus depuis un téléphone android. Nous savons également donner de la voix dans son habitation grâce à cet autre article. En utilisant les capacités de programmation de la box eedomus et sa capacité à réagir par rapport à une position, votre maison va pouvoir vous accueillir à votre arrivée :

Ce message « Bonjour Vincent » n’est pas si futile qu’il en a l’air. Il montre que le système domotique m’a bien détecté, donc que l’alarme a éventuellement été arrêtée  et que les actions programmées à mon arrivée seront entamées. Un message « Bonjour Vincent » est toujours plus sympathique que « Alarme désactivée »…

Création d’un périphérique d’état

Un périphérique d’état virtuel va contenir mon statut : à la maison, au travail, en arrivée à la maison, … Ce périphérique sera mis à jour en fonction de la localisation qui est remontée.

Dans le menu de configuration effectuer les actions suivantes :

Utiliser la fonction d’ajout
d’un périphérique

Dans la rubrique Eléments
de programmation

Rajouter un
périphérique d’état
loceedomus1_eedomusadddevice
eedomus_localization_programming_element eedomus_localization_state_device

eedomus_localization_state_values

La liste des valeurs de ce périphérique va contenir les différentes localisations qu’on souhaite gérer. Pour ma part, j’ai 6 états différents.

L’état « En arrivée » est important : il indique au système que je suis en approche de la maison, et que la prochaine ouverture de porte correspondra à mon arrivée définitive au domicile. Un capteur d’ouverture de porte est nécessaire pour cette détection.
Il faut gérer les cas d’erreurs également : si après 10 minutes dans l’état « En arrivée » la porte ne s’est pas ouverte, j’ai dû m’arrêter en chemin. Dans ce cas je reviens à une localisation par défaut. Le délai d’attente s’intègre au système par la création d’une macro au niveau de ce périphérique. C’est cette macro qui sera appelé lorsqu’on s’approche du domicile plutôt que de changer directement son état :

eedomus_localization_state_macro

Programmation

La première partie concerne la mise à jour de ce périphérique d’état en fonction de la localisation qui a été mise à jour par le smartphone.
La box eedomus gère cela facilement puisqu’elle intègre une condition sur l’entrée (ou la sortie) d’une zone qu’on fixe par sa position géographique et le rayon.

J’ai donc plusieurs règles testant la présence dans des zones géographique. Prenons l’exemple du passage au statut « En arrivée » :

eedomus_localization_rule_enarrivee

Les deux premières conditions empêchent une nouvelle arrivée si je suis déjà là ou déjà en cours d’arrivée à la maison.
La troisième règle fait le test de localisation. En l’occurence ma zone de test fait 800 m de rayon et est centrée sur ma maison. L’action qui est alors déclenchée est d’activer la macro définie ci-dessus :

eedomus_localization_rule_enarrivee_action

La seconde partie va s’occuper de détecter l’arrivée à la maison et déclencher les actions correspondantes. Une deuxième règle va gérer ces aspects. Elle repose sur les conditions suivantes :

eedomus_localization_detect_arrival_cond

La règle ne sera donc activée que dans l’état « En arrivée » et lorsque la porte d’entrée s’ouvre. Dans ce cas les actions suivants sont déclenchées :

eedomus_localization_detect_arrival_action

  • Arrêt de la macro de façon à éviter que la variable d’état revienne à la valeur par défaut après le temps d’attente
  • Activation de l’alerte vocale « Bonjour Vincent »
  • Passage du statut à l’état « Maison ». Mon arrivée est terminée !

D’autres règles sont à définir en fonction de vos besoins pour l’activation de certaines fonctions ou périphériques lorsque vous arrivez : arrêt de l’alarme, ouverture des volets, mise en route de la musique, etc… Ces règles peuvent être conditionnées au passage à l’état « Maison » dans cet exemple.

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.