Aller au contenu

Recommended Posts

Bonjour, Bonsoir,

 

Concernant : id du vd cible

 

Je n'ai qu un adresse IP et un port à  donner comment je traduis le id du vd cible 1449 sur mon HC2 ?

 

virtualDeviceId = 1449 ???

 

merci de votre aide par avance

Partager ce message


Lien à poster
Partager sur d’autres sites

@Krikroff ou toute autres personnes ayant les compétences.

 

Est-ce que tu pourrais nous adapter ta scène Waze Calculator pour obtenir les 3 ou 4 itinéraires pour un trajet que propose Waze.

 

J'ai vu sur un autre site un script qui analyse les résultats de Waze avec une boucle qui collecte les itinéraires alternatifs (je crois maxi 4).

Voici le lien sur du site en question  :http://easydomoticz.com/forum/viewtopic.php?t=785&start=20

J'ai bien essayé de comprendre le code en question et le tien, mais mon niveau en LUA ne me permet pas "encore" de faire l'adaptation.

 

Dans mon cas (en IDF) ta scène me propose quasi systématiquement un itinéraire par une autoroute payante (très chère, A14 pour les connaisseurs), que je prends que très rarement. Ce qui limite donc l'intérêt du module dans mon cas, mais probablement pour d'autre aussi.

 

L'objectif serait de pouvoir faire un choix qui ne se base pas seulement sur l'itinéraire le plus rapide mais également d'autres critères (comme notamment les trajets que nous connaissons bien).

 

Ce serait vraiment cool. Merci d'avance.

 

 

Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

@Krikroff Laisse tomber, j'ai trouver comment faire. Dès que j'aurais terminé. Je posterais ma version avec 3 itinéraires.

 

Comme quoi avec un peu de temps et de la reflexion. LUA devient accessible. ;)

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@MAM78, Bravo ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
Comme promis, vous trouverez mon adaption de Waze Calculator ici : https://www.domotique-fibaro.fr/topic/10090-hc2-waze-calculator-multi-itinéraires/#comment-154706
 

L'adaptation permet d'avoir de 1 à 3 itinéraires différents par trajet, avec les données suivantes :

  • Point de départ
  • Point d'arrivée
  • Heur de départ
  • De 1 à 3 (nouveautés) itinéraires avec les indications suivantes :
    • Temps de trajet
    • Horaire d'arrivée
    • Routes/Axes principaux de l'itinéraire
    • Indicateur (! Péage) (nouveautés) , si l'itinéraire passe par une voie à péage (afin de choisir son itinéraire toute connaissance de cause)
Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

très intéressant, je cherchais à faire la même chose avec l'api de Mapquest pour avoir la distance.

 

En fait je cherche à avoir la distance entre ma current location et la maison pour en informer ma femme si je suis encore trop loin le soir.

 

Je bloque sur l'obtention de ma current location. Je veux avoir un plan B si la géolocalisation de l'HC2 plante..

 

Quelqu'un à la solution?

 

Merci à Vous

 

Sébastien

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai un parsing error depuis un petit moment sur cette scène, je suppose qu'ils ont changé leurs API. Est-ce que quelqu'un a jeté un coup d'oeil ?

 

J'ai vu qu'il y avait le même soucis dans l'adaptation de @MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui idem de mon côté, ils ont du changer l'API, je voulais jeter un oeil, mais je n'ai pas eu le temps. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Quelqu'un sait où trouver la doc sur les API? Les seuls info que j'ai trouvé permettent d'ouvrir l'appli cliente Waze, d'utiliser le SDK Android ou de faire des iframe sur des sites web, bref rien sur l'API qui permet de calculer l'itinéraire....

Partager ce message


Lien à poster
Partager sur d’autres sites

En cherchant un peu sur internet, les autres box ont eu le même problème. Voici comment un utilisateur Jeedom (lolvince) a résolu cela.

 

Citation

correctif : dans le fichier /var/www/html/plugins/wazeintime/core/class/wazeintime.class.php, remplacer les lignes 
`$request_http->setUserAgent('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0');`
PAR 
`$request_http->setUserAgent('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0'.hex2bin('0A').'referer: https://www.waze.com ');`

 

J'ai essayé de rajouter cette ligne dans l'header mais sans pouvoir tester

 

["User-Agent"] = "'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0'.hex2bin('0A').'referer: https://www.waze.com'"

Mais je ne sais pas pourquoi quand je veux enregistrer la scène, j'ai un "!", je n'ai jamais eu ça avant (je viens de passer en 4.140...). Si quelqu'un peut me dire d'ou ça vient je suis preneur.

 

En attendant, si @Krikroff ou @MAM78 ont une idée de comment concrétiser ce que j'ai trouvé ça permettrait de rendre cette scène a nouveau fonctionnelle :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello

 

Voici la correction à appliquer pour que cela fonctionne à nouveau :

Ligne 112 dans le LUA d'origine: 

headers = {
    ["Content-Type"] = "application/json"
},

A remplacer par : 

headers = {
    ["Content-Type"] = "application/json",
    ["User-Agent"] = "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0\nreferer: https://www.waze.com"
},

@+ :)

Modifié par Tomsauy
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Malheureusement je pense que la vérification du référent n'est qu'une première étape avant la mise en place d'autres mécanismes ... L'avenir nous le dira.

 

Mais bravo à tous les deux :).

Partager ce message


Lien à poster
Partager sur d’autres sites

well done messieurs..

J'espère qu'ils ne testeront pas d'autres choses sans prévenir cote waze ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Comme dit Krikroff c'est probablement pour restreindre les appels à leur api...

Envoyé de mon SM-G901F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour messieurs,

 

D'ailleurs à ce sujet, c'est de nouveau KO pour moi avec une parsing error sur routeName ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, pepite a dit :

Bonjour messieurs,

 

D'ailleurs à ce sujet, c'est de nouveau KO pour moi avec une parsing error sur routeName ;-)

 

 

Fonctionne toujours ce soir chez moi.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, Ah ouais ? Bon ben ca vient de chez moi alors, faut que j'enquete ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis passé de 4.140 à 141 (je ne sais pas si il ya une relation de cause a effet)

 

et depuis :

 

[DEBUG] 13:40:04: [1;31m2017-11-01 13:40:04.324802 [ fatal] LUA error: /opt/fibaro/scenes/32.lua:125: attempt to concatenate field 'routeName' (a function value)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai la même erreur en 4.140, pas eu le temps d'entrer chercher plus loin. :-)

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha je crois savoir pourquoi j'ai moi aussi un problème..... Ce qui est étrange c'est que j'ai quand même une réponse du serveur mais mal formatée....image.png.d0b34140af4e0b14001536610b27f3de.png

 

Modifié par Indyana

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon alors finalement le problème (en dehors du too many request) vient du "routeName" qui est en fait le nom de la route principale utilisée par votre itinéraire. Cette valeur n'est plus renseignée par Waze qui retourne maintenant un bel objet 'null'. Pour pallier temporairement au soucis j'ai ajouté cette ligne ci dessous qui reprend le nom de votre trajet en guise de nom de route principale. Pas top, mais ça permet de récupérer le temps de trajet en attendant que Waze nous renvoi la valeur correcte.

 

        if p.status == 200 then          
          local status, data = pcall(json.decode, p.data)
          if (status and data) then
            data.response.routeName=params[idx].name;

 

Modifié par Indyana

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n’ai jamais de retour Err429 de mon côté mais nous n’utilisons visiblement pas les mêmes codes ;)


Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×