Zibase et Géolocalisation

Encouragé par Pascal, c’est non sans une certaine appréhension (et un peu de fierté :-) ) que je vous présente mon 1er tuto ou coment envoyer à votre zibase la distance qui vous sépare de votre domicile.

Elle servira à déclencher des scénarios (par exemple ouvrir le portail lorsque j’arrive à 2 km de ma maison, allumer le chauffage lorsque je suis à moins de 50 km, activer l’alarme lorsque je suis à plus d’1 km).

Mais je vous présenterai cela dans un second tuto.

Pour écrire ce scénario, je me suis largement inspiré des articles de Vincent Paulet (“ZIPABOX, Latitude et géolocalisation 2.1”) et de Cédric de Maison et Domotique (“script google geolocalisation et eedomus”), merci à eux.

 

1. Ingrédients

  • 1 Zibase

  • 1 Smartphone avec l’application latitude de google (application disponible sous Android, IPhone, blackberry) : infos ICI

  • 1 compte google


2. Création de la sonde “Distance Dom” sur la zibase

Nous allons créer une sonde qui collectera la distance qui vous sépare de votre domicile.

Pour cela se connecter sur le configurateur de zibase.net (ou zibase-club.net).

 connexion

Passer en mode expert

expert

Cliquer sur périphérique

peripheriques

 

Puis créer un sonde comme ci-dessous

sonde

 

Vous pouvez mettre l’identifiant radio que vous voulez à condition qu’il commence par OS et qu’il n’utilise pas un identifiant déjà paramétré dans la liste de vos périphériques.

 

3. Passons à google

3.1 Informations nécessaires

  • Login Zibase = c’est le login que vous utilisez pour vous connecter à zibase.net (ou zibase-club.net )

  • Password = le password allant avec le login

  • Les coordonnées GPS de votre domicile (latitude et longitude) petite aide par ici

  • Identifiant Radio de votre sonde (sans ”OS”): dans mon exemple 6000

  • Id_user de Google latitude (je vous explique comment on le trouve juste après)

 

 

3.2 Activation de Google latitude

Rq : c’est un copier/coller du tuto de Vincent Paulet pour cette partie

Activation Google Latitude

Cliquez sur le lien : http://latitude.google.com

et passez aux paramètres de l’application :

Cliquez sur : « Activer et afficher les informations de localisation les plus précises disponibles » et appuyer sur « Enregistrer” .

Normalement cette fenêtre s’affiche.

Regardez bien dans le code qui est affiché, votre Latitude User ID s’y trouve!!

<!– Google Public Location Badge –>

<iframe src= »http://latitude.google.com/latitude/apps/badge/api?user=-XXXXXXXXXX

Récupérez le et coller le dans le script, en face de Id_user.

Info importante pour que ça marche : Il faut absolument laisser sur

« Activer et afficher les informations de localisation les plus précises disponibles » pour que ça marche et enregistrer ensuite.

Si vous ne diffusez pas ce code, votre position restera privée, c’est uniquement à partir du moment ou vous diffusez ce google ID, à vos amis par exemple, que votre position sera connu du public.

 

3.3 Script google

Rq: copier/coller du tuto de Cédric Loqueneu pour cette partie (sauf le script repris de jujujames avec un petit complément par mes soins :-) )

Nous allons maintenant utiliser un script google qui va collecter votre position (envoyée par votre smartphone), calculer la distance qui vous sépare de votre domicile et envoyer cette information à votre zibase.

Il vous faut un compte Google et avoir activé l’application « DRIVE ». Car nous allons utiliser un Google script pour envoyer les infos à la Zibase

Activez l’application. Une fois fois activée, on accède à l’application et on clique sur « créer ».

Si c’est votre première fois, vous devez cliquer sur « connecter plus d’applications », et connecter l’application « Script in Google Drive ».

Une fois tout cela fait, il vous suffit de copier le script ci-dessous et de le coller

