La géolocalisation avec Jeedom

La géolocalisation avec Jeedom

texte alternatif

Pour compléter l’article de Xiao Nico sur la gestion de présence https://youdom.net/2020/04/01/la-presence-avec-jeedom/, je vous propose aujourd’hui un article sur la géolocalisation. C’est intéressant pour plusieurs cas de figures: ouverture de portail à distance, être notifié quand un membre rentre à la maison, gestion de chauffages et j’en passe. Vous avez besoin pour cela du plugin Localisation et trajet dans jeedom d’une clef API chez Google et de domowidget sur votre téléphone portable. Deux précisions mon téléphone est sous android et Google vous attribue à la date de l’édition de cet article la gratuité de l’API embed. Maintenant que j’ai dégrossis le sujet rentrons dans le vif.

Pré-requis

-> Le plugin localisation et trajet avec une API Google Maps avec l’API embed
-> L’ application domowidget installé sur un téléphone android
-> Une connection https (nb un article est disponible par ici https://youdom.net/2020/02/09/generer-un-certificat-lets-encrypt-sur-apache/)

Installation et configuration du plugin Localisation et trajet

Je pars du principe que vous avez téléchargé et activé le plugin. Vous devez créer une clef API chez Google. Rien de bien compliqué, il suffit de cliquer sur API Google Maps dans la configuration du plugin ou directement sur ce lien https://cloud.google.com/maps-platform/#get-started. Une fois le nom d’utilisateur et mot de passe renseigné, suivez la flèche rouge et affichez le tableau de bord.

Tableau de bord Google

Une fois arrivé sur votre tableau de bord, cliquer sur identifiants dans le menu de gauche. Vous devez voir un écran similaire au miens avec plus ou moins d’informations affichées. En haut de votre tableau de bord vous devez cliquer sur Créer des identifiants puis Clé API.

Créer des identifiants

Google génèrera une clé API automatiquement. Copiez votre clé. Vous pouvez soit la restreindre ou bien fermé votre fenêtre.

Cle API générée

Il ne vous reste plus qu’à coller votre clé API dans le plugin Localisation et trajet comme indiqué ci-dessous puis Sauvegarder.

Gestion du plugin Localisation et trajet

Maintenant que la clé API est renseignée, nous allons voir comment géolocalisé son téléphone portable avec ce plugin. Aller dans le plugin depuis Plugins/Organisation puis Localisation et trajet. Sous gestion, cliquer sur Ajouter.

Dans un premier temps nous allons définir ensemble la localisation de votre domicile.

Pour cela, cliquez sur ajouter. Donnez un nom à votre équipement, un objet parent puis une catégorie. Devant type de localisation / trajet choisissez localisation puis mode de configuration par coordonnées. Renseigner les coordonnées GPS devant la case coordonnées trouvés depuis ce lien: https://www.torop.net/coordonnees-gps.php. Cocher les cases déterminer l’adresse et rafraichissement automatique. Enregistrer puis revener au menu principal du plugin.

Localisation domicile /Maps/

Dans un second temps, nous allons créer un équivalent mais cette fois pour votre téléphone portable.

Pour cela, cliquez sur ajouter. Renseigner un nom, un objet parent et une catégorie. Devant type de localisation / trajet, choisisser localisation, devant mode de configuration par coordonnées. Laisser le champs coordonnées vide. Cocher les cases déterminer l’adresse et rafraichissement automatique. Enregistrer puis revenez au menu principal du plugin. Depuis la photo ci-dessous, j’ai laissé 74&value=%LOCN visible. Nous aurons besoin de cette information plus tard dans l’article.

Localisation téléphone /Phone Thomas/

Dans un troisième temps, nous allons créer un équipement pour déterminer la distance entre votre domicile et votre téléphone.

Pour cela comme indiqué précédemment, cliquez sur ajouter. Donnez un nom à votre équipement, un objet parent et une catégorie.Devant type de localisation / trajet, choisissez geofence, choisisser le nom de l’équipement donné à la localisation de votre maison /Maps/ devant référence de la distance. Puis dans équipements à rechercher, cocher le nom de l’équipement donné à localisation de votre téléphone /Phone Thomas/. Enregistrer et fermer la fenêtre.

Geofence /Phone Geo_Thomas/

Petit plus, vous pouvez également déterminer le trajet entre votre domicile et votre téléphone. Pour cela créer un nouvel équipement, donnez un nom, un objet parent et une catégorie. Devant type de localisation / trajet, choisisser trajet, cliquer sur le nom de l’équipement donné à la localisation de votre maison /Maps/ devant localisation de départ. Dans localisation d’arrivée, cocher le nom de l’équipement donné à localisation de votre téléphone /Phone Thomas/. Enregistrer et fermer la fenêtre.

Trajet /Trajet Thomas/

Nous en avons terminé pour la partie installation et configuration du plugin localisation et trajet. Avant de laisser de côté jeedom, je vous suggère de récupérer quelques informations qui nous seront utiles pour la configuration de domowidget. Il vous faut:
– l’adresse IP interne et externe de votre jeedom
– les clés API de jeedom et du plugin localisation et trajet
– l’id: crée dans votre équipement équivalant à /Phone Thomas/.
Pour éviter toutes erreurs envoyez ces informations vers votre téléphone portable pour copié/collé.

Visu du rendu dans jeedom

Installation et configuration de l’application domowidget

Téléchargement et installation de domowidget depuis le store de votre téléphone portable.


Une fois fait, ouvrer l’application. Depuis le menu à gauche, ouvrer box domotique. Plusieurs champs sont à renseignés. Petite précision concernant la clef API, il s’agit de celle de votre jeedom. Pour vous assurer que vos informations soient bonnes, cliquer sur récupérer les équipements. Si tout est OK un message apparait au bas de votre écran vous faisant état du nombre d’équipements ajoutés. Avant de quitter cet écran, enregistrer votre configuration sur la disquette en haut à droite de votre écran.

Domowidget /Box domotique/

Création du widget GPS

C’est celui qui communiquera avec jeedom. Il enverra votre position au plugin localisation et trajet. Pour ce faire revener sur l’écran d’accueil de votre téléphone portable. Ajouter le widget GPS à votre écran d’accueil depuis la case domo widget, comme indiqué ci-dessous.

Widget GPS

Sur cet écran vous pouvez vous rendre compte que cette application peut vous permettre de créer plusieurs raccourcis pour être informé et/ou piloter votre maison à distance. Une fois le widget GPS affiché sur votre écran, une page s’ouvre.

Configuration du widget GPS

Vous allez devoir reprendre les informations que je vous ai demandé d’envoyer vers votre téléphone portable à la fin du chapitre: Installation et configuration du plugin Localisation et trajet

Veuillez donc renseigner les informations ci-dessous:
– séléctionner le nom de votre box domotique paramétré précédemment
– Le nom de votre widget ici: GPS
– la clef API du plugin: il s’agit de celle du plugin localisation et trajet
– l’ URL du plugin, recopié ce qui suit: /plugins/geotrav/core/api/jeeGeotrav.php
Identifiant plugin: il s’agit de l’id indiqué lorsque vous avez crée l’équipement localisation de votre téléphone /Phone Thomas/ dans jeedom
Pour ce qui est des trois autres informations vous pouvez reprendre les mêmes indications. Enregistrer en cliquant sur la disquette.

GPS

Si toutes les étapes décrites précédemment ont été respectées, votre téléphone sera géolocalisé dans votre jeedom. Penser surtout à activer votre GPS pour que votre position se mette à jour à intervalle régulier (15 minutes).

Exemple de scénario avec la géolocalisation

Pour rendre concret cet article, je vous montre un scénario simple à mettre en place. Dans jeedom, aller dans Outils, Scénarios puis Ajouter.

Scénario

Regardons de plus prêt ce scénario.

Premier bloc SI avec comme condition:
– #[Thomas][Phone Geo_Thomas][Distance Phone Thomas]# <= 150. Si mon téléphone est à inférieur ou égale à 150 mètres, alors c’est que je suis proche de chez moi.

– Je log et je fais prendre état mon virtuel par: #[Thomas][Etat][Proche]#.
N’oubliez pas de cocher les deux flèches à gauche du SI pour éviter les répétitions.
Dans ce bloc SI j’ajoute un deuxième bloc SI avec comme condition:

– #[Thomas][Etat][Etat]# == 0 ET #[xxxx][Etat][Etat]# == 1 OU #[xxx][Etat][Etat]# == 1. Si mon état == 0 (En d’autres mots, je suis absent) ET xxx OU xxx sont == 1 (présent(s)) xxx étant d’autres membres de ma famille.

– Je log ma condition, et je fais une annonce via Alexa que je suis sur le point de rentrer chez moi: Thomas arrive, il est à #[Thomas][Phone Geo_Thomas][Distance Phone Thomas]# mètres de la maison.

Dans le SINON du premier bloc SI:
– je log que je suis à plus de 150 mètres de chez moi: Thomas à plus de #[Thomas][Phone Geo_Thomas][Distance Phone Thomas]# mètres de la maison et je passe mon virtuel en l’état: #[Thomas][Etat][Loin]#.

Nous touchons à la fin de cet article. Il est long et détaillé pour que vous puissiez facilement configurer votre jeedom et téléphone portable pas à pas. Je vous ai montré un scénario simple à exécuter qui reprend l’intégralité de cet article. Si zone d’ombre il y a, vous savez que l’équipe Youdom – Entraide jeedom vous répondra à toutes vos questions.

A bientôt dans un prochain article…