Page 15 sur 49

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

Publié : 10 oct. 2017, 21:53
par AlainM
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

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

Publié : 10 oct. 2017, 22:15
par parrain27240
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


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

Publié : 10 oct. 2017, 22:18
par parrain27240
j'ai fait un virtuel comme ceci Image

Envoyé de mon Redmi 4X en utilisant Tapatalk


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

Publié : 10 oct. 2017, 23:07
par Griffon13
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);
             
 }

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

Publié : 11 oct. 2017, 00:00
par parrain27240
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


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

Publié : 11 oct. 2017, 15:33
par team18fr
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.

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

Publié : 11 oct. 2017, 15:49
par capitainabloc
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...

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

Publié : 11 oct. 2017, 16:11
par DJo86
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

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

Publié : 12 oct. 2017, 10:51
par geoblack
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

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

Publié : 12 oct. 2017, 11:41
par Griffon13
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".

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

Publié : 12 oct. 2017, 12:06
par lunarok
La y a un bel espace dans les coordonnés, ca serait surprenant de tasker

Envoyé de mon ONEPLUS A3010 en utilisant Tapatalk


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

Publié : 12 oct. 2017, 12:26
par AlainM
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...

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

Publié : 12 oct. 2017, 16:30
par magifix
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

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

Publié : 12 oct. 2017, 21:36
par AlainM
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.

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

Publié : 12 oct. 2017, 21:46
par Bosquetia
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...

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

Publié : 12 oct. 2017, 21:53
par AlainM
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.

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

Publié : 12 oct. 2017, 22:27
par lunarok
geofence est en mode "listener" donc dès que les commandes "bougent" il calcule

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

Publié : 12 oct. 2017, 22:47
par Eiral
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 ;) )

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

Publié : 12 oct. 2017, 23:20
par Eiral
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 :)

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

Publié : 13 oct. 2017, 09:49
par romainh41
Slt à tous.

effectivement, même problème "Problème avec adresse".