Aller au contenu

Krikroff

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

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

@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
Lien vers le commentaire
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
Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

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

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

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

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

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....

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

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 :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

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
Lien vers le commentaire
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 :).

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

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)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

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
Lien vers le commentaire
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

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...