Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Plugin Tiers][Sujet Principal] Localisation et Trajet (geotrav)

Pour échanger sur les plugins classés en catégorie "Organisation"
AlainM
Actif
Messages : 1036
Inscription : 20 mars 2016, 14:21
Localisation : Hérault

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par AlainM » 10 oct. 2017, 21:53

Un grand merci pour ce tuto, j'ai bien avancé et bien compris la configuration. Quand je clique sur test distance domicile je trouve bien 555km car pour mes tests j'ai mis mon domicile en espagne chez capitaineabloc ;) et je suis absent de chez moi. Par contre je n'arrive pas à afficher ça sur le design mais faut surement changer l'affichage de defaut core, ou un truc du genre
Bon finalement non, je n'ai toujours pas les kms affichés

parrain27240
Actif
Messages : 1629
Inscription : 24 juil. 2015, 20:15

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par parrain27240 » 10 oct. 2017, 22:15

tant que ça aide c'est déjà ça .
l'affichage et en mètre pas kilomètres attention

Envoyé de mon Redmi 4X en utilisant Tapatalk


parrain27240
Actif
Messages : 1629
Inscription : 24 juil. 2015, 20:15

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par parrain27240 » 10 oct. 2017, 22:18

j'ai fait un virtuel comme ceci Image

Envoyé de mon Redmi 4X en utilisant Tapatalk


Griffon13
Timide
Messages : 22
Inscription : 17 juil. 2017, 20:33
Localisation : Vers l'aéroport de Marseille-Provence

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par Griffon13 » 10 oct. 2017, 23:07

Bonsoir,
Mon problème de non mise à jour des coordonnées dynamiques suite à maj du plugin a été résolu en réinstallant le plug-in...
Pour pallier ce genre de désagrément, j'ai recalculé "à la main" la distance entre 2 points.
Pour cela utilisation de 2 infos virtuelles pour stocker les coordonnées à la sauce Google Maps et ensuite utilisation de la méthode harvesine pour calculer la distance. Le code à mettre dans un scénario, si cela peut interesser certains.

Code : Tout sélectionner

{
  // Recuperation coordonnees dynamique du tel
  $cmd = cmd::byString('#[Localisation][CoordGPSTelDav][LatLon]#');
  $coordGPSTel = $cmd->execCmd();
  // Recuperation des coordonnees du lieu pour geofencing
  $cmd2 = cmd::byString('#[GeoLoc][Griffon GeoFence][Coordonnées]#');
  $coordGPSDest = $cmd2->execCmd();
  // Rayon moyen de la Terre en mètres
  $rayon = 6371000;
  // Recuperation des latitutes et longitudes des coordonnees GPS
  list($lat1, $lon1) = explode(",", $coordGPSDest);
  list($lat2, $lon2) = explode(",", $coordGPSTel);
  //conversion des angles en radians
  $lat1rad = deg2rad(floatval($lat1));
  $lon1rad = deg2rad(floatval($lon1));
  $lat2rad = deg2rad(floatval($lat2));
  $lon2rad = deg2rad(floatval($lon2));
  //Calcul de la distance entre 2 points-formule de haversine
  $deltaphi = $lat2rad - $lat1rad;
  $deltalambda =  $lon2rad -  $lon1rad;
  $a = sin($deltaphi/2)*sin($deltaphi/2)+cos($lat1rad)*cos($lat2rad)*sin($deltalambda/2)*sin($deltalambda/2);
  $c = atan2(sqrt($a),sqrt(1-$a));
  // Distance en mètre
  $d = $rayon*$c;
  
  $cmdC = "#[Localisation][CoordGPSTelDav][distGeoFence]#";
  $cmd = cmd::byString($cmdC);
  $cmd->event($d);
             
 }

parrain27240
Actif
Messages : 1629
Inscription : 24 juil. 2015, 20:15

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par parrain27240 » 11 oct. 2017, 00:00

AlainM a écrit :J'ai divisé par 1000 mais faudrait arrondir #[Gps][Distance au domicile][Distance Xiaomi]#/1000
A part ça c'est quand même pas très réactif, si faut attendre 1/4h pour savoir où on est mais je suis content que ça fonctionne, ça m'a occupé la soirée!!
heu avec domo-widgets toute les minutes c'est très réactif lol

Envoyé de mon Redmi 4X en utilisant Tapatalk


team18fr
Actif
Messages : 1119
Inscription : 11 oct. 2014, 18:41

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par team18fr » 11 oct. 2017, 15:33

