Forum eedomus
http://forum.eedomus.fr/

script interne eedomus waze
http://forum.eedomus.fr/viewtopic.php?f=50&t=5838
Page 1 sur 2  Suivant »
Auteur:  enr37 [ 05 Sep 2017 20:21 ]
Sujet du message:  script interne eedomus waze

bonjour,
Apres cette MàJ, je voulais savoir si pour vous, comme pour moi, vous aviez accès a des trajets coupés. en clair, là, tant sur le smartphone que l'eedomus, il me laisse le choix entre 2 trajets :*

Code : Tout sélectionner
Route des : 19m 53s Route des :20m 34s depuis 2mn
:mrgreen: :mrgreen:
Auteur:  rover820i [ 05 Sep 2017 20:34 ]
Sujet du message:  Re: script interne eedomus waze

Hello

Pareil :mrgreen:
Auteur:  enr37 [ 05 Sep 2017 22:54 ]
Sujet du message:  Re: script interne eedomus waze

Mouais :? Un script pour les parisiens qui n'ont qu'un seul periph à prendre :P

Envoyé de mon SM-G935F en utilisant Tapatalk
Auteur:  SoicnarfB [ 06 Sep 2017 09:16 ]
Sujet du message:  Re: script interne eedomus waze

Hello,

et même pour les parisiens, c'est vraiment les plus proches de Paris:
le script n'affiche pas les heures dans le temps de trajets, uniquement les minutes et secondes.
Il faudrait, à mon avis, plutôt afficher les heures:minutes que les minutes:secondes ;)
Auteur:  rover820i [ 06 Sep 2017 09:19 ]
Sujet du message:  Re: script interne eedomus waze

En analysant le script, ce dernier réduit le nombre de caractères en retour car le capteur eedomus qui affiche cette information est limité à 40 caractères, donc le script se limite à 10 caractères par chemin possible.

Ca limite quand même grandement l'intérêt du script :(
Auteur:  DjMomo [ 06 Sep 2017 09:30 ]
Sujet du message:  Re: script interne eedomus waze

Nouvelle version à venir dans les prochains jours ;)
Auteur:  rover820i [ 06 Sep 2017 09:53 ]
Sujet du message:  Re: script interne eedomus waze

Cool.

Comme quoi, comme toujours, c'est à l'utilisation qu'on se rend compte des améliorations possibles :mrgreen:
Auteur:  enr37 [ 06 Sep 2017 12:15 ]
Sujet du message:  Re: script interne eedomus waze

merci Fabien ;-)
Auteur:  blues [ 06 Sep 2017 13:57 ]
Sujet du message:  Re: script interne eedomus waze

Pareil pour le trajet unique ! :D
Cela va permettre de tester les maj... normalement seul le script php sera à installer à la place de l'ancien.
Sinon, je ne gaze pas trop l'auteur car ce n'est pas dit que je ne publierai pas de script moi même... :P
Auteur:  SoicnarfB [ 06 Sep 2017 14:57 ]
Sujet du message:  Re: script interne eedomus waze

Merci Fabien !
Code : Tout sélectionner
$route1TotalTimeMin = $route1TotalTimeSec/3600%60 .','.$route1TotalTimeSec/60%60;

mais tu l'avais surement déjà :)
Auteur:  rover820i [ 06 Sep 2017 15:08 ]
Sujet du message:  Re: script interne eedomus waze

Personne ne gaze personne :) On fait un retour à l'utilisation pour améliorer :)
Auteur:  DjMomo [ 06 Sep 2017 15:38 ]
Sujet du message:  Re: script interne eedomus waze

SoicnarfB a écrit:Merci Fabien !
Code : Tout sélectionner
$route1TotalTimeMin = $route1TotalTimeSec/3600%60 .','.$route1TotalTimeSec/60%60;

mais tu l'avais surement déjà :)


J'ai mieux que ça ;)
Auteur:  rover820i [ 06 Sep 2017 15:52 ]
Sujet du message:  Re: script interne eedomus waze

