script interne eedomus waze

Discussion et échanges de scripts pour la box eedomus

script interne eedomus waze

Messagepar enr37 » 05 Sep 2017 20:21

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:
actionnaire de photoshop. partageur des 450 icones sur abavala et dans votre box.
Le savoir ne vaut que s'il est partagé par tous !
enr37
 
Messages : 1349
Inscription : 06 Juin 2013
Localisation : 37

Re: script interne eedomus waze

Messagepar rover820i » 05 Sep 2017 20:34

Hello

Pareil :mrgreen:
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: script interne eedomus waze

Messagepar enr37 » 05 Sep 2017 22:54

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

Envoyé de mon SM-G935F en utilisant Tapatalk
actionnaire de photoshop. partageur des 450 icones sur abavala et dans votre box.
Le savoir ne vaut que s'il est partagé par tous !
enr37
 
Messages : 1349
Inscription : 06 Juin 2013
Localisation : 37

Re: script interne eedomus waze

Messagepar SoicnarfB » 06 Sep 2017 09:16

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 ;)
SoicnarfB
 
Messages : 40
Inscription : 27 Juil 2016

Re: script interne eedomus waze

Messagepar rover820i » 06 Sep 2017 09:19

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 :(
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: script interne eedomus waze

Messagepar DjMomo » 06 Sep 2017 09:30

Nouvelle version à venir dans les prochains jours ;)
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: script interne eedomus waze

Messagepar rover820i » 06 Sep 2017 09:53

Cool.

Comme quoi, comme toujours, c'est à l'utilisation qu'on se rend compte des améliorations possibles :mrgreen:
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: script interne eedomus waze

Messagepar enr37 » 06 Sep 2017 12:15

merci Fabien ;-)
actionnaire de photoshop. partageur des 450 icones sur abavala et dans votre box.
Le savoir ne vaut que s'il est partagé par tous !
enr37
 
Messages : 1349
Inscription : 06 Juin 2013
Localisation : 37

Re: script interne eedomus waze

Messagepar blues » 06 Sep 2017 13:57

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
blues
 
Messages : 630
Inscription : 05 Fév 2012
Localisation : 37

Re: script interne eedomus waze

Messagepar SoicnarfB » 06 Sep 2017 14:57

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

mais tu l'avais surement déjà :)
SoicnarfB
 
Messages : 40
Inscription : 27 Juil 2016

Re: script interne eedomus waze

Messagepar rover820i » 06 Sep 2017 15:08

Personne ne gaze personne :) On fait un retour à l'utilisation pour améliorer :)
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: script interne eedomus waze

Messagepar DjMomo » 06 Sep 2017 15:38

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 ;)
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: script interne eedomus waze

Messagepar rover820i » 06 Sep 2017 15:52

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

Un pilote automatique pour la voiture ? :shock: :shock: :mrgreen:
rover820i
 
Messages : 3363
Inscription : 23 Juil 2016

Re: script interne eedomus waze

Messagepar enr37 » 06 Sep 2017 17:08

@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:
actionnaire de photoshop. partageur des 450 icones sur abavala et dans votre box.
Le savoir ne vaut que s'il est partagé par tous !
enr37
 
Messages : 1349
Inscription : 06 Juin 2013
Localisation : 37

Re: script interne eedomus waze

Messagepar timetre » 12 Sep 2017 07:03

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 ;)
timetre
 
Messages : 77
Inscription : 15 Juin 2017

Re: script interne eedomus waze

Messagepar jlegrand » 25 Nov 2017 00:02

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 !
jlegrand
 
Messages : 112
Inscription : 01 Déc 2016

Re: script interne eedomus waze

Messagepar enr37 » 26 Nov 2017 16:49

salut,
je vote pour merci ;)
actionnaire de photoshop. partageur des 450 icones sur abavala et dans votre box.
Le savoir ne vaut que s'il est partagé par tous !
enr37
 
Messages : 1349
Inscription : 06 Juin 2013
Localisation : 37

Re: script interne eedomus waze

Messagepar jlegrand » 26 Nov 2017 17:09

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 !
jlegrand
 
Messages : 112
Inscription : 01 Déc 2016

Re: script interne eedomus waze

Messagepar merguez07 » 16 Déc 2017 14:28

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: script interne eedomus waze

Messagepar Patskins » 16 Déc 2017 15:04

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).
Eedomus+
DI-O / Zwave / Zwave + / Thermostat et station Netamo / Smappee / Sondes Oregon
Tablette dédiée avec Impérihome pro pour la gestion, un dashboard à l'aide d'un Raspberry
Patskins
 
Messages : 260
Inscription : 26 Oct 2015
Localisation : Bretagne (35), France

Suivant

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 33 invité(s)

cron