Bonjour, j'ai fait un trajet entre moi et mon travail et donc pour commencer si je coche pas la case Déterminer l'adresse rien ne se met à jour de plus si je regarde les coordonnées qui sont dans mon trajet pour mon travail j'ai 48.**47905,0.**28393 mais quand je vais voir sur la carte
j'ai 48.**6649,0.**0546 Il faut que je réinstalle tout ou je ne suis pas le seul.

capitainabloc
Timide
Messages : 87
Inscription : 15 juil. 2015, 12:20

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par capitainabloc » 11 oct. 2017, 15:49

Salut,
non, je confirme, j'ai l'impression que le plugin fonctionne parfaitement bien en statique, avec reconnaissance d'adresse, mais ne se met pas à jour si cette case de reconnaissance d'adresse n'est pas cochée, ou si on utilise la fonction Par Commande Jeedom.
J'ai tenté beaucoup de trucs, mais je n'arrive pas à récupérer les coordonnées dynamiques de mon mobile qui sont dans le plugin geoloc, pour les injecter dans geotrav...

DJo86
Timide
Messages : 290
Inscription : 29 déc. 2015, 13:48
Localisation : Poitiers

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par DJo86 » 11 oct. 2017, 16:11

Bonjour,
Pour faire avancer la discussion, j’ai un fonctionnement normal par la fonction « commandes Jeedom » à partir de mes équipements Xee. Dès qu’une voiture bouge, la géolocalisation se met bien à jour sur le widget et je vois bien la voiture bouger.
À+
DJo
Jeedom en VM sur Proxmox Hystou I3 - Configuration complète dans mon profil.
Joli job, merci à toute l’équipe Jeedom et aux développeurs externes !!!

geoblack
Timide
Messages : 240
Inscription : 18 sept. 2015, 09:00
Localisation : Champagne - ardennes

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par geoblack » 12 oct. 2017, 10:51

Bonjour,

J'ai un soucis avec le plugin en mode stable depuis le 07/10
J'utilise l'api pour envoyer mes informations avec tasker : https://xxxxxxxx.jeedom.com/plugins/geo ... alue=%LOCN (je remplace les xxxx par les valeurs qui vont bien)

J'ai décoché déterminer l'adresse

%LOCN = 48.979427, 4.382153
Position GPS testé sur google map qui me parait correct

Ma position ne se met plus à jour depuis la mise à jour du 07/10

J'ai cela dans les log (systematiquement)
[2017-10-12 10:35:06][DEBUG] : Coordonnées 48.979427, 4.382153
[2017-10-12 10:35:06][DEBUG] : Problème avec adresse
NUC avec VM jeedom sur Debian (maître)
jeedom mini + (esclave)

Griffon13
Timide
Messages : 22
Inscription : 17 juil. 2017, 20:33
Localisation : Vers l'aéroport de Marseille-Provence

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par Griffon13 » 12 oct. 2017, 11:41

Bonjour,

J'ai eu le même problème et j'ai:
- réinstaller le plug-in (pas sûr que ce soit nécessaire)
- forcer la sauvegarde de mes équipements qui récupère une adresse dynamique (décocher et cocher 'visible' par exemple et sauvegarde).
et je n'ai plus eu "problème avec l'adresse".

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par lunarok » 12 oct. 2017, 12:06

La y a un bel espace dans les coordonnés, ca serait surprenant de tasker

Envoyé de mon ONEPLUS A3010 en utilisant Tapatalk

Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

AlainM
Actif
Messages : 1036
Inscription : 20 mars 2016, 14:21
Localisation : Hérault

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par AlainM » 12 oct. 2017, 12:26

Espace ou pas moi ça fonctionne et ça retire l'espace du copier coller depuis Google.
Par contre je n'arrive pas à me voir présent chez moi...

magifix
Timide
Messages : 21
Inscription : 15 août 2016, 16:46

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par magifix » 12 oct. 2017, 16:30

Bonjour,

Désolé, je viens avec une question très basique mais je n'ai pas réussi à me dépatouiller jusqu'ici. Dans mon log j'ai ceci:

[2017-10-12 16:00:02][DEBUG] : Action sur location:coordinate
[2017-10-12 16:00:03][DEBUG] : Adresse ...(mon adresse complète) { "error_message" : "The provided API key is invalid.", "results" : [], "status" : "REQUEST_DENIED" }
[2017-10-12 16:00:03][DEBUG] : Problème avec adresse

Je suppose que dans la configuration du plugin, le champ: API Google Maps Geocoding n'est pas correct renseigné. Je me base sur les infos de chez google, et le contenu du champ ressemble à ceci:

https://maps.googleapis.com/maps/api/ge ... UR_API_KEY (avec ma propre adresse et ma propre clé API)

