Utiliser son smartphone comme périphérique de géolocalisation domotique (Version API)8 minute(s) de lecture

La semaine dernière je vous ai présenté le logiciel pour Android nommé MacroDroid.  Capable de collecter à intervalles réguliers les coordonnées GPS de votre téléphone il peut être employé comme un traceur GPS si vous avez la chance d’être équipé d’une centrale domotique eedomus. Le fonctionnement fait que vous êtes géolocalisé à chaque instant et que ces coordonnées sont communiquées à votre box domotique.  Ci pistage peut ne pas vous convenir pour des raisons diverses et variées.  MacroDroid permet également de prendre en compte la détection de la situation géographique du téléphone au sein même de l’application et déterminer si vous rentrez ou sortez d’un périmètre donné. Cela permet ou téléphone de déterminer tout seul si vous arrivez à 100 m de chez vous pour par exemple déclencher l’ouverture du portail ou l’éclairage accueillant.

La méthode présentée aujourd’hui fonctionne avec n’importe quel système domotique mettant à disposition des API pour que l’on puisse communiquer avec lui. Ce sera le cas de la Zibase, de eedomus, …. Pour illustrer la mise en oeuvre je vais décrire comment allumer la lumière de l’entrée dès lors que l’on se rapproche d’une distance donnée d’une maison qui est équipée d’une Zibase.

Côté box domotique Zibase

Il n’y a rien de particulier à faire à part identifier le périphérique qui sera appelé à distance.

Dans le cas présent, dans ma Zibase,  il s’agit du plafonnier de l’entrée. Son identifiant est A3.

Zibase-lampe-entree

Les regards experts auront identifié qu’il s’agit d’un périphérique Delta Dore. Le principe est le même pour un micro module Z-Wave ou tout autre compatible Zibase  Au lieu de commencer par la lettre A, il commencera par la lettre Z.  L’API V2 de la Zibase prend en charge le protocole sans que l’on ait à s’en soucier d’avantage.

L’URL à appeler via une requête HTTP sera de la forme (attention la casse est importante: respectez bien les majuscules/minuscules) :

https://zibase.net/api/get/ZAPI.php?zibase=ZiBASE001000&token=abdc123456789&service=execute&target=actuator&id=A3&action=1

Avec :

  • ZiBASE001000 = l’identifiant principal de votre Zibase
  • abdc123456789 = le token de votre Zibase
  • action = 1 pour activer le périphérique (ici comprendre allumer), ou action = 0 pour désactiver le périphérique (ici comprendre éteindre)

L’identifiant principal de votre Zibase et le Token peuvent être relevés sur l’interface de paramétrage de la Zibase:

Zibase-token

Côté Smartphone

La seconde étape consiste à installer l’application MacroDroid sur votre Smartphone si ce n’est pas déjà fait. Cela s’effectue de manière classique car l’application est disponible sur le Google Play Store.

Pour mettre en place la fonctionnalité du jour, la version gratuite de MacroDroid suffit. En effet, transformer votre smartphone Android en périphérique mobile de déclenchement d’actions en fonction de la position GPS se fait en une seule règle.

La localisation dans MacroDroid

Dans MacroDroid la localisation ne se fait pas en continu. Elle se fait en tâche de fond à une fréquence prédéfinie. Lorsque l’on laisse le soin à l’application de se géolocaliser toute seule afin de déclencher une URL si l’on est dans le rayon d’action prédéfini, il faut jouer sur un paramètre de l’application : la fréquence d’obtention des coordonnées.

Si votre téléphone le permet plusieurs types de collecte de coordonnées de géolocalisation sont possible: par GPS, en s’aidant de la connexion wi-fi ou bien encore via les relais GSM. La géolocalisation via GPS est la plus précise mais également la plus énergivore!  La fréquence peut être définie manuellement mais également via une macro.

Cette valeur est définie par défaut à 10 minutes ce qui peut être un peu trop large.  La valeur peut se modifier dans les paramètres de l’application ou bien encore dynamiquement via une règle comme on pourra le voir à la fin de l’article.

