Je lutte un peu pour trouver ma solution.
J’ai créer 3 equipement sous Geoloc
-mon smartphone, dynamique
-mon domicile, fixe, je recupere les coordonnés sur l’adresse de googlemap
-la distance, distance, calculer entre mon domicile et mon smartphone
sur le dashboard, pour mon smarthone j’ai mon emplacement qui apparait sur goolemap
Pour mon domicile, rien n’apparait
et la distance, et bien j’ai une distance a 0
une idée d’ou ca loupe? Je pense que ca viens de mon domicile mais je vois pas l’erreur que je fait.
,
bon je lutte toujours
dans le log du plugin j’ai cette ligne
[2019-11-08 20:47:54][INFO] : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
[2019-11-08 20:47:54][DEBUG] : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php plugin_id=geoloc function=install callInstallFunction=1
je me dit que il y a un problème mais j’ai rien qui me parle du demon ou autre
Je viens d’essayer le plugin Geoloc et je rencontre exactement le même problème, mon domicile est bien localisé, mon téléphone aussi mais le calcul de distance échoue.
Chez moi, impossible de faire fonctionner Geoloc à l’époque (ça fait un moment), je suis passé sur geotrav et tout fonctionne parfaitement depuis donc je n’ai jamais réessayé Geoloc, à essayer également peut-être.
finallement j’ai repomper un scenario avec du code qui fait le calcul a partir des emplacements de mon téléphone et de ma maison et qui le donne dans un virtuel
# Calcul de la distance entre 2 coordonnées GPS
# Recupère la chaine de caractère "lat,long" de Icloud
$cmd = cmd::byString("#[Gérald][Place Téléphone Gérald][Smartphone]#");
$LocalisationGpsPhone = $cmd->execCmd();
# Recupère la chaine de caractère "lat,long" de la maison
$cmd = cmd::byString("#[Gérald][Place Téléphone Gérald][Maison]#");
$LocalisationGpsHome = $cmd->execCmd();
# Isole les Latitudes et longitude dans les chaines de caractères et récupère les valeures numériques
$PosCommaPhone = stripos ($LocalisationGpsPhone, ',');
$LatPhone = substr ($LocalisationGpsPhone,0,9);
$LongPhone = substr ($LocalisationGpsPhone,$PosCommaPhone+1,8);
$PosCommaHome = stripos ($LocalisationGpsHome, ',');
$LatHome = substr ($LocalisationGpsHome,0,9);
$LongHome = substr ($LocalisationGpsHome,$PosCommaHome+1,8);
$ValLongPhone = (float)$LongPhone;
$ValLatPhone = (float)$LatPhone;
$ValLongHome = (float)$LongHome;
$ValLatHome = (float)$LatHome;
$ValEarthRadius=6371000;
# calcule la distance entre les 2 coordonnées GPS
$DistY = $ValEarthRadius * pi() * ( $ValLatPhone - $ValLatHome ) / 180;
$DistX = $ValEarthRadius * cos($ValEarthRadius*pi()*($ValLatPhone+$ValLatHome)/(2*180)) * pi()*($ValLongPhone-$ValLongHome)/180;
$Dist = round (0.1 * sqrt ($DistX*$DistX + $DistY*$DistY)) * 0.01;
# Place dans la variable Jeedom la distance à la bonne place
$cmdC = "#[Gérald][Gérald][Distance]#";
$cmd = cmd::byString($cmdC);
$cmd->event(((string)$Dist));
J’ai moi meme le meme problème.
Mon iPhone et mon domicile sont correctement détectés / remontés en terme de coordonnées.
Tout se met bien à jour en cas de déplacement. (les coord évoluent)
Par contre dans le plugin le calcul de présence et de distance ne s’actualise pas.
J’ai tout retourné dans tous les sens, pas d’update. @lunarok je sais plus ou chercher et ca m’ennuierai d’avoir à passer par un virtuel pour contourner le problème
Je sais pas si c’est un bug en cours de correction.
Merci
J’ai constaté des écarts imporants avec l’outil de calcul de google maps. Du coup j’utilise plutot cette formule qui donne de les memes resultats que google maps :