function Latitude()
{
// Paramètres géographiques
var id_user = ‘-xxxxxxx'; // id user de Google Latitude (/!\ avec le signe -)
var lat_maison = ‘xxxxxx'; // Latitude de la maison
var long_maison = ‘xxxxxxx'; // Longitude de la maison
var login_zibase = ‘xxxxxx'; // Login de votre Zibase
var password_zibase =’xxxxxx'; // Password de votre Zibase
var id_sonde = ‘xxxxxx'; // Identifiant de votre sonde sans “OS”
var plateforme_zibase = ‘zibase.net‘ // A remplacer par zibase-club.net si c’est votre plateforme
 
// On récupère la position sur Google Latitude
var json = UrlFetchApp.fetch(« https://latitude.google.com/latitude/apps/badge/api?user= » + id_user +  « &type=json »);
var data = json.getContentText();
data = Utilities.jsonParse(data);
 
if (data.features[0] != undefined) // On vérifie si une position géographique est retourné
{
var longitude = data.features[0].geometry.coordinates[0];
var latitude = data.features[0].geometry.coordinates[1];
var position = data.features[0].properties.reverseGeocode;
var timestamp = data.features[0].properties.timeStamp;
var DateMin = new Date();
DateMin.setTime(DateMin.getTime() – (10*60*1000)) // on retire 10 min à la date & heure actuelle
var Datetimestamp = new Date(timestamp * 1000);
 
if (Datetimestamp >= DateMin) // Si le timestamp de google latitude date de moins de 10 minutes alors on fait la suite (pour éviter d’envoyer des données sur l’API si aucun changement de coordonnées GPS)
 {
   // Conversion des coordonnées en ° vers des Radians
   var lat1 = deg2rad(lat_maison);
   var long1 = deg2rad(long_maison);
   var lat2 = deg2rad(latitude);
   var long2 = deg2rad(longitude);
 
   // Calcul
   var dp = distance(lat1,long1,lat2,long2);
   var dpr = Math.round(dp * 1000) / 1000; // Math.round arrondi à l’entier le plus proche
   dpr=dpr*10; // On multiple par dix car la zibase attend une valeur au centieme
   // On met à jour sur zibase la distance entre moi et la maison
   envoi = UrlFetchApp.fetch(« http:// »+plateforme_zibase+ « /m/zapi_remote_zibase_set.php?login= »+login_zibase + « &password= »+ password_zibase + « &action=rowzibasecommand&param1=6&param2= »+ id_sonde + « &param3= »+dpr+ « &param4=17″);
 }
}
}
 
function deg2rad(deg)
{
return deg*(Math.PI/180);
}
 
function distance(lat_a, lon_a, lat_b, lon_b)
{
var t1 = Math.sin(lat_a) * Math.sin(lat_b);
var t2 = Math.cos(lat_a) * Math.cos(lat_b);
var t3 = Math.cos(lon_a – lon_b);
var t4 = t2 * t3;
var t5 = t1 + t4;
var rad_dist = Math.atan(-t5/Math.sqrt(-t5 * t5 +1)) + 2 * Math.atan(1);
return (rad_dist * 3437.74677 * 1.1508) * 1.6093470878864446
}

 

Remplacer les “xxxxx” par vos valeurs (cf. chapitre 3.1 )

 

Exécutez une première fois le script manuellement, il risque de vous demander des autorisations. Donnez les lui.

Il n’y a plus qu’à faire en sorte que ce script se lance régulièrement pour mettre à jour les informations sur la zibase. Pour cela, créez un déclencheur en cliquant sur l’icône en forme d’horloge:

Et configurez un minuteur, à l’intervalle que vous souhaitez:

 

4.  Configuration du mobile

Maintenant il ne vous reste plus qu’a télécharger l’application LATITUDE (gratuite) dispo

IOS, ANDROID , BlackBerry … (infos ICI)

Connectez vous avec votre compte Google et vous voilà parti !!!

5. Utilisation dans la Zibase.

Maintenant aller dans le pcpad de zibase ou sur l’application zibase sur votre smartphone et vous avez pu d’or et déjà vous apercevoir que votre sonde “Distance dom” s’est mis à jour et affiche désormais votre distance vous séparant votre domicile. (je suis à 199,7 Km de mon domicile).


 

Vos commentaires pour améliorer, corriger sont les bienvenus.

 

Author: Richard

Je me suis lancé en avril 2012 dans la domotique avec une Zibase. J'écris quelques articles pour partager mon expérience.

Share This Post On

112 Comments

  1. Sympa l »article et bienvenue dans l’équipe de rédaction.
    J’ai pas tout regardé mais y’a un petit soucis sur ce lien « http://latitude.google.com » qui renvoie sur maison de geek :)

  2. Bien !!!
    moi je vais l’utiliser un peu différemment :
    je sais quand j’ouvre mon portail => donc si c’est moi, je vais désactiver les caméras.
    Je vais voir comment n’envoyer la géolocalisation qu’en fonction de la distance avec ma zibase (le temps d’entrer chez moi et de dés-enclencher l’alarme – j’aime la protection donc les infos arrivent de mon alarme vers ma zibase via IPX800 et jamais l’inverse- donc exit les ouvertures ou fermetures de portes via la zibase – les cryptes non « https » ne sont pas d’une fiabilité à toute épreuve).

    Par contre, il va falloir grandement que je simplifie l’intégralité de mes scenarii (111 sur 125) j’approche la limite (par contre j’utilise que 38% de ma mémoire).
    Par contre, pour info, si je parts de chez moi et que j’ai oublié de fermer le portail, c’est ma zibase qui m’envoie un mail après 3min (sur une adresse dédiée à la maison – et là aussi je vais pouvoir simplier les choses grâce à ce tuto) pour y revenir et tout mettre en ordre.
    Avec la Zibase, nous sommes pas limité, encore moi avec des capteurs (j’ai crevé le plafond de 50 en ayant plus que de scénarii).
    Autre exemple simple, vous avez une coupure de courant et vous êtes présent, il faut relever les volets de la partie jour au bout de 3 ou 4 min (j’ai mis sur onduleur les moteurs des volets roulants) et à l’inverse, si je suis absent, tout se ferme au cas où il y ai une infraction possible et je ne ré-ouvre qu’après avoir eu le temps de recharger les onduleurs…

  3. Bonjour,

    Super article , mais votre portable tient la journée avec latitude en tache de fond.

    Cordialement.

    David.

  4. Trè s bon tuto. J:avais la conso eau en °C, maintenant je vais avoir une distance en °C ! A quand le choix des unités avec la zibase ?

  5. Bonjour

    bon j ai essaye mais lorsque l on fait un copie colle
    du script on obtient des erreurs dans les lignes

    n etant pas tres doue je n arrive pas à issoler les erreurs dans le script

  6. Bonjour,

    pour les erreurs de scripts, j’ai l’impression qu’il n’a pas aimé le copier/coller dans l’article et on se retrouve avec plein de caractère bizarre.

    je vais voir comment corriger cela rapidement.

  7. Bonjour à tous.

    Je profite de la fraicheur de ce post pour évoquer les difficultés que je rencontre avec ce script, mis en place sur l’eedomus. Et surtout les confronter avec une autre box, afin de voire si ils viennent de la box ou du script.
    Donc mon google script tourne toutes les minutes, et google latitude en tache de fond sur mon iphone.
    Le script fonctionne car sur le widget géolocalisation de l’eedomus, la position varie selon les remontées de latitude, et la distance iphone-maison s’adapte en conséquence.
    Mon interrogation réside donc sur la vitesse de rafraîchissement de cette distance:Mon script se lance théoriquement toutes les minutes (ce que je trouve un peu lent pour une distance en voiture, selon la vitesse de celle-ci) cependant sur l’eedomus, la vitesse de mise a jour peut aller jusqu’à 5 min voire plus, et exceptionnellement jamais!!!
    Est ce que cela vient de la box, du script, des 2? avez vous ce genre d’expérience?

    Bon script et merci de vos réponses.

    Djo.

  8. Bonjour,
    ça fonctionne très bien, mais les copier coller avec les encodages différents de caractère génère des erreurs, c’est pas méchant, mais ça peut en bloquer certains. d’ailleurs,pour l’id de latitude je n’ai pas mis le « -« .
    sinon, j’ai réglé la fréquence sur 5 minutes.
    j’ai modifié la ligne de commande de la zibase par la version avec device et token, ça évite d’avoir un mot de passe qui traine…
    Enfin, LA question est : l’autonomie du smartphone avec google lattitude en tâche de fond….
    Merci beaucoup pour ce tuto.
    Reste à monter les scénar qui vont avec ;-)

  9. Bonjour Tom, pourrais tu faire un copier coller de ton script utilisant le token de la zibase? Cela m’interesse énormément. Cela me permettra aussi de corriger les erreurs de caractère… Merci d’avance

  10. Suivant l’API Zodianet dispo dans un des onglets de Zodianet, la réponse s’y trouve :
    au lieu de parler de login/password, il convient de parler de device/token…
    Mais sincèrement, ce sont les commentaires qu’il convient d’effacer, car n’importe qui peut commander n’importe quoi avec soit l’un soit l’autre…

  11. Voilà ce que cela pourrait donner, en faisant très attention de ne pas convertir en amont la longitude en radian…
    function distance(lat_a, lon_a, lat_b, lon_b)
    {
    var t1 = Math.sin(lat_a) * Math.sin(lat_b);
    var t2 = Math.cos(lat_a) * Math.cos(lat_b);
    var t3 = lon_a-lon_b;
    var t4 = Math.cos(deg2rad(t3));
    return Math.acos(t1+t2*t3) * 6371;
    }

  12. Bonjour,
    pour les erreurs de copier coller, il faut remplacer les
     » les ‘ et les –
    le script device/token :

    « http:// »+plateforme_zibase+ »/m/zapi_remote_zibase_set.php?device= »+login_zibase+ »&token= »+password_zibase+ »&action=rowzibasecommand&param1=6&param2= »+id_sonde+ »&param3= »+dpr+ »&param4=17? »

    A+

  13. Bonjour a tous pour moi rien ne fonctionne je ne comprends pas je n’ai plus d’erreurs de copier coller mais rien ne vient jusqu’à ma zibase

    help please

    Davy

  14. ça y est après plusieurs essais et correction du script j’y suis arriver pour moi il ne faut pas le mois devant l’ID Google latitude

    bonne nuit à tous

  15. Bjr
    peux tu poster ton script corrigé car le tuto ne ontonne pas chez moi
    merci encore

  16. Bjr à tous,
    pas de – sur l’ID ? Cela ne fonctionne pas quand on prend la commande HTTP seule et qu’on l’essaye !
    Par contre, de mon coté j’ai directement modifié la commande pour éviter des incompréhensions du script. Attention aussi : les coordonnées en « . » et en « , »…
    Après il y a des simplifications à faire : à quoi peut servir une condition d’envoie d’information si le temps entre les déclenchements doit être configurés par ailleurs ?
    De mon coté, j’arrive à obtenir des résultats cohérents, un dialogue d’interrogation cohérente avec google ainsi qu’un envoi d’info vers la zibase mais j’ai encore quelques trucs à régler…
    Une fois tout ça au point, je pourrai vous faire un feedback pour aider tout un chacun (partager une difficulté ayant eu une réponse, permet aux autres de ne pas buter dessus – tout dépend de sa connaissance sur un des points qui sont parfois très précis…).
    Je vais aussi essayer la tenue en charge de mon téléphone et mieux encore renvoyer les coordonnées du téléphone vers la zibase afin de pouvoir l’exploiter sur mon site en PHP dédié à la domotique (avec les nouveaux micros tout-en-un sur windows 8 et leurs écrans tactiles c’est vraiment génial car suffisamment grand pour tout voir d’un seul regard) et permettre à madame de s’y retrouver facilement en cliquant sur le point lumineux via le plan par étage de la maison… De mon coté, je pense même étendre le nb de scénario (125 scénarii ça fini par être limite même en optimisant les codes) grâce à mon serveur si nécessaire (le PHP est plus simple à programmer que par les seules fonctions de la zibase – normal : à chacun son niveau d’expertise…). Mais à plusieurs on va en faire un truc génial. Continuons à partager, même pour les trucs les plus bêtes, cela aide tout le monde !
    Et surtout merci à Pascal pour cet espace dédié et ses produits !!!

  17. bonjour
    et bravo pour le travail et merci pour le partage.
    Le script me pose probleme, rien n’est envoyer a la zibase et tout est bon, j’ai modifier l’url envoyer avec device/token a la place de login/password, remplacer tout << par " corriger les erreur que google rencontrait.
    ajouter les trois scripts au declencheur ( toutes les 10 minutes)mais toujours rien, pourriez vous nous éclairer sur le pb d'envoi vers la zibase.
    merci pour tous

  18. De mon coté, je vais sans doute passer un peu de temps pour intégrer ça en PHP. Comme l’ID est consultable n’importe où, rien nous empêche de déclencher les requêtes en PHP au besoin… Et en plus cela économise les batteries des téléphones.
    Un serveur de nos jours cela ne coûte pas bien cher et cela apporte un vrai plus. On pourrait même proposer le .PHP à Zodianet…
    C’est vrai que sinon cela fait un peu usine à gaz et si les sollicitations de google sont trop nombreuses, on retrouve un rapport d’erreur à 1h du matin…
    Pour ton souci cedrickozlowski, essaye en 2 phases :
    1- la récup de l’info de google de ta position actuelle via HTTPs en stipulant à la main ton -id
    2- l’envoie d’info bidon sur ton téléphone en écrivant la aussi un HTTPS avec les données qui vont bien. Tu saura ainsi si c’est le script qui ne marche pas, l’ouverture sur la zibase ou encore les déclencheurs. Mais je me répète : le script proposé est d’un compliqué (pourquoi ne pas traduire les * 3437.74677 * 1.1508) * 1.6093470878864446 par une simple multiplication ? les () ne servent à rien quand on * tout, de plus faire une appel à la fonction PI/180 peut là aussi se traduire par un simple chiffre.
    Et je ne parle pas d’une imbrication totalement incompréhensible de tan et atan quand on peut faire très très simple.
    Je sais c’est un script pompé mais rien nous empêche de le vérifier ! Sinon ça sert à quoi ?
    Enfin, il faut toujours vérifier les données : par exemple prendre le lieux où on se trouve et un autre que l’on introduit dans le scripts et on vérifie que l’ordre de grandeur va bien.
    Enfin faire des arrondis de chiffres, ne sert là non plus à rien car quand on supprime ce truc ça fonctionne très bien….
    J’ai fait dans mon vécu pas mal de math…

  19. Ok merci des infos toto
    J’ai effectué tes deux manips
    1) le stimuli manuellement rien ma position change bien mais rien
    2) j’ai directement entre dans la barre d’adresse l’adresse https mais aucune erreur j’ai une page blanche, j’ai fais un test en mettant une erreur dans le device et token et la par contre il me retourne une erreur KO, donc le portail zibase.net reçoit bien l’url,

  20. Dans la manip 1 tu dois recevoir une chaine de 3 lignes à l’écran en retrouvant dedans ta position
    Dans la manip 2, c’est normal que tu n’ai rien, il faut consulter ton téléphone sur Zodianet et voir la température bidon (équivalente au calcul) sur le capteur.
    Pour simuler une distance, passe donc via excel avec la formule simple envoyé par mes soins dans un lien plus haut.
    Tiens moi au courant.

  21. Bonjour !
    Et merci pour ce script qui fonctionne très bien … en manuel …. après les modifs décrites (changement des  » , suppression du moins devand l’id user …)
    Je m’explique, sous google script, je le lance en manuel, le script s’exécute très bien.
    Par contre en lancement automatique via le planificateur, j’obtiens un message d’erreur m’indiquant que la ligne de code :
    var json = UrlFetchApp.fetch(« https://latitude.google.com/latitude/apps/badge/api?user= »+id_user+ »&type=json »);
    génère un problème.
    En effet le caractère & est remplacé par & ce qui bloque l’exécution du script.
    Quelqu’un aurait-il une idée afin de palier à ce problème ?

  22. le caractère « & » est remplacé par « & amp; »

  23. Bjr à tous
    Voilà j’ai passé un peu de temps car je ne suis pas un programmeur confirmé mais je vous propose l’alternative suivante pour ceux qui possède un serveur. Cela vous évitera de décharger trop vite votre portable et même de connaître la personne ayant son téléphone android le plus près de chez vous (je ne l’ai pas testé sur iphone, mais les résultats sont bon sur android).
    J’ai simplifié au maxi mais si le zibaseclub souhaite modifier le .php pour y rajouter l’ID, le Token ainsi que la cible directe du capteur via la plateforme, why not.
    Coté PHP :
    Je le déclenche dans mon scénario de traitement de la proximité ou l’éloignement de la maison ou sur tout autre événement (ex : mon actionneur tour de cou que l’on fait enclencher pour déclencher une alerte pour alerter la personne la plus proche…)

    Position

    0) /* Nom de la variable de stockage de la position */
    {
    $v = $_GET["V"]; /* Récupère la variable dans Zibase. Cela permet aussi de lancer plusieurs http avec un id différent pour savoir qui est le plus pres ! */
    if (strlen($_GET["id"])>1)
    {
    $id = $_GET["id"];
    $latm = « 43.XXXX »; // Latitude de votre porte d’entrée
    $longm = « 1.YYYY »; // Longitude de votre porte d’entrée
    $url = « https://latitude.google.com/latitude/apps/badge/api?user= » . $id . « &type=json »; //demande à google
    $handle = fopen($url, « rb »);
    $xmlContent = stream_get_contents($handle);
    fclose($handle);
    if ($debug==1)
    {
    echo $xmlContent . «  » ;
    }
    $findme = « coordinates »;
    $pos = strpos($xmlContent, $findme);
    if ($pos === false)
    {
    }
    else
    {
    $xmlContent =substr( $xmlContent,$pos+15,-1);
    $findme = ‘]}';
    $pos = strpos($xmlContent, $findme);
    if ($pos === false)
    {
    }
    else
    {
    $xmlContent =substr( $xmlContent,0,$pos-1);
    $findme = « , »;
    $pos = strpos($xmlContent, $findme);
    $longitude = substr( $xmlContent,0,$pos);
    $latitude = substr( $xmlContent, $pos+1);
    if ($debug==1)
    {
    echo $longitude . «  » ;
    echo $latitude . «  » ;
    }
    $t1 = sin($latm * 0.0174532925199433) * sin($latitude * 0.0174532925199433);
    $t2 = cos($latm * 0.0174532925199433) * cos($latitude * 0.0174532925199433);
    $t3 = cos(($longm – $longitude)* 0.0174532925199433);
    $dp = acos($t1 + ($t2 * $t3)) * 63710;
    if ($debug==1)
    {
    echo « distance en cm: ». $dp . «  »;
    }
    $zibase->setvariable($v,$dp);
    }
    }
    }
    }
    ?>

    Voilà voilà. Une raison de plus pour avoir un petit serveur à la maison…

  24. nota : mon fichier se nomme position.php
    et on le déclenche par commande PHP dans la zibase en stipulant l’IP du serveur/position.php?V=X&id=-YYYYYYYYYY

    V étant la variable de récupération (N° seul) pour alimenter la sonde (et faire des calculs directes) et le -YYYYYYY… l’Id de google.

    J’espère qu’il n’y a pas le formatage de mon écriture qui change en ayant fait un copier/coller.

  25. bjr,
    est ce quelqu’un pourrait me faire parvenir un copier du script exact pour la zibase. J’ai toujours des messages d’erreurs ( nom de variable manquant, caractere incorrect). MERCI POUR VOS REPONSES.

  26. Voilà le mien, mais maintenant je trouve franchement que cela fonctionne mieux via mon serveur :
    function Latitude()
    {
    var lat_maison = ’43.YYYYYYYY';
    var long_maison = ‘1.ZZZZZZ';
    var device_zibase = ‘ZiBASEWWWW';
    var token_zibase =’VVVVV';
    var id_sonde = ‘6000’;
    var plateforme_zibase = ‘zibase.net';
    var json = UrlFetchApp.fetch(‘https://latitude.google.com/latitude/apps/badge/api?user=-XXXXXXXXXX&type=json’);
    var data = json.getContentText();
    data = Utilities.jsonParse(data);
    if (data.features[0] != undefined)
    {
    var longitude = data.features[0].geometry.coordinates[0];
    var latitude = data.features[0].geometry.coordinates[1];
    var position = data.features[0].properties.reverseGeocode;
    var timestamp = data.features[0].properties.timeStamp;
    var lat1 = deg2rad(lat_maison);
    var lat2 = deg2rad(latitude);
    var long1=(long_maison);
    var long2=(longitude);
    var dp = distance2(lat1,long1,lat2,long2)*10;
    envoi = UrlFetchApp.fetch(‘https://’ + plateforme_zibase + ‘/m/zapi_remote_zibase_set.php?device=’ + device_zibase + ‘&token=’ +token_zibase + ‘&action=rowzibasecommand&param1=6&param2=’+ id_sonde + ‘&param3=’ + dp + ‘&param4=17′);
    }
    }

    function distance2(lat_a, lon_a, lat_b, lon_b)
    {
    var t1 = Math.sin(lat_a) * Math.sin(lat_b);
    var t2 = Math.cos(lat_a) * Math.cos(lat_b);
    var t3 = Math.cos(deg2rad(lon_a – lon_b));
    var t4 = Math.acos(t1 + (t2 * t3)) * 6371;
    return t4;
    }

    function deg2rad(deg)
    {
    return deg * 0.0174532925199433;
    }

    Tu remarquera que j’ai changer la position de la contuation du script en fonction du retour de Google (il y a souvent des plantages et après le lendemains dans la nuit tu te retrouves avec un mail de google). J’ai aussi mis l’ID directement dans le HTTPS pour éviter tes pbs.

    Après, les autres ont peut être fait mieux, mais nettement je préfère ma méthode qui pompe moins de ressources sur mon portable. (Au delà de Google, je partage ma position avec mon épouse chaque X secondes – soit 60 pour moi – si ma position varie plus de 50m – mais tout cela est configurable ! On peut même tricher en forçant des positions pour ceux qui ne veulent rien dire de leurs escapades – mais ça va dans les 2 sens…) Donc au delà de la zibase, elle qui travaille avec un iphone et mois sur un endroid, pas de pb pour se voir sur une carte.

  27. Zut, j’ai pas pris ma dernière version :
    en faite, je ne fais plus « if (data.features[0] != undefined)  »
    mais un peu plus haut « if json != undefined)  »
    à toi de voir…

  28. Salut toto j’ai repris le script que tu a affiché j’ai selectioné et fait affiché la source, j’ai nettoyer les balises html ( et et remis le & a la place de &
    deja une bonne chose c’est lorsque j’appel
    ‘https://latitude.google.com/latitude/apps/badge/api?user=-XXXXXXXXXX&type=json
    j’obtient { « type »: « FeatureCollection »,
    « features »: [
    ]
    }
    pour le reste je vais voir pourquoi la zibase ne reçoit rien avec le rapport google peut etre encore une erreur dans l’adresse je te tiens au courrant.

  29. Lorsque je tape l’url
    https://’ + plateforme_zibase + ‘/m/zapi_remote_zibase_set.php?device=’ + device_zibase + ‘&token=’ +token_zibase + ‘&action=rowzibasecommand&param1=6&param2=’+ id_sonde + ‘&param3=’ + dp + ‘&param4=17

    avec comme valeur pour dp « 17 » dans les traces de la zibase je vois biens la requette arrivé mais par contre j’ai une chose bizare
    j’ai tout d’abord
    ZiBASE0041c4 received your request
    et ensuite
    13/5/2013 17:48:48 Received radio ID (INTERNAL Noise=0 Level=0.0/5 Unknown Oregon ID=0000 Batt=Ok): OS0

    alors que ma sonde ID est OS5916, donc j’avance ma zibase reçoit bien la commande mais il y a une erreur d’interpretation .

  30. Bonjour

    J’ai essayer vos different script mais à chaque fois j’ai une erreur des la 1er ligne. erreur « Caractère incorrect. (ligne 2, fichier « Code »)Ignorer »

    Vous avez une idée ?

    Merci d’avance pour votre réponse

  31. bonjour

    le script ne veut pas ce lancer, avez vous une idée il me remonte une erreur que ce soit avec le script de toto ou Richard. des la première ligne que ce soit ID ou la latitude suivant le script j’ai la même erreur.

    Merci d’avance pour vos réponse

  32. Bonjour et merci pour le tuto que je suis silencieusement depuis le début ! Je n’y ai pas encore mis mon grain de sel car ma connaissance de la programmation s’arrête au « BASIC 1.0″ de l’Amstrad CPC 464 !
    Bref, je bloque sur le script … J’ai essayé celui du Tuto et celui donné par Toto le 12 mai à 23h49, (et j’ai bien corrigé avec mes infos persos) mais j’ai toujours le même probleme: « Caractère incorrect ligne 3″ ! Quand je vois que je bloque à la ligne 3, j’ai peur pour le reste !
    Par ailleurs, Tom, le 13 mai a indiqué: « pour les erreurs de copier coller, il faut remplacer les » les ‘ et les – » … Ok … Mais il faut les remplacer par quoi ???
    Je précise aussi que je n’ai pas de serveur à domicile (vu mon niveau en programmation, vous comprenez pourquoi !).
    Pouvez-vous, svp, poster un script correct utilisable dans « Drive » de Gmail ?
    En vous remerciant, les gars ! (Parce que j’ai vu de fille, ca doit etre un truc de mec, ca …) ;-)

  33. Ok … Quand je vois que rien que dans mon post précédent, la ponctuation a été changé automatiquement, je commence à comprendre pour les copier-coller ne marchent pas …
    Peut-etre qu’un lien pour ce même script posté sur « Drive » nous sauverait ?
    Bonne journée !

  34. Bjr,
    modifie donc ta requête et enlève le ‘+id_sonde+’ par le N° de la sonde réelle.
    Plus c’est simple, mieux ça marche.

  35. Merci Tom ! Ca marche !!! ;-)

  36. Bonjour à tous,
    Je pense que les erreurs remontent dès que le portable n’est pas trouvé allumé ou que la plateforme se trouve submergée. En lançant la commande directement via HTTP j’ai rencontré parfois ce pb…
    Par ailleurs la syntaxe dépend du type de programmation qui est différent entre java, php5, Css3 et HTML5. Il est vrai qu’il faut pouvoir si retrouver. Quand on consulte internet (ma base de connaissance), il y a ceux qui font compliqué et ceux qui avec une seule commande résolvent le pb simplement…
    En Java (que je ne connais que très peu), même en pompant sur internet, je me suis retrouvé dans ce script à avoir des pbs et des fois pour rien : un manque d’espace, un « ; » qui n’est pas écrit, un micro configuré en numérique avec un ‘,’ au lieu d’un point…
    Par ailleurs, en faisant des copiés collés, j’ai même vu mon PHP modifié… Donc rien n’est facile, même avec un bon tuto. Mais plus c’est simple, moins il y a de ligne, moins il y d’erreurs !
    Bref, de notre coté, il ne faut pas faire que de simple mise en oeuvre, il faut aussi comprendre ce que l’on écrit, et là, comme vous tous, j’ai moi aussi mes limites… Y passer du temps (si l’on peut) est une solution…
    Peut être qu’il faudrait prévoir la possibilité dans nos « postes » entre nous d’y insérer des pièces jointes, et très bien commenté – donc réellement savoir de quoi on parlent en évitant de faire de simple copié collé d’un autre article). De mon coté, j’ai maintenant des réponses fiables (mais en PHP) et j’ai arrété le script google pour justement éviter d’avoir tous les matins un rapport d’erreur. Et comme nous tous, n’ayant pas le temps de comprendre et maîtriser le Java de google, j’ai tourné la page à ce type de programmation. Le mieux serait sans doute de mettre ça sur le serveur de la Zibase (j’en ai formulé la proposition à Zodianet, mais ils n’ont pas le temps de se pencher dessus et pensent que les ressources des serveurs n’y suffiront pas). Bref, la Zibase est très puissante mais dès lors que l’on peut lancer une programmation en locale, et là en dehors des API nous n’avons guère de solution… c’est à zodianet d’avancer si l’on aiment pas les rapports d’erreurs de google.
    Et quant on voit la comparaison des différentes box domotique, la zibase a pour seule faiblesse ce point (et quelques fonctions écrites qui ne fonctionnent pas). Mais je ne regrette pas mon achat même si je suis à près de 120 scénarii…

  37. Ce qui serait pas, c’est que le zibase envoie une requette http, qui en fait interroge le smartphone qui en retour, envoie sa position à la zibase
    il doit bien y avoir un application pour ça !
    un genre de find my iphone

  38. Salut meme avec le fichier du drive j’ai la meme erreur que l’autre jour

    Lorsque je tape l’url
    https://’ + plateforme_zibase + ‘/m/zapi_remote_zibase_set.php?device=’ + device_zibase + ‘&token=’ +token_zibase + ‘&action=rowzibasecommand&param1=6&param2=’+ id_sonde + ‘&param3=’ + dp + ‘&param4=17

    avec comme valeur pour dp « 17? dans les traces de la zibase je vois biens la requette arrivé mais par contre j’ai une chose bizare
    j’ai tout d’abord
    ZiBASE0041c4 received your request
    et ensuite
    13/5/2013 17:48:48 Received radio ID (INTERNAL Noise=0 Level=0.0/5 Unknown Oregon ID=0000 Batt=Ok): OS0

    alors que ma sonde ID est OS5916, donc j’avance ma zibase reçoit bien la commande mais il y a une erreur d’interpretation .

  39. Cedric,

    Apparemmet le pb vient de l’ID de ta sonde, est il corretement renseigné dans le script ? c-à-d 5916 sans le « OS » ?

    Ce qui est sûr c’est que ton script est correct, car la zibase le reçoit et l’interprète.

    courage tu touche au but.

  40. Bonjour

    J’aurais besoin de quelques précisions parce que j’ai un souci sur la fréquence de rafraîchissement de mes infos de position. Mon script fonctionne, je reçois bien les infos sur ma Zibase. Par contre, les infos de Latitude ne sont rafraîchies qu’à de gros intervalles genre 10 minutes voir plus. Mon script tourne bien toutes les minutes, par contre ma position n’est pas souvent mise à jour. J’ai fait le test sur mon trajet de 50 minutes ce matin et je n’ai eu que 5 ou 6 mise à jour des infos récupérées sur Google !!!
    Quelle est donc la moyenne de rafraîchissement chez vous ?

    Merci

  41. Bjr à tous,
    Via mon « smilblic » en php, j’ai un rafraîchissement assez fréquent (presque idem à ma demande) mais j’ai mis sur mon android goodev Lattitude et j’ai fait la config de la fréquence de rafraichissement pour informer la plateforme google par contre il y a moins de fonction sur la même la mêm appli pour l’iphone. En bref, l’un (android) demande la fréquence d’envoie de l’info à la plateforme si ma position change de plus de 50m et que l’intervalle est plus de 45s – l’autre cela dépend uniquement de la config Iphone et non de la distance entre les points et même en passant par icloud, la mise à jour est d’environ 2min au mieux, alors sur l’appli latitude Iphone je n’en parle pas c’est plus au moins 15min…
    Bref, précis pour android et imprecis pour l’iphone.

  42. Nota : je ne sais si cela va aider certain, mais quand je programme je m’assure que l’ensemble des applis considèrent le . et non la , (voir panneau de config). En effet, je me suis aperçu que dans certains cas cela avait un impact dans la programmation directe…

  43. Ah, pour info, je suis en train d’installer un IPX 800 V3 pour pouvoir lancer plus de 6 bobines – ce qui était le cas avec ma platine d’arrosage… Là, je vais passer à 9 donc 1 IPX et une extension, et je vais changer la programmation via mon serveur de façon dynamique une fois par jour (mm de pluie et température et pourquoi pas les Lux ou UV et bien sûr de présence ou absence de personne sur la pelouse – mais c’est plus simple il suffit d’avoir l’alarme mise en périphérique si je suis présent). Les infos proviendront bien sûr de ma Zibase. Bref, je fais ainsi car ma platine d’arrosage me laissait la possibilité d’augmenter ou de diminuer le temps en % fonction de la période de l’année ou de la chaleur… là, si j’y arrive (ce en quoi ce n’est qu’une question de temps) je vais le faire de façon automatique via formule. Je pourrai aussi partager le temps venu. Cela ne me pique q’un scénario et n’utilise pas les commandes virtuelles (là aussi, les H je satures), sauf un pour lancer l’arrosage si je détecte à l’extérieur la présence d’une personne en cas d’alarme de niveau 1 (j’ai plusieurs niveaux en fonction de l’assurance de l’infraction) hihi…
    Bref, en domotique on peut tout faire, même les idées les plus farfelues.
    Utiliser un IPX pour l’arrosage n’est pas un scoop – déjà vu dans différents posts – mais de façon autonome si :)

  44. Donc si je comprends bien Toto, tu passes par une appli tierce pour forcer la mise à jour de Google Latitude ? (pour éviter les temps que j’ai de 10 minutes pour avoir ma position à jour chez Google)

  45. Ben oui, en plus ainsi j’ai non seulement la distance de la maison sur ma zibase (pour desactionner certaines cameras en m’évitant d’avoir des alertes dès que je rentre chez moi par mail) mais aussi on se partage nos positions avec mon épouse via Maps.
    Quand mes petits auront un téléphone je les intégrerai aussi (mais d’ici là il y a du temps).
    Cela s’appelle « Goodev Latitude ». Cela synchronise le GPS avec le serveur de google latitude en background. Bref, cela enlève le besoin de programmer de trop via des scriptssur google et je suis sûr d’avoir une maintenance (du moins je l’espère). Si avec l’iphone j’arrive à faire mieux je vous le direz, car je ne synchronise pas avec l’icloud mais une adresse Gmail.
    J’ai hate de la prochaine version de la zibase pour optimiser ça avec des posts…
    A force de bidouiller on arrive à tout

  46. je confirme, ca fonctionne nickel. J’ai fait le test sur mob trajet retour de boulotet ma sonde est à jour tout le temps… merci pour le tuyau ;-)

  47. bjr à tous,
    concernant la sonde pour linterface sur le mobile, que faut-il faire.
    Créez une sonde factice ou alors il faut réellement disposez d’une sonde. MERCI POUR VOS REPONSE.

  48. oui il te faut créer une sonde factice comme décrit au point 2 du tuto ci dessus

    Et tu l’auras ensuite sur ton interface de mobile

    Sinon j’ai trouvé une autre appli pour mettre à jour Latitude… il s’agit de Backtitude dispo sur Playstore

  49. Bonjour à tous,

    Je viens de m’attaquer à la géolocalisation pour ma ZIBASE.

    Sonde créée, identifiant Lattitude récupéré.

    Script debugué des erreur de copie/coller, cependant aucun retour visible sur ma Zibase. J’ai prévu un réveil du script toutes les minutes et même quand je fais un lancement manuelle je ne vois aucune action s’opérer sur le suivi de ma Zibase et bien entendu pas d’évolution de ma sonde.

    Est-ce que quelqu’un aurait déjà rencontré ce type de problème?

    Je suis un peu dans l’impasse la, j’ai essayé de changer pas mal de chose mais rien ne vas.

    Merci d’avance pour votre aide et suggestions.

  50. Petite question Subsidiaire.

    Ayant déjà eu l’utilité de lattitude par le passé, sur mon compte principal GMAIL je ne suis pas passé par l’étape d’activation.

    Quelqu’un connait-il un truc pour récupérer son ID de l’attitude?
    Pour l’instant j’utilise une autre adresse pour les tests mais aimerais bien ne pas m’éparpiller.

    Promis c’est bon j’arrête… :p

  51. L’ID tu l’obtiens en suivant la procédure de Richard décrit ci-dessus en 3-2. Cela marche aussi sur iphone sachant que j’ai obtenu dans ce cas un ID positif.

  52. la procédure au point 3.2 je l’ai suivi pour la seconde adresse et j’ai récupéré une ID.

    Mais pour mon adresse principale, sur laquelle je souhaiterais pouvoir me connecter pour ne pas m’éparpiller comme j’avais déjà activé le service par le passé, je ne sais pas ou retrouver l’ID dans ce cas la car j’ai fait un peu le tour de toute ce qui était possible dans « paramètre » et je ne trouver rien.

    Je suis sur Iphone donc oui, normalement ça marche mais la je ne vois aucun retour sur la ZIbase.

    Merci

  53. Si tu es sous iphone, il te faut une adresse Gmail (que tu as aussi configuré dans l’iphone – d’où la mise à jour chaque 1/4h) si tu veux te servir des fonctionnalités Google. Donc tu te reconnecte sous cette adresse sous google, puis tu tape http://latitude.google.com et enfin tu va en config… Cf. ce qu’à expliqué Richard.
    Attention : s’il n’y a pas de – devant, il ne faut pas le mettre dans ton script, sinon oui.
    Si par contre, tu a un truc direct via l’icloud, nous sommes tous preneur

  54. Salut

    As tu testé les urls du code de manière indépendante du script de façon à être sûr qu’elles sont bonnes…

    Ensuite de mon coté, j’avais peu de mise à jour de ma Zibase, Latitude mettant à jour les serveurs Google toutes les 10 minutes voir plus donc j’ai utilisé d’autres applis qui mettent à jour tes coordonnées GPS. Elle sont indiquées dans les post ci dessus mais la première étape, c’est d’être sûr que tes urls fonctionnent bien

  55. Tout d’abord merci à David et à Toto pour les réponses que vous m’apportez.

    J’avais déjà testé L’url liée à latitude.

    Alors pour l’url ayant rapport à Latitude, cette dernière répond bien. en réponse à mon URL je reçoit les lignes de code avec les dernières coordonnées enregistrées. (en enlevant le signe « – » devant l’id.

    Par contre concernant l’url pour envoyer la consigne à ma Zibase, j’ai en réponse : « KO » et aucune action ne s’opère sur le suivie d’activité de ma Zibase.

    Ci joint l’adresse URL utilisée :

    http://zibase.net/m/zapi_remote_zibase_set.php?login=xxxxxxxxx&password=xxxxxxx &action=rowzibasecommand&param1=6&param2=600000000&param3=5&param4=17

    J’ai mis 5 en remplacement de « dpr »

    Qu’en pensez-vous?

    Parce que le je pêche un peu.

  56. up

    J’ai trouvé un espace qui me posé problème pour la seconde url. c’est la saisi en commentaire qui me l’a mis en évidence… :p

    Saisie de l’url dans le navigateur me met bien à jour ma Zibase.

    Mais toujours pas de fonctionnement avec le script.

    La je pêche…

  57. donc si ta zibase se met à jour, ca veut dire que les 2 urls fonctionnent…

    vois si en te déplacant, les infos renvoyées par ta 1ere url évoluent (regarde la date du timestamp)

    si cela bouge peu ou pas, utilise une des applis dont on parle ci dessus (goodev latitude ou backtitude), ca te met à jour les infos gps chez google avec une fréquence programmable, ca fonctionne nickel chez moi… et là tu verras que les infos renvoyées par ta première url bouge la fréquence choisie

  58. bjr, pour moi,pour que çà marche
    *1: j’ai utiliser le script sous chrome (pas firefox),en copiant/collant le lien de Tom du 15/ a 15h00 .pour créer « mon script  »
    *2: en remplacant les premiers xxxxxxx par mon ID latitude (pour moi, avec le signe moins)
    *3:renplacer les xxxxxxx suivants par les coordonnées gps de mon domicile
    *4: remplacer les xxxxxx suivants par le device de ma zibaze (avec « ZiBASE » devant les chiffres).
    *5: remplacer les xxxx d’apres par le token de ma zibase
    *6: renseigner l’id le la sonde virtuelle crée plus tôt
    *7 avec goodev, ne pas oublier de cliquer sur « start device zibaze (avec « ZiBASE » devant les chiffres) ».
    voila, si j’ai pu aider….., mais il me reste encore a savoir comment utiliser cette géolocalisation pour ativer/désactiver mon alarme

  59. Bjr,
    RSVince
    Si tu es sous Iphone, je pense que seul est présent atitude qui effectivement se met à jour à peu près toutes les 10 mins sur iphone et quasi instantanément sur un android. De mon coté j’ai essayé de trouver l’appli de David mais j’ai pas trouvé :[ (cela aurai pourtant parfait)
    Par contre deux remarques sur ton code :
    – le dpr est à multiplier par 10, sinon cela te fait une distance de 0.5, ce qui approche de l’imprécision (c’est fiable à +ou- 0.2 en fct d’android ou iphone).
    – par ailleurs une sonde ayant un ID aussi long me surprend. Es-tu sur d’avoir une id configuré dans la zibase ayant pour nom OS600000000 ?
    L’as tu bien configuré comme le stipule le tuto ?
    Reprend donc les bases de richard sur ce point et essaye en ligne de commande.
    L’iD négatif semble être pour android et positif sur iphone (du moins, c’est ainsi pour moi…)

    Par contre David, ton appli est sur android et apple store ? Car si oui, je vais reprendre la tienne afin d’avoir une plus grande précision (sur android la mienne se configure parfaitement mais pas sur Iphone – dû au temps de latence non configurable)

  60. Merci pour tout vos retours.

    Concernant l’id de ma sonde, j’en étais venu à prendre l’if d’une sonde présente sur ma Ziase et d’en faire une en 600000 avec exactement le bon chiffre pensant que cela pouvait être aussi le problème. Donc le nombre de chiffre est cohérant avec le nombre d’une mes sonde fonctionnant actuellement.

    Par contre, bizarre aujoud’hui j’ai recu par mail des erreur alors que les deux jours précédent je ne recevais rien, ni pendant le test manuelle de lancement du scipt. Une erreur provenant de la ligne 41 ci dessous :

    envoi = UrlFetchApp.fetch( » http://« +plateforme_zibase+ »/m/zapi_remote_zibase_set.php?login= »+login_zibase+ »&password= »+password_zibase+ »&action=rowzibasecommand&param1=6&param2= »+id_sonde+ »&param3= »+dpr+ »&param4=17″);
    }

    Si quelqu’un voit quelque chose…
    Je suis preneur. :D

  61. Si cela peut aider, voici l’erreur

    (ligne 41, fichier "Code")

  62. Nature de l’erreur :
    (ligne 41, fichier "Code")

  63. Salut

    mon appli backitude est sous android… sinon moi aussi je recois de temps en temps une erreur de google sur le script alors qu’il fonctionne dans 99% des cas… peut ˆetre un souci de dispo des serveurs, je ne sais pas…

    sinon au début, j’ai eu des erreurs dans le script alors que tout semblait ok… j’ai réécrit le ligne de code et ca passait… il doit y avoir des caractères non visibles embarqués au moment du copier/coller

    voilà ce que je peux vous dire, n’hésitez pas…

    A+

  64. au fait, évite tout caractère blanc après les =

    c’est le cas apres login, password et param2 !!!

  65. Merci à tous. (David / Toto / Harvey)

    J’ai pris la solution de retaper tout le script, et au lancement manuel tout communique bien avec la Zibase.

    J’avais également le problème avec latitude sur Iphone d’une mise à jour approximative.

    A tester pour Toto, je suis passé sous « Latify Lite » sur Iphone et je vois dans mon suivi une mise à jour toute les minute correspondant au paramétrage que j’ai fait sur l’appli et sur le lanceur de script google.

    Pas encore de retour sur l’impact sur l’autonomie de la batterie, car je viens tout juste de basculer au test de cette application.

    Affaire à suivre en ce qui concernant l’application. En tout cas encore merci à tous.

    Petit complément, en cherchant je suis aussi tombé sur une appli Iphone nommé « GéoLoc », cette dernière ne nécessite pas de script. Position de la maison à rentrer sur l’appli, et ensuite deux requête http à faire pointer sur deux scénario de la zibase : « arrivé à la maison » et « départ de la maison ». Mais pas encore testé du coup car j’aimais bien avec le script avoir la possibilité de se servir du retour de la distance. Et non pas un point de départ et un point d’arrivée.

  66. Yes, c’est précis !!!
    Merci RSVince

  67. Bonjour,

    Je recois bien toutes les informations sur ma zibase toutes les minutes mais ma valeur n’evolue pas.

    J’ai ce message:27/5/2013 23:32:12 Received radio ID (INTERNAL Noise=0 Level=0.0/5 Unknown Oregon ID=0000 Batt=Ok): OS60000.

    Je ne vois pas ce qui me manque !!!!

    Merci pour votre aide

    Phildefer

  68. Salut Phildefer,

    Tu tournes sous quelques programme pour faire le relevé GPS?

    Pour ma part quand j’avais ce souci c’était lié à mon IDUSER google Latitude.

    Comme on a pu me le dire au dessus, as tu essayé de taper la requête Http pointant sur google latitude dans ton navigateur?

    Tu prend l’url ci-dessous :

    https://latitude.google.com/latitude/apps/badge/api?user=xxxxxxxxxx&type=json

    Et tu remplace le xxxxx par ton IDUSER, pour ma part avec le (-) devant cela m’affiché un « 1 » sur la page. Dès le moment ou j’ai supprimé le « – » j’ai eu le retour de google latitude qui c’est affiche sur plusieurs ligne avec les informations de localisation.

  69. Bonjour

    Merci pour ta reponse et je vais essayer cela ce soir ,mais dans le script j’utilise deja mon id user sans le signe »-« .

    J’utilise un iphone et google latitude.

    A+

    Phildefer

  70. Pour ma part avec latitude, j’avais des mises à jour sommaire.

    Essais également avec le logiciel « Latify Lite »

    Et surtout essai requette http sur navigateur, pour voir déjà si des informations arrivent jusqu’au script.

    @+

  71. Re

    Bon , je viens de tester le lien et j’ai bien le retour de mes informations.

    Donc je ne comprends pas beaucoup plus ;-)

    Ou alors j’ai un pb dans la définition de mon périphériques dans la zibase.

    A+

    Phildefer

  72. Ca y est j’ai trouvé ,j’avais rentré l’identifiant de mon capteur en minuscule et lorsque j’ai mis OS en majuscule :miracle cela marche.

    Maintenant il me reste à creer mes scenarii.

    Merci Rsvince

    A+

    Philippe

  73. Bonne continuation.
    @+

  74. Bonjour,

    Finalement ,j’ai testé aujourd’hui mais apparemment ma distance n’évolue pas ,donc je recherche le problème.

    Si quelqu’un a une idée je suis preneur.

    Merci

    Phildefer

  75. Bjr Phildefer
    Essaye par étape, cf ci-dessus, en envoyant les trames http et regarder les retours…
    Mais a-tu mis les applis auxiliaires sur le téléphones (cf. ci-dessus)
    Tu va trouver courage, surtout soit méthodique

  76. C’est clair dès le moment ou tu es sur d’avoir valider que tes trame en Http passe bien.

    Envoi à la Zibase
    Et surtout la trame http qui doit t’afficher ta geoloc.
    Faut que tu vérifie déjà que cette dernière évolue bien.

    Une fois des 2 trames valider, si il y a un souci… Tu pourras être sur à 100% que le problème vient de ton script.

    Pour ma part, j’avais galéré avec les erreur se glissant dans les copier/coller.

    Du style les «  » ou les espaces avant et après les =

    Bon courage.

  77. Bonjour à tous,
    Je suis de façon très intéressé ce sujet depuis sa parution mais sans le temps d’essayer. :(
    Enfin cet après midi j’ai suivi le didacticiel et la lecture de tous les commentaires m’a beaucoup aidé.
    Et j’en suis comme Phildefer!
    j’ai dans mon suivi d’activité : 31/5/2013 15:48:05 Received radio ID (INTERNAL Noise=0 Level=0.0/5 Unknown Oregon ID=0000 Batt=Ok) Distance domicile (OS7300)

    Pour le moment j’ai toujours 0 en résultat. :( (je me suis juste éloigné d’une courte distance à pied (100m) c’est peut être pour cela…. ;-)
    Je dois partir dans un moment en voiture, je croise les doigts!!!
    Sinon Phildefer, je suis comme toi……….. :(

  78. Salut Fred,

    Dans un premier temps, 100mètre je pense que cela fait peu. Maintenant sur ce point je peux me tromper.
    Déjà tout dépend du logiciel de géoloc utilisé, pour la fréquence des retour à Google.

    Ce que tu me décris veux dire que la partie de liaison entre ton script et ta Zibase fonctionne.

    Mais as tu testé de taper l’adresse que j’avais donné plus haut :

    https://latitude.google.com/latitude/apps/badge/api?user=xxxxxxxxxx&type=json

    en remplacant les xxxxxxx par ton id google lattitude bien entendu. Cela pour te permettre de vérifier si tu as bien un retour de ta position GPS. Si oui tu devrais voir apparaitre dans le navigateur un page comportant des infos de ce type :

    { « type »: « FeatureCollection »,
    « features »: [
    { « type »: « Feature »,
    « geometry »: {« type »: « Point », « coordinates »: [-0.0000000, 00.00000]},
    « properties »: {
    « id »: « xxxxxxxxxxxxxxxxxxxx »,
    « accuracyInMeters »: 65,
    « timeStamp »: xxxxxxxxxxx,
    « reverseGeocode »: « Valencia, Spain »,
    « photoUrl »: « xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx »,
    « photoWidth »: 96,
    « photoHeight »: 96,
    « placardUrl »: « https://latitude.google.com/latitude/apps/badge/apixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx »,
    « placardWidth »: 56,
    « placardHeight »: 59
    }
    }
    ]
    }

    Si cette étape est bonne pour toi, il n’y a plus qu’une seule explication, des erreurs dans ton script. cela peut être un espace vicieux ou autre…. pour ma part je m’étais retaper tout le code car cela ne fonctionnait toujours pas et depuis plus de souci.

    Comme l’a si bien dit TOTO un peu plus haut, surtout procédé avec méthode sinon tu vas passé à côté de certaine chose.

    Bon courage à vous deux.

  79. désolé pour les fautes… Je m’écorche les yeux à me relire à chaque fois mais toujours en train de faire 36000 choses en même temps.

    Il fallait que je le dise. lol

  80. Une fois que cela fonctionne, c’est génial (mais il faut les bonnes applis sur les téléphones pour le taux de rafraîchissement). Par contre, c’est effectivement précis à 100m soit 0.1Km et cela arrondi toujours.
    Aller, ça va marcher pour toi aussi !

  81. Yes!!!! Cela fonctionne bien ! ;-) Je vais pouvoir avancer pour lancer des scénarios en fonctions de la distance!!
    le taux de rafraîchissement semble bon.

    Merci pour le didacticiel et tous les messages dessous qui m’ont permis d’y arriver!
    tuto2: zibase-et-geolocalisation-suite-avec-lancement-de-scenario/ J’arrive!!!!

  82. Voilà le code que j’ai avec la commande https:

    { « type »: « FeatureCollection »,
    « features »: [
    { « type »: « Feature »,
    « geometry »: {« type »: « Point », « coordinates »: [6.xxxxxx55, 45.XxXXXX01]},
    « properties »: {
    « id »: « 748XXXXXXXXX55603″,
    « accuracyInMeters »: 22,
    « timeStamp »: 1370028981,
    « reverseGeocode »: « Albertville, France »,
    « photoUrl »: « https://latitude.google.com/latitude/apps/badge/api?type=photo&photo=bXXXXxxxxxxxxxxxxxxxxxxxxx
    « photoWidth »: 96,
    « photoHeight »: 96,
    « placardUrl »: « https://latitude.google.com/latitude/apps/badge/api?type=photo_placard&photo=XXXXXXXXXXXXXXXXXXXXXXXXXoa2MRruaj4Q&&stale=true&lod=1&format=png »,
    « placardWidth »: 56,
    « placardHeight »: 59
    }
    }
    ]
    }
    Cela semble ok, cela semble bien suivre sur l’appli.
    Suis Content!! ;-) ;-)

  83. Bonjour a tous ,
    depuis debut mai j’essai mais sans succes, copier/coller mais pas de reaction sur la zibase !

    donc j’ai suivie un commentaire qui disait de le taper a la main, ce que j’ai fais et maintenant ma zibase reagi :)

    Par contre comme toi « Fred » mes deux URL fonctionne mais dans l’application je reste a zero.

    Qui aurais le temps de prendre une photo de son script qui fonctionne pour voir exactement ou sont les espace ou non,car niveau codage je suis debutant :(

    dans le suivi de la zibase quand il y a la phrase pour la sonde,y a t’il de marquer des info de geolocalisation ou pas, car j’ai comme « Fred » (commentaire du 31 mai 15h51)

    Phildefer, Fred, on as le meme probleme a priorie :)

    que dire de plus, script repris du commentaire de « Tom » 15mai 15h00

    application « Latitude » et Latify lite essayer mais sans succes.
    Je pense n’avoir rien oublier :)

    Cdt
    rfcniblon

  84. Bonjour rfcniblon,
    Pour moi c’est ok, j’étais juste pas allé assez loin à pied pour que 0.0 évolu…. ce matin courses, j’ai bien vu évoluer sur l’appli.

    Je me suis servi (copier:coller) du lien de (Tom 15 mai 2013 at 15:00 -)

    Pour le script, as-tu bien rentré le numéro de ta zibase et son token et non ton login et mdp?
    var login_zibase = ‘ZiBASE005XXX'; // DEVICE Zibase
    var password_zibase =’0fXXXXXXXX'; // Token de votre Zibase

    As-tu également bien programmer un déclenchement toutes les X minutes? (perso j’ai mi 1 minute..)

    Pour l’appli sur ton tel, je me sers de google maps (maps) sur laquelle j’ai activé la fonction latitude. (Manip faite depuis mon pc, je trouvais plus simple que sur le tel) As-tu bien activé le partage de ta position, sinon je crois pas que cela fonctionne.

    Quand tu as déclaré ta sonde tu as bien écrit OSXXXX en majuscule?

    Pour moi le script de (Tom 15 mai 2013 at 15:00 -) fonctionne parfaitement donc pas de raison que ce soit pas pareil pour toi si tu l’utilises.

    Tu vas trouver courage. ;)

  85. Salut,
    ben, je rame un peu comme les copains.
    pour moi je n’ai aucune communication avec la zibaze: je ne vois aucune trame passer.
    https://latitude.google.com/latitude/apps/badge/api?user=XXXXXXXXXXXXXXX&type=json
    me donne bien un résultat qui semble correct donc il y a bien une communication entre google et mon Iphone (Appli Latitude)
    J’ai supprimé et remis les espaces dans les données du départ mais cela ne change rien…
    OSXXXXX est bien en majuscule

    Normalement je devrais voir une trame dans le suivi d’activité de la Zibase, n’est-ce pas?

    Merci,

    Ben

  86. Bonjour,

    j’ai suivi avec attention le tuto et les commentaires.
    j’ai galéré un peu mais au finale j’ai un retour sur la sonde de ma distance quand je m’éloigne…

    par contre je suis assez déçu du rafraîchissement… c’est loin d’être instantané pour moi…j’envisage mal prevoir des scenarios avec cette sonde…

    j’ai réglé sur 5 min dans le script et 5 min l’exécution du script sans que ce soit tres concluant… j’ai donc réglé le minuteur de l’exécution du script à 1 min et c’est toujours aussi lent…
    bref après un trajet au boulot, j’ai le temps de me garer, d’aller au vestiaires, de me changer et d’aller à mon poste, que ma sonde m’indique que je suis encore à 10 km de mon lieu de travail….

    alors y a t’il un moyen de rendre plus sensible la sonde ? une application ? un réglage dans le scripte ?

    avez vous la même expérience ?

  87. Pour ma part 1min sur le script et 1 min sur latify lite et ça marche niquel…

  88. Même paramètre que RSVince pour moi et c’est impec.

  89. bjr a tous, j’aurais voulu savoir au niveau de l’execution du script il faut le faire sous lattitude ou la distance. JE N’AI PAS D’ERREUR SOUS LA DISTANCE MAIS SOUS LATTITUDE J’AI DES ERREURS DE SCRIPT. merci

  90. Script (celui de Tom ) copie/coller avec chrome( alors IE foutrais la merde…),
    remplacement des infos et aucune autre modif et cela fonctionne j’ai une remonter via l’appli :)
    Je vais pouvoir passer au scenario maintenant.

    Merci All

  91. bonjour a tous, bon je commence à bouillir devant mon pc, donc tout a l’air correct au niveau du script mais ma sonde ne m’indique rien et la zibase sur le suivi d’activiter n’a pas l’air aussi de la reconnaitre. Pourtant j’ai fait attention à tous ( OS dans le serveur zibase et non dans le script, c exactement le meme chiffre .. ) JE NE SAIS PLUS HELP

  92. Je ne comprend pas ton message précédent.

    « Script sous LATTITUDE ou la distance »???

    Peux tu préciser?

    As tu fais les vérifications dans le navigateur de tes liens?
    (voir mes commentaires plus haut)
    Première chose à vérifier pour voir si tu as une communication avec ta ZIBASE et voir si tu reçois bien les données de Géoloc.

    Une fois ces deux points validés, tu peux être sûr à 200% que l’erreur vient de ton script…

    Voir aussi pour : Lancement du script toutes les minutes et rafraichissement de la position GPS aussi.

    @+

  93. Bonsoir,

    Je ne sais pas pour vous mais Latify sur iphone, c’est moins d’une journée d’autonomie, alors que latitude c’est quasi transparent. Précision ou autonomie, apparemment il faut choisir…. Et vous?

    Bye

    Djo

  94. Bonjour,

    Me revoila et ca y est cela fonctionne avec latitude .

    J’avais des soucis de ‘ et de =.

    Mais avec latitude il est vrai que la precision n’est pas terrible ,j’ai une delta de 10 km entre ce qu’il me donne et la distance reelle.

    je vais essayer avec Latify maintenant que je comprends un peu mieux le principe.

    Merci à tous pour votre aide

    Phildefer

  95. Salut Phil,

    Content que tu es pu trouver.

    Par contre ce n’est pas la précision du GPS, c’est vraiment le temps de rafraichissement. Sur latitude tu ne maitrise pas ce dernier et je dirais que tu as une mise à jour toutes les 5 à 10 mins.

    Par contre sur Latify s’est paramétrable, pour ma part 1 min comme le script.

    @+

  96. Sur Android, il y a Backitude, ca fonctionne nickel. J’ai mis une alerte à 700m de chez moi et c’est précis…

    A+

  97. ca ne peut venir que de ton ID, y a pas photo…

    As tu mis le signe – devant ?

  98. Bjr,
    A mon sens, plusieurs cause possible :
    1- ton XXXX n’intègre pas réellement la vrai valeur (suivant que tu utilise un iphone ou un android, il y a la présence ou pas du signe -)
    2- là tu interroge la plateforme => si la plateforme n’a pas de réception (donc que ton téléphone n’envoie pas l’info de ta présence, point de retour)… Il faut permettre à ton téléphone d’émettre la géolocalisation.
    3- la géolocalisation est ouverte mais la fréquence n’est pas suffisante… là il te faut la bonne appli dessus.
    Regarde les trucs dans cet ordre
    Bon courage
    Toto dit François P.

  99. Salut , bon j’ai reussi avec mon id, j’ai un mess du

    { « type »: « FeatureCollection »,
    « features »: [
    { « type »: « Feature »,
    « geometry »: {« type »: « Point », « coordinates »: [6.xxxxxx55, 45.XxXXXX01]},
    « properties »: {
    « id »: « 748XXXXXXXXX55603?,
    « accuracyInMeters »: 22,
    « timeStamp »: 1370028981,
    « reverseGeocode »: « Albertville, France »,
    « photoUrl »: « https://latitude.google.com/latitude/apps/badge/api?type=photo&photo=bXXXXxxxxxxxxxxxxxxxxxxxxx
    « photoWidth »: 96,
    « photoHeight »: 96,
    « placardUrl »: « https://latitude.google.com/latitude/apps/badge/api?type=photo_placard&photo=XXXXXXXXXXXXXXXXXXXXXXXXXoa2MRruaj4Q&&stale=true&lod=1&format=png »,
    « placardWidth »: 56,
    « placardHeight »: 59

    Ma question est que dois je faire apres !!! MERCI
    J UTILISE GEOLOC SUR IPHONE

  100. pourquoi ma sonde factice quand je vais dans le suivi de la zibase, elle n’est PAS indiqué. J’ai bien fait attention a mettre OS dans la zibase et non dans le script …

  101. De mon coté, comme tu as pu le voir plus haut, je lance une requête en PHP puis je récupère l’information dans une variable. Cette variable renseigne mes sondes fictives… Cela pompe moins de ressource de mes téléphones, cela me permet d’un seul coup de lancer la position de moi et celui de mon épouse.
    La solution proposée plus haut doit marcher, mais il faut que tu lance les requêtes l’une après l’autre et voir ce que le système te retourne. Je sais, ce n’est pas facile, du moins pour que cela fonctionne il faut savoir comprendre les requêtes sinon ça fait « sploof ».
    Désolé mais pas trop de temps de mon coté pour relire et comprendre ce qu’à fait Richard (d’autant que j’ai changé pour faire plus simple, du moins suivant moi…). Avant j’avais régulièrement des erreurs le matin, là maintenant c’est propre.
    Allez, courage, tu vas trouver.

  102. excusez moi de mon peu de connaissance, mais une question le script de google drive il faut le faire sur son pc ou son smarphone !!

  103. Tu le configures sur ton PC (dans google voir le post) puis c’est lancé par google sur ton téléphone – le tout est une question d’adresse mail : comme tu te connectes depuis ton téléphone sur ton compte via l’appli latitude que tu trouve sur google play, c’est le téléphone qui prend ça en charge en fonction de ta configuration sur ton PC. Parfois le serveur est inaccessible et tu as un rapport d’erreur par mail le matin (du moins juste après minuit). Donc le push initiateur est le téléphone. L’autre solution est de télécharger une appli qui lui envoie les infos sur la plateforme en fonction d’un intervalle de temps + un écart de distance à configurer (appli toute faite et une adéquate en fonction de ton téléphone). A chacun sa technique mais comme j’ai un android et un iphone pour moi la deuxième est plus à mon gout (mais il est vrai que j’ai des serveurs).
    Tout se trouve dans les posts précédents, mais il est vrai que pour relire il faut du temps et du courage sinon même des remises en question.
    Voilà voilà

  104. bjr,

    j ai tout fait et refait !!! mon problème c’est que ma Zibase ne réagi pas ! franchement je serai curieux de savoir si tout ceux qui on écrit sur ce post en son arrivé à bout!!!!! perso ça commence à me souler!!! c’est pourtant simple de suivre une recette de cuisine! mais là franchement Pffffeuuuu……..

  105. Google latitude a été fermé le 1er août

  106. Effectivement, cependant attendons la prochaine version de Google + qui intègre une fonctionnalité similaire, mais peut être sans API…
    Pourquoi Google a fermé ce service : Google latitude faisait doublon avec Google +…
    Donc patiente et nous verrons si nous pourrons exploiter indirectement la géolocalisation de google +.

  107. il semble que Google + propose une fonction équivalente à latitude. Quelqu’un sait il ce qu’il faut changer dans le tuto pour y parvenir ?

  108. En effet Google+ propose bien la géolocalisation, malheureusement, son API n’est pas disponible comme l’était celui de Latitude.

Trackbacks/Pingbacks

  1. Labo° 0224 | Pearltrees - […] que je vous ai donnée, celle ci envoie la distance vous séparant de votre maison à la Zipabox. Zibase …

Laisser un commentaire