Pour atteindre ledit paramètre :

  • Aller dans Settings

macrodroid-settings

  • Choisir “Location Tirgger”

macrodroid-zibase-trigger-options

macrodroid-zibase-trigger-options-location-rate

macrodroid-zibase-trigger-options-location-rate-value

 

Utilisation des variables

Si vous souhaitez réutiliser l’application MacroDroid par la suite pour faire d’autres appels à la Zibase je vous conseille de mettre en place des variables comme expliqué dans le précédent article traitant de MacroDroid.

Dans le cas du présent tutoriel, et pour montrer que les variables ne sont pas du tout obligatoires on ne va pas en utiliser.

Création de la règle

Pour bien fonctionner la règle doit agir de la manière suivante:

  • la téléphone récupère les coordonnées GPS de manière automatique à la fréquence prédéfinie dans les paramétrages de l’application MacroDroid
  • Dès que l’on est dans un rayon de quelques mètres de la maison, on appelle en HTTP l’API de la Zibase pour lui indiquer d’allumer la lumière de l’entrée

Pour créer la règle procédez de la manière suivante:

  • sur l’écran principal cliquer sur “Add Macro”

macrodroid-traceur-gps-add-macro

  • Choisir en tant qu’élément déclencheur : location trigger

macrodroid-zibase-trigger

  • Choisir “Area Entered” pour indiquer que MacroDroid doit détecter lorsque l’on rentre dans un rayon donné autour de la maison

macrodroid-zibase-area-enter

  • Le message suivnat vous indique comment procéder. Cliquer sur “OK”

macrodroid-zibase-location

  • Appuyer sur “Set location” pour positionner le périmètre à surveiller autour de votre maison

macrodroid-zibase-set location

  • Se déplacer sur la carte et appuyer sur la carte sur l’endroit à surveiller

macrodroid-zibase-place-lieu

  • La barre “Radius” vous permet de définir graphiquement le rayon de la zone à surveiller autour de votre maison.

macrodroid-zibase-place-lieu-etendu

  •  Dès que la zone est correctement positionnée, valider avec le “check” V en haut à droite

macrodroid-zibase-validation

  • Paramétrer ensuite l’action à effectuer par la règle lorsqu’elle rentre dans le rayon paramétré précédemment. Cliquer sur “Open Website” : l’appel à l’API de votre box domotique.

macrodroid-traceur-gps-add-macro-http

  • Renseigner l’URL d’appel de l’API de demande d’allumage de la lampe de l’entrée par la Zibase

macrodroid-traceur-gps-add-macro-http-url

  • Le paramétrage de l’URL aura au final cet aspect-ci. Cocher la case “HTTP GET (no web browser)” pour que l’appel HTTP se fasse en tâche de fond sans que le navigateur internet ne soit affiché. Si vous avez besoin de voir le résultat de l’appel à l’API Zibase, vous pourrez décocher temporairement cette option.  Le retour de l’API Zibase apparaîtra alors dans Chrome. C’est une bonne astuce pour le débogage.

macrodroid-zibase-open-website

  • Appuyer sur la flèche en haut à droite pour paramétrer les contraintes. Dans notre cas il n’y en a pas.

macrodroid-zibase-validation-action

macrodroid-zibase-constraint-none

  • Appuyer sur la flèche en haut à droite pour renseigner le nom de la macro : « Lumière entrée ON approche maison » et lui affecter une catégorie. Valider en appuyant sur « OK ».

macrodroid-zibase-nom

Voilà , le paramétrage est terminé.  La règle est opérationnelle.

macrodroid-zibase-regle

Si vous souhaitez modifier la règle par la suite il vous faudra simplement cliquer sur le petit crayon à droite.

macrodroid-zibase-regle-modif

Le trigger ou l’action peuvent alors être modifiée à leur tour. C’est sur cet écran que la règle peut être supprimée ou que l’ordre des multiples actions peut être modifié.

