Dernièrement je vous ai fait la présentation d’un petit outil qui fonctionne sur les appareils Android appelé MacroDroid. Il permet d’utiliser toutes les données et d’exploiter les composants de votre smartphone en fonction de règles automatiques que vous lui aurez spécifié. Je vous propose aujourd’hui de mettre en application ces nouvelles possibilités offertes afin de transformer votre smartphone en traceur GPS pour la box domotique Eedomus.
Le traceur GPS est un type de périphérique évolué proposé par eedomus. Il permet de créer des scénarii domotiques en fonction de la géolocalisation d’un appareil. Connected Object propose une compatibilité avec un traceur GPS autonome qui peut être installé à demeure dans votre véhicule par exemple. MacroDroid et le présent tutoriel vous permettent d’avoir la même fonctionnalité avec votre smartphone.
Le Traceur GPS proposé consiste à relever les coordonnées GPS de votre appareil à une fréquence prédéfinie et de les communiquer à votre box eedomus.
Côté box eedomus
Sur votre box eedomus il faut donc créer ce périphérique. Il se trouve dans la section “Autres” avec celui destiner aux onduleurs.
Le paramétrage est tout simple: il n’y a pas de réglages particuliers à part de lui donner un nom personnalisé et le positionner dans une pièce.
Pensez à relever son code API dans les “Paramètres experts” vous en aurez besoin par la suite.
L’installation côté Eedomus est terminée! Ça c’est fait.
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, il vous faudra acquérir la version payante de MacroDroid. En effet, transformer votre smartphone Android en Traceur GPS se fait en une seule règle, mais il faut enchaîner, au sein de cette règle, plusieurs actions. La version gratuite de l’application ne permet de paramétrer qu’une seule action à la fois.
La localisation dans MacroDroid
Dans MacroDroid la localisation ne se fait pas en continu. Elle peut être faite en tâche de fond à une fréquence prédéfinie ou bien dans une macro à la demande. Dans le cas présent la fréquence de rafraîchissement des coordonnées GPS va peu nous importer car nous allons forcer cette collecte d’information à une fréquence qui nous est propre. 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!
Création des variables
Pour pouvoir mettre en place la fonctionnalité on aura besoin d’appeler l’API eedomus via MacroDroid. On va donc créer 3 variables pour décomposer l’URL d’appel de l’API permettant de communiquer la nouvelle position au composant “Traceur GPS” de la box
Pour rappel, la requête HTTP permettant d’appeler l’API est de la forme:
http://api.eedomus.com/set?api_user=AAAAAA&api_secret=BBBBBBBBBB&action=periph.value&periph_id=111111&value=CCCCCCC
Dans le cadre d’un périphérique Traceur GPS via MacroDroid voici comment je vous propose de découper l’URL d’appel de l’API:
- la valeur à communiquer, CCCCCCC dans notre exemple, sont les coordonnées GPS. Dans MacroDroid elles seront mises dans la variable “geolocalisation”.
- l’identifiant du périphérique “Traceur GPS”, 111111 dans notre exemple sera mis dans la variable “periph_geoloc”
- l’URL d’appel avec vos identifiants, AAAAAA et BBBBBBBBBB dans notre exemple, sera mis dans la variable “API eedomus”
Le fait de découper l’URL en 3 permet de réutiliser par la suite la partie commune de l’URL dans d’autres occasions pour lesquelles on aura besoin de discuter avec la centrale domotique.
Pour créer les variables :
- sur l’écran principal cliquer sue le bouton (1) permettant d’accéder aux variables (2)
- Voici les 3 variables qu”il faudra créer. Pour cela cliquer sur le +
- Renseigner le nom de la première variable à créer “API eedomus” et lui affecter un type chaîne de caractères ou “string”
- cliquer sur “OK”. Vous serez alors redirigé sur l’écran précédent
- renseigner la valeur de la variable à savoir:
http://api.eedomus.com/set?api_user=AAAAAA&api_secret=BBBBBBBBBB&action=periph.value&
…en remplaçant AAAAAA et BBBBBBBBBB par vos propres identifiants
- Créer de la même manière la variable “periph_geoloc” de type “string” avec la valeur
periph_id=111111&value=
…en replaçant 111111 avec l’ID du périphérique eedomus créé précédemment
- Créer de la même manière la variable “geolocalisation” de type “string”. Ne pas lui afffecter de valeurs.
Création de la règle
Pour bien fonctionner la règle doit agir de la manière suivante:
- on force la géolocalisation
- on patiente de manière arbitraire 10s que la géolocalisation se fasse. Ces 10 secondes peuvent être abaissés si votre appareil est très rapide pour collecter les coordonnées GPS
- on renseigne la variable “geolocalisation” avec les coordonnées GPS
- on appelle en HTTP le périphérique Traceur GPS de l’eedomus via l’API pour lui communiquer ces coordonnées GPS
Pour créer la règle procédez de la manière suivante:
- sur ‘écran principal cliquer sur “Add Macro”
- Cliquer sur “Regular Interval” pour paramétrer le trigger ou élément déclencheur comme étant à une fréquence fixe.
- Sélectionner par exemple 5 minutes. La “référence start tme” vous permet de définit une heure à partir de laquelle le décompte de 5 min en 5 min sera effectué. Vous pouvez l’ignorer et laisser la valeur par défaut.
- Cliquer sur “Force Location Update” pour paramétrer la première action
- Cliquer sur “Sleep before next action” pour paramétrer la deuxième action
- affecter une durée de 10 secondes
- Cliquer sur “Share Location” pour paramétrer la troisième action
- Sélectionner le fait que les coordonnées de géolocalisation doivent être mises dans une variable
- Sélectionner la variable “geolocalisation”. Vous remarquerez au passage que l’on peut sur cet écran également créer des nouvelles variables.
- Cliquer sur “Open Website” pour paramétrer la quatrième et dernière action: l’appel à l’API eedomus
- Cliquer sur le bouton Gris “..” pour faire apparaître la liste des variables
- Sélectionner la variable “API eedomus” et valider en appuyant sur “OK”
- Cliquer à nouveau sur le bouton Gris “..” pour faire apparaître la liste des variables.
- Sélectionner la variable “periph_geoloc” et valider en appuyant sur “OK”
- Cliquer à nouveau sur le bouton Gris “..” pour faire apparaître la liste des variables.
- Sélectionner la variable “geolocalisation” et valider en appuyant sur “OK”
- 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 eedomus vous pourrez décocher temporairement cette option. Le retour de l’API eedomus apparaîtra alors dans Chrome. C’est une bonne astuce pour le débogage.
- Appuyer sur la flèche en haut à droite pour paramétrer les contraintes. Dans notre cas il n’y en a pas.
- Appuyer sur la flèche en haut à droite pour renseigner le nom de la macro : “Traceur GPS” et lui affecter une catégorie. Valider en appuyant sur “OK”.
Voilà , le paramétrage est terminé. La règle est opérationnelle.
Si vous souhaitez modifier la règle par la suite il vous faudra simplement cliquer sur le petit crayon à droite.
Chaque trigger ou action peut alors être modifiée à son 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… qu’à aller vous promener. En ce qui me concerne je suis allé visiter un parc parisien. Voici ce que j’obtiens après avoir pris le train et marché depuis la gare.
La mise ne place on le voit est très simple. La longueur de l’article découle du fait que, pour un premier tutoriel j’ai souhaité détailler pas à pas les étapes.
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. Pensez également que les règles dans MacroDroid peuvent être activées ou désactivées par d’autres règles ce qui rend la tâche plus simple. Pour une utilisation en voiture on pourra par exemple activer la règle de géolocalisation en fonction du lancement d’une application de GPS par exemple. Le fait d’arrêter l’application GPS peut remettre la règle en sommeil. On peut également identifier que l’on est au travail ou à la maison et qu’il est inutile de rechercher à géolocaliser le portable tant que l’on n’a pas quitté ces lieux.
A vous de voir ce qui est le plus simple en fonction de vos souhaits, besoins, habitudes et modes de vies.
Après avoir mis en place le Traceur GPS, ce dernier est maintenant disponible dans le moteur de règles de la box eedomus pour que vous puissiez l’utiliser afin de déclencher des actions dés lors que vous êtes à moins (ou à plus) de x mètres d’un lieu. Si ce lieu est votre maison vous pouvez allumer la lumière de l’entrée avant d’y arriver…
merci !
ca c’est du tuto empathique ^^ !
Super Tuto, très bien détaillé.
Merci !!
slt
Merci encore ..
ça c’est un tuto pour les nuls … et j’aime ça !!!
merci pour le travail.
@+
Absolument GENIAL ! cela fonctionne parfaitement, ça me sera bien pratique pour prévenir automatiquement ma conjointe de préparer le repas lorsque je rentre dans un rayon de 20 km en rentrant du taf 🙂
Merci et encore Merci
Il n’y a pas de quoi. Je suis content que ça puisse être utile à d’autres!
Bonjour,
Y a-t’il l’équivalent pour Iphone.
Le tuto est vraiment top.
Bonjour,
peut-on modifier l’intervalle de mise a jour des coordonnées GPS en fonction la distance avec sa maison? C’est a dire que plus on est loin de sa maison, moins les coordonnées sont mise à jour souvent (fait par localisation GSM). Tout ce que je veux, c’est savoir si j’arrive chez moi et que quand je suis pas chez moi, que l’appli me bouffe pas toute la batterie en GPS.
habitant en campagne, le tracage gps+ telephone est très erratique. j’ai donc mis une MAJ toutes les 10s mais ca me pompe de la batterie a une vitesse folle meme quand je suis à la maison. J’ai du coup amélioré la chose en mettant comme RESTRICTION “le wifi est déconnecté” partant du principe que s’il n’est pas connecté, je suis a l’exterieur. Certes ca continue de tourner si on est a pied ou loin dans le jardin mais ca reste quand meme moins energivore.
Bonjour EnR37,
C’est une bonne idée. Tu peux aussi tester le fait de capter ou non des Relais GSM. C’est une règle supplémentaire qui aurait comme action “Changement de Relais Cellulaire”. Si tu captes celle de chez toi tu fais ce que la règle GPS fait. Le téléphone utilise la connexion à un relais GSM donné pour se géolocalisé. C’est peut être moins précis mais c’est également moins énergivore.
Salut! Merci pour le tuto. J’aimerais équiper mon chien dune puce et via mon téléphone pouvoir le localiser. Jaimerais tout faire moi même car je trouve les prix exorbitants. D’après toi, que devrais-je utiliser comme puce, système? Merci pour tes conseils!
Bonjour.
Merci pour ce tuto…
Mais la dernière version de MacroDroid (V 3.15.9) est différente, et je suis un peu perdu.
Y a t’il moyen de me secourir ou de mettre à jour le tuto ….
Merci