Et lorsque j'entre cette adresse dans un browserI, j'obtiens bien un résultat. Je ne comprend pas pourquoi le plugin répond avec le message key invalid.

D'autre part dans la config générale de jeedom, la clé API ne correspond à ma clé (Clef API Localisation et Trajet).

Quelqu'un peut-il m'indiquer quel est le problème?

Un tout grand merci par avance pour votre aide

AlainM
Actif
Messages : 1036
Inscription : 20 mars 2016, 14:21
Localisation : Hérault

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par AlainM » 12 oct. 2017, 21:36

Bonsoir,
existe t-il une commande de rafraichissement pour Geofence?
c'est très long à se mettre à jour, si je devais commander mon portail j'attendrais un moment avant qu'il veuille bien s'ouvrir dans ces conditions. Je note que sur les cartes, mon téléphone est au même endroit que mon domicile, mais c'est vraiment très long ensuite à se mettre à jour sur Geofence
En tout cas c'est sympa.

Bosquetia
Actif
Messages : 6783
Inscription : 10 mai 2016, 07:54

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par Bosquetia » 12 oct. 2017, 21:46

ben la cron du plugin geotrav est à 15min...

de plus juste une supposition c'est instantané, tu arrives devant chez toi mais pas pour rentrer, juste passer devant car tu vas chercher le pain...
et ? le portail s'ouvre, l'alarme se coupe alors que tu n'es pas là que tu vas au pain !!
le chien sort, provoque un accident dans lequel y a un mort...

Mieux on te pique la voiture, le mec a ton adresse pour une raison x ou y, donc il entre chez toi comme dans un moulin...

La domotique oui pour se simplifier la vie, gérer, mais pour faire des trous de sécurité bof...

AlainM
Actif
Messages : 1036
Inscription : 20 mars 2016, 14:21
Localisation : Hérault

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par AlainM » 12 oct. 2017, 21:53

non mais t’inquiète j'ai pas du tout l'intention de domotiser mon portail, pas fou!
donc le cron à 15mn, si je veux que la lumière s'allume, je risque de poireauter un moment avant de voir le trou de la serrure! C'est Cron, j'étais en train de faire un petit scénario pour m'amuser.

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par lunarok » 12 oct. 2017, 22:27

geofence est en mode "listener" donc dès que les commandes "bougent" il calcule
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Eiral
Timide
Messages : 19
Inscription : 30 déc. 2014, 00:09

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par Eiral » 12 oct. 2017, 22:47

magifix a écrit :
12 oct. 2017, 16:30
Bonjour,

Désolé, je viens avec une question très basique mais je n'ai pas réussi à me dépatouiller jusqu'ici. Dans mon log j'ai ceci:

[2017-10-12 16:00:02][DEBUG] : Action sur location:coordinate
[2017-10-12 16:00:03][DEBUG] : Adresse ...(mon adresse complète) { "error_message" : "The provided API key is invalid.", "results" : [], "status" : "REQUEST_DENIED" }
[2017-10-12 16:00:03][DEBUG] : Problème avec adresse

Je suppose que dans la configuration du plugin, le champ: API Google Maps Geocoding n'est pas correct renseigné. Je me base sur les infos de chez google, et le contenu du champ ressemble à ceci:

https://maps.googleapis.com/maps/api/ge ... UR_API_KEY (avec ma propre adresse et ma propre clé API)

Et lorsque j'entre cette adresse dans un browserI, j'obtiens bien un résultat. Je ne comprend pas pourquoi le plugin répond avec le message key invalid.

D'autre part dans la config générale de jeedom, la clé API ne correspond à ma clé (Clef API Localisation et Trajet).

Quelqu'un peut-il m'indiquer quel est le problème?

Un tout grand merci par avance pour votre aide
verifie les espaces dans le champ qui contient la clé ou recolle ta clé pour etre sur (et verifie les espaces ;) )

Eiral
Timide
Messages : 19
Inscription : 30 déc. 2014, 00:09

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par Eiral » 12 oct. 2017, 23:20

bon,

j'ai l'impression de ne pas être le seul ces derniers temps à avoir un probleme avec ce super plugin.
En effet nous sommes nombreux à utiliser ce plugin avec une mise à jour dynamique qui ne marche pas et à avoir le message suivant dans nos logs:

Code : Tout sélectionner

[2017-10-12 22:31:18][DEBUG] : Coordonnées 43.558515,4.086924
[2017-10-12 22:31:18][DEBUG] : Problème avec adresse
bien que nous n'ayons pas coché "Déterminer l'adresse". et en regardant le code je pense que le probleme est bien la : on ne l'a pas coché et il y a un probleme dans le code sauf erreur de ma part.
je ne suis pas expert en PHP pardonnez moi si je dis des bétises.