DjMomo a écrit:J'ai mieux que ça ;)

Un pilote automatique pour la voiture ? :shock: :shock: :mrgreen:
Auteur:  enr37 [ 06 Sep 2017 17:08 ]
Sujet du message:  Re: script interne eedomus waze

@fabien
connaissant ton dada pour le vol, et mieux, peut etre prévois tu la téléportation a la star trek car je suis preneur :lol:
Auteur:  timetre [ 12 Sep 2017 07:03 ]
Sujet du message:  Re: script interne eedomus waze

J'ai constaté le même bug en province ;)

Le pb vient de cette ligne dans le script:
Code : Tout sélectionner
$textChemin2 = substr($route1Name, 0, 10).':' .str_replace(',', 'm ', $route2TotalTimeMin).'s';


on rempli textChemin2 à partir de route1Name ... forcément on a 2 fois le même nom de route :D

Code : Tout sélectionner
$textChemin2 = substr($route2Name, 0, 10).':' .str_replace(',', 'm ', $route2TotalTimeMin).'s';


Comme ça ça marche mieux ;)
Auteur:  jlegrand [ 25 Nov 2017 00:02 ]
Sujet du message:  Re: script interne eedomus waze

Pour les mamans/papas, qui doivent inclure dans leurs trajets du matin ou du soir une étape (Nounou ou École ou autre), j'ai bidouillé le script pour additionner la valeur des deux parties de trajet.
Si toutefois cela intéresse quelqu'un, je peux partager !
Auteur:  enr37 [ 26 Nov 2017 16:49 ]
Sujet du message:  Re: script interne eedomus waze

salut,
je vote pour merci ;)
Auteur:  jlegrand [ 26 Nov 2017 17:09 ]
Sujet du message:  Re: script interne eedomus waze

enr37 a écrit:salut,
je vote pour merci ;)


Alors, pour commencer, j'ai quelque peu modifié l'affichage. La valeur retournée est un nombre décimal (temps total en minutes). Car je ne suis pas sur que les secondes aient un intérêt pour un trajet quotidien (sauf si vous vous prenez pour Sébastien Loeb, mais il faudra alors tenir compte des dixièmes de secondes ;))
D'autre part, on ne gère plus les différents itinéraires possibles, car le trajet à étape multiplie des possibilités (rien de vous empêchera une fois les fesses posées sur le siège de la voiture de choisir un autre itinéraire).
J'ai également ajouté une condition, pour que le script ne termine pas son exécution si une valeur est retournée à 0 (pour la propreté des graphes, quand Waze se montre indisponible...)

Par de jugement sur la propreté ou la qualité du code, je n'avais pas remis les mains dans le PHP depuis au moins 5 ans... et je l'ai surtout modifier vite fait pour qu'il réponde à un besoin. Mais je n'ai pas soigné la forme....

Changer l'url : http://localhost/script/?exec=wazetotal.php&start=[VAR1]&step=[VAR2]&arrival=[VAR3]
(attention au nom du fichier)
Modifier le type de données et indiquer : Nombre décimal
Unité : min
VAR1 : départ (maison ?)
VAR 2 : étape (nounou, école ?)
VAR 3 : arrivée (boulot, le bagne ?)

