Jeedom Core : 4.3.15
Version JC : 1.8.0 stable
DNS Jeedom : non
Statut Démon : Démarré - (2023-08-14 10:08:11)
Equipements :
PC Thomas : v1.8.0 stable sur android [os : 30] (ws) - PA
Tablette : v1.8.0 stable sur android [os : 31] (ws) - PA
Téléphone Sébastien : v1.8.0 stable sur android [os : 31] (ws) - PU
Téléphone Thomas : v1.8.0 stable sur android [os : 33] (ws) - PA
Bonjour,
Si j’ai bien compris le fonctionnement, lorsque l’application mobile détecte une entrée/sortie de zone, elle envoie les coordonnées gps au plugin et c’est lui qui décide de valider ou non ces coordonnées suivant la précision de celles ci.
Et là c’est le drame (parfois) . Si le plugin considère que les coordonnées ne sont pas suffisamment précise, le changement de zone ne se fait pas.
Pour améliorer ça, je propose que soit l’application envoie le changement de zone (maison=1, travail=0 …) au lieu des coordonnées gps, soit l’application n’envoie les coordonnées que si la précision de la mesure gps est suffisante (même si cela implique d’être notifié du changement plus tard).
Dans le dernier cas, ça permettrait aussi, en mode tracking, d’éviter d’envoyer des coordonnées gps rejetées par le plugin.
Sur de ce que tu dis ?
Pour moi tout ça est fait sur le téléphone mais le problème de précision est géré par l’OS sur le téléphone.
C’est justement différence entre geofencing et géotracking ou seul le binaire de présence dans la zone est remontée (pour le geofencing)
Je ne vois pas où le calcul du geofence se fait dans la fonction indiquée.
Je comprends dans cette fonciton que ca enregistre lat/lon/altitude/activity/batterie si la precision est suffisante
Norbert
Si je me trompe @tomitomas ne manquera pas de le signaler
Je n’ai pas ouvert ce sujet pour lancer un débat mais juste faire part de ce que j’ai pu observer entre ma lecture des logs et du code.
@tomdom a raison, le code se fait dans une fonction fille de setCoordinates.
on est donc sur le bon point de départ.
à chaque entrée/sortie de zone l’app envoie les coordonnées dedans/hors zone au plugin qui ensuite :
fait le trie pour savoir si les infos sont suffisamment pertinente pour être prise en compte ou non → et du coup en effet il peut y avoir des loupés !
met à jour la position
met à jour la distance entre l’équipement et son Jeedom
met à jour la (ou les) zone(s) qui serai(ent) impactée(s) → car il peut y en avoir plusieurs
la proposition s’étudie en effet
je ne sais pas exactement ce que la librairie permet ou pas de faire.
à rediscuter avec @jared-94, mais je note la proposition sur la todo