Conclusion

Maintenant que le tout est en place, il ne reste plus, encore une fois… qu’à aller vous promener.  Dés que vous reviendrez dans un rayon prédéfini autour de votre logement, la lumière de l’entrée vous accueillera.

Dans la vraie vie, il faudra peut être appeler plutôt un scénario afin d’allumer cette lumière uniquement si la luminosité l’impose. On pourra utiliser un périphérique tel que le détecteur crépusculaire Chacon 54783, ou s’appuyer sur la variable S10 qui indique si l’on est le jour (S10=1) ou bien la nuit (S10=0) en fonction de l’heure du levé et du couché du soleil.

La mise ne place encore une fois est très simple. Pour ce 2ème tutoriel j’ai certes un peu moins détaillé pas à pas les étapes pour ne pas être trop redondant par rapport à l’article précédent traitant de la géolocalisation avec cette même application MacroDroid.

Il faut tout de même garder à l’esprit que cette fonctionnalité consomme de la batterie. Il peut être judicieux de ne faire fonctionner cette règle qu’à certain moments la journée en fonction de vos besoins et habitudes de vies. Via les règles MacroDroid on peut dynamiquement augmenter ou diminuer la fréquence de détermination des coordonnées GPS. Cela se fait en créant une second règle qui utilisera l’action “Set Location Update Rate”.

macrodroid-zibase-reglage-frequence

macrodroid-zibase-reglage-frequence-min

Pour une utilisation en voiture on pourra par exemple activer la fréquence de géolocalisation en fonction du lancement d’une application de guidage GPS par exemple.  Le fait d’arrêter l’application GPS peut remettre cette fréquence à une valeur faible et/ou mettre la règle en sommeil.  Si vous avez une vie bien rythmée vous pourrez vous appuyer sur des jours/heures directement renseignés dans MacroDroid ou bien utiliser votre calendrier Google Calendar pour activer une fréquence élevée ou au contraire faible et peu consommatrices de batterie.

A vous de voir ce qui est le plus simple en fonction de vos souhaits, besoins, habitudes et modes de vies.

Faites-en bon usage!

3 Comments

  1. Dodutils said:

    Une question que je me pose, si on est dans un endroit qui ne voit pas les satellites, le smartphone restera-t-il en recherche permanente ou va-t-il lâcher l’affaire sinon ça risque de pomper fortement sur la batterie.

    ceci dit je pense que se baser sur la détection de la borne WiFi de la maison est plus judicieux.

    Et sinon côté automatisation Android, en plus de MacroDroid il existe quelques autres outils du même type qui valent le coup de tester, le meilleur étant sans aucun doute Tasker (payant, mais bon 2.99€ c’est pas la mort), Actions Lite (ou la version Pro payante), Automate It, AutoMagic.

    jeudi 13 novembre 2014
    Reply
  2. Benoît said:

    Belle article de présentation de ce soft à tester. Ca donne une idéesdu fonctionnement. Personnellement j’ai une Zibase.
    Pour l’article c’est vrai que montrer que l’on peux activé le plafonnier suffit pour expliquer le fonctionnement. Pour gérer au mieux c’est vrai que de lancer un scénarios pour enregistrer dans une variable si la personne est en mode départ ou retour à la maison. Dans une même famille équipé de téléphone, chacun sa variable. Celon si c’est les parents ou les ados, qui rentrent on ne fait pas les mêmes actions. Moi je veux que la porte du garage s’ouvre. L’ado veut que le pc Démarre…..

    dimanche 16 novembre 2014
    Reply
  3. Cédric said:

    Bonjour,
    comme logiciel sur Android il y a GpsDomotik qui fonctionne très bien avec la Zibase.

    dimanche 16 novembre 2014
    Reply

Laisser un commentaire

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

Prouvez que vous êtes humain: * Time limit is exhausted. Please reload CAPTCHA.