Ci dessous mon analyse :


le code api appelle la fonction : updateGeocodingReverse (apres quelques verifications d'usage).

la fonction updateGeocodingReverse effectue à son tour quelques verifications puis verifie si on a coché ou non "Déterminer l'adresse"
Si on l'a coché on appelle google, et on recupere la reponse sinon on "falsifie" un retour google ou l'on stock uniquement les coordonnées
puis on appel updateLocation avec le vrai/faux retour google.

ci dessous mes annotations

Code : Tout sélectionner

 
 //geoloc contient les coordonnées sous forme lat,lon
 public function updateGeocodingReverse($geoloc) {
 
 //verification qu'une clé google à bien été saisi dans la configuration
 
 if (config::byKey('keyGMG','geotrav') == '') {
            log::add('geotrav', 'debug', 'Vous devez remplir les clefs API Google pour les localisations');
            return;
        }
//on vire les espaces eventuelles
        $geoloc = str_replace(' ','',$geoloc);
        
 //on print les coordonnées dans les logs, jusqu'ici tout va bien
        log::add('geotrav', 'debug', 'Coordonnées ' . $geoloc);
        
 //on verifie que les coordonnées ne sont pas vide, ou invalide
        if ($geoloc == '' || strrpos($geoloc,',') === false) {
            log::add('geotrav', 'error', 'Coordonnées invalides ' . $geoloc);
            return true;
        }
 //on verifie si l'utilisateur a coché ou non "Déterminer l'adresse"
 
 /*
 * et la ça se gate !
 */
 // si c'est coché, on appel google api et on stock dans  $jsondata que l'on remplit avec le retour de google: OK
        if ($this->getConfiguration('reverse')) {
          $url = 'https://maps.googleapis.com/maps/api/geocode/json?latlng=' . $geoloc . '&key=' . config::byKey('keyGMG','geotrav');
          $data = file_get_contents($url);
          $jsondata = json_decode($data,true);
            log::add('geotrav', 'debug', 'Resultat ' . $url . ' ' . print_r($jsondata, true));
            
 //SINON on "falsifie" un retour google que l'on remplit avec nos coordonnées ... pourquoi pas
        } else {
          $geoexpl = explode(',',$geoloc);
          $jsondata['results'][0]['geometry']['location']['lat'] = $geoexpl[0];
          $jsondata['results'][0]['geometry']['location']['lng'] = $geoexpl[1];
          $jsondata['results'][0]['formatted_address'] = 'NA';
        }
//on appelle updateLocation
        $this->updateLocation($jsondata);
ensuite dans updateLocation (j'ai supprimé une partie du code pour plus de clareté)

Code : Tout sélectionner

public function updateLocation($jsondata) {
      if ($jsondata['results'][0]['address_components'][0]['types'][0] == "street_number") {
//code de mise à jour du numero
//   [..]
      } else if ($jsondata['results'][0]['address_components'][0]['types'][0] == "route") {
//code de mise à jour de la rue
//   [..]
      } else if ($jsondata['results'][0]['address_components'][0]['types'][0] == "locality") {
//code de mise à jour de la ville
//   [..]
      } else {
        log::add('geotrav', 'debug', 'Problème avec adresse');
        return;
      }
 //code de mise à jour des coordonnées ....
on verifie les champs du json de location et si on trouve rien, on annonce [2017-10-12 22:31:18][DEBUG] : Problème avec adresse puis "return" ...
si on recupere bien les infos, on met à jour les infos, les coordonnées etc et travail terminé.

vous voyez le probleme ? j'ai simplement mis le return dans le dernier else en commentaire et c'est reglé.
je pense que pour corriger le probleme proprement il faut reverifier à nouveau le parametre $this->getConfiguration('reverse') et mettre à jour uniquement les coordonnées sinon "le code actuel"



en attendant pour corriger "salement" vous pouvez dans le fichier
/var/www/html/plugins/geotrav/core/class/geotrav.class.php
mettre le return ligne 268 en commentaire:

Code : Tout sélectionner

//return
encore une fois, merci Lunarok pour ton super plugin :)

romainh41
Timide
Messages : 371
Inscription : 22 mars 2016, 10:21

Re: [Plugin Tiers] Localisation et Trajet (geotrav)

Message par romainh41 » 13 oct. 2017, 09:49

Slt à tous.

effectivement, même problème "Problème avec adresse".
Jeedom sur RPI 2 RAM 1Go - Clé GEN 5

Répondre

Revenir vers « [Catégorie] Organisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité