Bonjour,
J’ouvre ce post pour, d’une part, partager ma compréhension de la fonction « Géolocalisation » dans JeeMate et d’autre part, obtenir des clarifications afin d’améliorer la manière dont je pourrais exploiter les données renvoyées par l’app.
En premier lieu, je tiens à souligner que JeeMate est un excellent plugin, qui, pour moi, fonctionne dans son ensemble parfaitement et donc, encore un grand merci à l’équipe qui en est à l’origine pour en continuer le développement et en assurer son support.
Mon besoin : essayer de rendre le plus robuste possible ma gestion de présence et géolocation dans Jeedom.
Comme beaucoup d’entre-nous, je suppose, de multiples actions de mon système domotique découlent et sont dépendantes de ces données et de leur fiabilité.
Rappel (selon ma compréhension)
Après la création d’une zone de Geofencing (définie par center lat/long + radius) le plugin renvoie les données suivantes :
- Position : échantillon de la position (lat/long) sur l’itinéraire
- Motion Activity : une de la liste (in_vehicle, on_bicycle, on_foot, running, still, unknown, walking)
- Presence (binary) : 1=inside zone, 0=outside zone
- Distance : distance du bord de la zone (en m) = distance du centre de la zone – radius
Ces 4 données qui, si elles sont historisées, sont regroupées dans la table Historique de Jeedom affectées chacune d’un timestamp.
Exploitation des données
Un de mon premier besoin est de pouvoir appliquer un algorithme de filtrage qui va nécessiter d’effectuer une corrélation entre ces différentes données.
Hors après analyse de la table Historique, la première difficulté est de constater (cela pouvait être prévisible mais bon …) que les différentes données ne sont pas synchronisées entre elles donc plutôt difficiles à corréler.
La seconde difficulté est de savoir ce que représente le timestamp.
D’où les questions :
-
Q1 : Que représente le timestamp attaché à une des données dans l’Historique ? L’heure du téléphone au moment de l’enregistrement de la données ou l’heure de Jeedom au moment de l’enregistrement dans la DataBase ?
-
Q2 : c’est plutôt une suggestion. Une évolution de JeeMate pourrait-elle permettre que l’App envoie dans une seule string :
- lorsque comme c’est le cas, il y a un évènement de changement (Presence, Motion Activity) les infos Position, Presence, Distance, Motion Activity, Timestamp du téléphone échantillonnées au même moment
- en récurrent les infos Position, Distance, Timestamp du téléphone échantillonnées au même moment
pour permettre un traitement par corrélation de ces informations ?
Pour Q2, j’ai lu que l’équipe utilise une lib du commerce et peut être qu’elle ne permet pas ce qui est demandé mais ne sachant pas, je pose la question.
D’avance merci.
Ma config
Jeedom version Stable 4.1.28
Plugin JeeMate version Stable 2021-04-12 12:44:31
App JeeMate Premium (iOs 15.2 à jour) : 0.9.10+95
Mes réglages Géolocalisation dans l’App iOs
Activer : OK
Activer élasticité : OK et NOK
Forcer la géolocalisation : NOK
Précision : NAVIGATION
Intervalle capteur : 20 sec
Distance détection : 100 m
Reconnaissance activité : intervalle 10 sec
Mode Geofence seulement : OK
Geofence Précision accrue : OK