Donc, voici le nouveau fichier php (je l'ai appelé wazetotal.php) :
Code : Tout sélectionner
<?php
/*************************************************************************************/
/*         ### Report MAJ information trajet en voiture via Waze ###                 */
/*                                                                                   */
/*                  Développement par eedomusbox@gmail.com                        */
/*                            Version 1.0                                            */
/* Modifié en 11/2017 par jlegrand85@gmx.fr pour calculer un trajet avec 1 étape */
/*************************************************************************************/


// TRAJET 1
$depart = getArg('start');
$arrive = getArg('step');

//Découpage des coordonnées GPS   
$departexp  = explode('|', str_replace(',', '.', $depart));
$depart_x   = $departexp[1];
$depart_y   = $departexp[0];
$arriveexp  = explode('|', str_replace(',', '.', $arrive));
$arrive_x   = $arriveexp[1];
$arrive_y   = $arriveexp[0];

$query = 'https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'.$depart_x.'+y%3A'.$depart_y.'&to=x%3A'.$arrive_x.'+y%3A'.$arrive_y.'&returnJSON=true&timeout=60000&nPaths=2&options=AVOID_TRAILS%3At%2CALLOW_UTURNS';
$jsonResponse      = httpQuery($query, 'GET');

// Le JSON est trop long à parser avec les instructions, on supprime la partie qui ne nous intéresse pas
for ($i = 0; $i < 2; $i++)
{
  $start = strpos($jsonResponse, '"results":[');
  $end = strpos($jsonResponse, ']', $start);
  $jsonResponse = substr($jsonResponse, 0, $start).substr($jsonResponse, $end+2);
}

$routeResponseJson = sdk_json_decode($jsonResponse, true);
$route1TotalTimeSec = $routeResponseJson['alternatives'][0]['response']['totalRouteTime'];
$route1TotalTimeMin = $route1TotalTimeSec/60;
$textChemin1 = round($route1TotalTimeMin);


// TRAJET 2
$depart = getArg('step');
$arrive = getArg('arrival');

//Découpage des coordonnées GPS   
$departexp  = explode('|', str_replace(',', '.', $depart));
$depart_x   = $departexp[1];
$depart_y   = $departexp[0];
$arriveexp  = explode('|', str_replace(',', '.', $arrive));
$arrive_x   = $arriveexp[1];
$arrive_y   = $arriveexp[0];

$query = 'https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'.$depart_x.'+y%3A'.$depart_y.'&to=x%3A'.$arrive_x.'+y%3A'.$arrive_y.'&returnJSON=true&timeout=60000&nPaths=2&options=AVOID_TRAILS%3At%2CALLOW_UTURNS';
$jsonResponse      = httpQuery($query, 'GET');

// Le JSON est trop long à parser avec les instructions, on supprime la partie qui ne nous intéresse pas
for ($i = 0; $i < 2; $i++)
{
  $start = strpos($jsonResponse, '"results":[');
  $end = strpos($jsonResponse, ']', $start);
  $jsonResponse = substr($jsonResponse, 0, $start).substr($jsonResponse, $end+2);
}

$routeResponseJson = sdk_json_decode($jsonResponse, true);
$route2TotalTimeSec = $routeResponseJson['alternatives'][0]['response']['totalRouteTime'];
$route2TotalTimeMin = $route2TotalTimeSec/60;
$textChemin2 = round($route2TotalTimeMin);


// On additionne les deux trajets, si un est retourné à 0, on retentera plus tard
if ($textChemin1 > 0 && $textChemin2 > 0)
    $texteChemin = $textChemin1 + $textChemin2;
else
    exit;

// Affichage du résultat sous forme XML
sdk_header('text/xml');
echo "<root>";
echo "<Route>".$texteChemin."</Route>";
echo "</root>";
?>


Toute suggestion d'amélioration sera la bienvenue !
Auteur:  merguez07 [ 16 Déc 2017 14:28 ]
Sujet du message:  Re: script interne eedomus waze

Bonjour,
je viens d'installer pour la première fois ce Script chez moi et ça n'a pas l'air de fonctionner (tout du moins ça ne me remonte aucun temps entre deux points de trajets)

Est ce que ça marche chez quelqu'un ou est ce un bug passager ?

Cordialement
Auteur:  Patskins [ 16 Déc 2017 15:04 ]
Sujet du message:  Re: script interne eedomus waze

Bonjour,

Même problème chez moi depuis un moment. J'ai développé un script avec Google Maps qui donne le temps de trajet en temps réel, je vais le mettre à disposition dans le store (celui qui existe ne donne que le temps de trajet théorique).
Page 1 sur 2 Le fuseau horaire est UTC+1 heure