Aller au contenu principal

description="Centraliser des coordonnées GPS existantes, les afficher sur une carte et suivre des distances ou présences autour d'un repère."

Jeeloc

Centraliser des coordonnées GPS existantes, les afficher sur une carte et suivre des distances ou présences autour d'un repère.

Jeedom 4.4+stableos 11+php 7.4/8.x☕ Soutenir le développement

Le plugin Jeeloc sert à regrouper plusieurs localisations dans Jeedom.

Il ne localise pas directement un téléphone ou une personne. Il utilise des commandes Jeedom déjà existantes qui renvoient des coordonnées GPS, par exemple depuis un plugin de localisation, une commande personnalisée ou une position fixe.

Jeeloc propose deux types d'équipements :

  • Localisation : affiche des positions sur une carte interactive, calcule des distances et gère des présences
  • Trajet : calcule le temps de trajet et la distance routière entre deux points via l'API Mapbox

✅ Prérequis

Avant d'utiliser Jeeloc, il faut disposer d'au moins une source de coordonnées GPS.

La commande utilisée doit retourner une valeur au format :

latitude,longitude

Jeeloc n'a pas de dépendances à installer et ne lance pas de démon.


📦 Installation

  1. Installer le plugin depuis le Market Jeedom
  2. Activer le plugin
  3. Aller dans :
Plugins → Organisation → Jeeloc

Après activation, le plugin apparaît sous forme de panel et d'équipements Jeedom.


⚙️ Configuration globale du plugin

La configuration globale contient deux sections.

🌍 Reverse geocoding

Le reverse geocoding permet de transformer une coordonnée GPS en adresse lisible : rue, code postal, ville.

Jeeloc propose deux modes :

  • Nominatim / OpenStreetMap : mode par défaut, sans clé API
  • MapQuest : ancien mode conservé en option, avec clé API MapQuest

🔧 Options disponibles

OptionUtilisation
Utiliser MapQuestActive le reverse geocoding via MapQuest
Clé MapQuestClé API MapQuest utilisée uniquement si l'option MapQuest est activée
info

Si Utiliser MapQuest est décoché, Jeeloc utilise automatiquement Nominatim / OpenStreetMap.

info

Si Utiliser MapQuest est coché mais que la clé MapQuest est vide, Jeeloc bascule automatiquement sur Nominatim.

astuce

Nominatim ne demande pas de clé API. Jeeloc envoie un User-Agent propre à l'installation afin d'identifier correctement les requêtes.

🗺️ Calcul de trajet (Mapbox)

Le calcul de trajet utilise l'API Mapbox Directions.

OptionUtilisation
Clé API MapboxClé commençant par pk. nécessaire pour les équipements de type Trajet
info

La clé Mapbox est uniquement nécessaire si vous créez des équipements de type Trajet. Elle n'est pas utilisée pour les équipements de type Localisation.

Pour obtenir une clé Mapbox, créer un compte gratuit sur mapbox.com.


📍 Reverse geocoding

Le reverse geocoding est utilisé uniquement pour afficher une adresse lisible à partir des coordonnées GPS.

Quand une position est lue, Jeeloc peut récupérer et enregistrer :

  • la rue
  • le code postal
  • la ville
  • la date du dernier reverse geocoding

🌍 Fonctionnement avec Nominatim

Lorsque MapQuest n'est pas activé, Jeeloc interroge Nominatim OpenStreetMap.

Dans ce mode :

  • aucune clé API n'est nécessaire
  • un User-Agent unique est généré par installation
  • la réponse est utilisée pour remplir l'adresse affichée dans le widget et le panel

🧭 Fonctionnement avec MapQuest

MapQuest reste disponible pour les utilisateurs qui souhaitent continuer à l'utiliser.

Pour utiliser MapQuest :

  1. cocher Utiliser MapQuest dans la configuration du plugin
  2. renseigner une clé MapQuest valide
  3. sauvegarder la configuration

Si la clé est absente, Jeeloc ne bloque pas le plugin et revient automatiquement sur Nominatim.

🚦 Limitation des appels

Jeeloc évite de refaire une recherche d'adresse inutilement.

Le comportement est le suivant :

  • la position est lue depuis une commande Jeedom ou depuis des coordonnées fixes
  • Jeeloc compare avec l'ancienne position connue
  • si le déplacement dépasse l'offset configuré, l'adresse est recalculée
  • l'adresse, la ville, le code postal et la date du dernier calcul sont enregistrés
astuce

Pour une position GPS de téléphone, un offset entre 100 m et 300 m est souvent plus stable qu'une valeur trop basse. Cela évite les changements trop fréquents liés à l'imprécision GPS.


📍 Localisation

Un équipement Localisation permet de regrouper plusieurs positions GPS sur une carte interactive, de calculer les distances par rapport à un repère et de suivre la présence.

🗺️ Créer un équipement Localisation

Dans la page du plugin, cliquer sur + Localisation pour créer un nouvel équipement.

Dans l'onglet Équipement, renseigner :

  • le nom de l'équipement
  • l'objet parent
  • les catégories Jeedom
  • l'état actif / visible

🧩 Configuration de l'équipement Localisation

Dans l'onglet Configuration, vous pouvez régler :

ParamètreRôle
Fréquence de rafraîchissement des donnéesPermet de lancer automatiquement la mise à jour des positions
WidgetAffiche le plan par défaut dans le widget si l'option est activée

Le bouton avec l'icône d'aide permet de générer facilement une expression cron Jeedom.

📌 Ajouter des localisations

Dans la section Équipements, Jeeloc propose deux types d'ajout.

🔗 Ajouter une commande

Utiliser Commandes si la position vient d'une commande Jeedom existante.

C'est le cas le plus courant.

La commande choisie doit retourner des coordonnées au format :

latitude,longitude

Exemples d'usage :

  • téléphone suivi par un autre plugin
  • position d'un véhicule
  • position d'une personne
  • commande virtuelle contenant une coordonnée GPS

🏠 Ajouter des coordonnées fixes

Utiliser Coordonnées pour saisir directement une position fixe.

C'est utile pour créer un lieu de référence :

  • maison
  • travail
  • école
  • gare
  • parking

🎨 Personnaliser l'affichage

Chaque localisation peut être personnalisée.

ChampDescription
NomNom affiché dans la carte et le résumé
LocalisationCommande Jeedom ou coordonnées fixes
MarkerCouleur du marqueur sur la carte
IcôneIcône Font Awesome utilisée sur le marqueur
CouleurCouleur de l'icône
ImageImage personnalisée affichée dans la vue résumé
RepèreDéfinit la localisation comme point de référence pour les distances
OffsetDistance en mètres utilisée pour la présence et le recalcul d'adresse
AffichageAffiche ou masque la localisation dans le widget
attention

Il ne faut définir qu'un seul repère par plan. Le repère sert de point central pour calculer la distance avec les autres localisations.

🏡 Fonctionnement du repère et de la présence

Le repère est la position de référence.

Par exemple, si le repère est la maison, Jeeloc peut calculer la distance entre la maison et chaque téléphone suivi.

Pour chaque localisation non repère, Jeeloc crée automatiquement une commande binaire de présence.

La présence passe à :

  • 1 si la localisation est dans la zone définie par l'offset
  • 0 si la localisation est en dehors de cette zone

Exemple :

ÉlémentValeur
RepèreMaison
Localisation suivieTéléphone Laurent
Offset100
RésultatPrésent si le téléphone est à 100 mètres ou moins de la maison

Les commandes de présence orphelines sont nettoyées automatiquement lorsqu'une localisation est supprimée ou modifiée.

🧭 Widget Localisation

Le widget Localisation propose deux vues.

🗺️ Vue carte

La vue carte affiche les marqueurs sur une carte OpenStreetMap.

Chaque marqueur peut afficher :

  • le nom
  • l'adresse
  • la date du dernier reverse geocoding
  • la position sur la carte

Des boutons permettent aussi de centrer la carte sur une localisation précise.

📋 Vue résumé

La vue résumé affiche les localisations sous forme de liste.

Elle peut afficher :

  • l'image ou l'icône
  • le nom
  • l'adresse
  • le temps écoulé depuis la dernière adresse connue
  • la distance au repère
  • l'état de présence

Le bouton de bascule du widget permet de passer de la carte au résumé.

⚡ Commandes créées (Localisation)

CommandeTypeDescription
RefreshActionForce la mise à jour des localisations
Présence <nom>Info binaireIndique si la localisation est dans la zone du repère

🚗 Trajet

Un équipement Trajet calcule la durée et la distance routière entre deux points en utilisant l'API Mapbox Directions.

info

Une clé API Mapbox est obligatoire pour utiliser ce type d'équipement. Elle doit être renseignée dans la Configuration globale du plugin.

🗺️ Créer un équipement Trajet

Dans la page du plugin, cliquer sur + Trajet pour créer un nouvel équipement.

Dans l'onglet Équipement, renseigner :

  • le nom du trajet
  • l'objet parent
  • les catégories Jeedom
  • l'état actif / visible

🧩 Configuration du trajet

La configuration du trajet se fait dans l'onglet Trajet.

📍 Départ

Le point de départ peut être défini de deux façons :

OptionDescription
Commande GPS (dynamique)Commande info Jeedom retournant lat,lng. Prioritaire sur les coordonnées fixes. Utile pour suivre la position d'une personne ou d'un véhicule.
Latitude / Longitude fixesCoordonnées saisies manuellement. Utiliser le bouton Géocoder pour convertir une adresse en coordonnées.
astuce

Si une commande GPS est renseignée, elle est utilisée en priorité. Les coordonnées fixes ne sont utilisées que si aucune commande n'est sélectionnée.

🏁 Arrivée

Le point d'arrivée fonctionne de la même façon que le départ :

OptionDescription
Commande GPS (dynamique)Commande info Jeedom retournant lat,lng. Prioritaire sur les coordonnées fixes.
Latitude / Longitude fixesCoordonnées saisies manuellement ou géocodées depuis une adresse.

🚗 Profil de trajet

Le profil détermine le mode de transport utilisé pour le calcul.

ProfilDescription
Voiture (avec trafic)Calcul en voiture en tenant compte du trafic en temps réel (défaut)
VoitureCalcul en voiture sans trafic
VéloCalcul à vélo
PiétonCalcul à pied

⚡ Commandes créées (Trajet)

Jeeloc crée automatiquement les commandes suivantes pour chaque équipement Trajet :

CommandeTypeUnitéDescription
CalculerActionDéclenche le calcul du trajet via Mapbox
DuréeInfo numériqueminDurée estimée du trajet en minutes
DistanceInfo numériquekmDistance du trajet en kilomètres
StatutInfo texteOK si le calcul a réussi, message d'erreur sinon

🖥️ Widget Trajet

Le widget Trajet affiche :

  • l'icône du mode de transport (voiture, vélo, piéton)
  • la durée du trajet en grand (ex : 23 min ou 1h05 trajet)
  • la distance
  • l'heure du dernier calcul
  • un bouton de recalcul manuel

Si aucun calcul n'a encore été effectué, le widget affiche Aucune donnée.

🔄 Rafraîchissement automatique

Pour recalculer automatiquement le trajet à intervalles réguliers, configurer une fréquence de rafraîchissement dans l'onglet Configuration de l'équipement.

Exemple de cas d'usage :

  • recalculer le temps de trajet vers le bureau toutes les 10 minutes le matin
  • déclencher le calcul depuis un scénario avant de partir

🤖 Utilisation dans les scénarios

Jeeloc peut être utilisé dans les scénarios Jeedom pour déclencher des actions selon la présence, la distance ou la durée de trajet.

Exemples :

  • lancer une action quand une personne arrive à la maison
  • envoyer une notification si un véhicule quitte une zone
  • activer un mode maison quand une présence passe à 1
  • afficher le temps de trajet dans un message de notification
  • prévenir quand le trajet dépasse un seuil de durée

🖼️ Gestion des images personnalisées

Jeeloc permet d'associer une image à une localisation.

Les images peuvent être utilisées pour rendre la vue résumé plus lisible.

Formats acceptés :

  • PNG
  • JPG

Limite :

  • 1 Mo maximum par fichier

Les noms de fichiers doivent rester simples : lettres, chiffres, tirets et underscores.


🖥️ Panel Jeeloc

Le plugin dispose aussi d'un affichage en panel.

Le panel permet d'afficher les plans Jeeloc en dehors du dashboard classique.


💡 Bonnes pratiques

  • Utiliser un nom clair pour chaque localisation et chaque trajet
  • Garder un seul repère par plan Localisation
  • Mettre un offset réaliste, surtout pour les téléphones
  • Éviter les rafraîchissements trop fréquents
  • Laisser MapQuest désactivé si vous n'avez pas de clé API MapQuest
  • Préférer Nominatim pour une configuration simple sans clé API
  • Pour les trajets Mapbox, préférer le profil Voiture (avec trafic) pour des durées réalistes