Page 5 sur 26

Re: Durée de trajet avec Waze

Publié : 07 juin 2016, 20:25
par multinet
Salut

Ok je l'avais précisément renommé pour éviter un lancement en auto le temps du debug en mode ligne de commande

Mais bien sûr j'avoue avoir un peu honte maintenant que tu m'explique pourquoi Ca ne peut pas mettre à jour domoticz si Ca n'est pas domoticz qui l'exécute

So sorry !

Un grand merci !
Multinet

Re: Durée de trajet avec Waze

Publié : 04 juil. 2016, 16:52
par fabd
Je viens de faire un essaie avec les elements fournis dans le 1er posts et j'ai une erreur 503, erreur rencontré par une autre personne sur le forum

Code : Tout sélectionner

 2016-07-04 16:50:34.839 Error: EventSystem: in waze: [string "---------------------------------..."]:39: attempt to index field 'response' (a nil value)
2016-07-04 16:50:35.173 Error: EventSystem: in waze: [string "---------------------------------..."]:39: attempt to index field 'response' (a nil value)
2016-07-04 16:50:35.508 Error: EventSystem: in waze: [string "---------------------------------..."]:39: attempt to index field 'response' (a nil value)
2016-07-04 16:50:35.841 Error: EventSystem: in waze: [string "---------------------------------..."]:39: attempt to index field 'response' (a nil value)
2016-07-04 16:50:36.168 Error: EventSystem: in waze: /home/pi/domoticz/scripts/lua/JSON.lua:383: html passed to JSON:decode():


503 Service Temporarily Unavailable

nginx



2016-07-04 16:50:41.766 Error: EventSystem: in waze: [string "---------------------------------..."]:39: attempt to index field 'response' (a nil value) 
Je precise que j'ai bien remplacé le fichier JSON.lua que j'avais déjà par celui indiqué dans le topik (j'ai pas vu de difference)

quelqu'un a une idée?

je me répond a moi meme, j'avais aussi inversée les coordonées :D

Re: Durée de trajet avec Waze

Publié : 08 juil. 2016, 19:24
par Sopalin
je viens de déployer ton script pour waze, cependant le résultat est assez bizarre
j'ai modifier le code pour avoir un peu de debug

Code : Tout sélectionner

routeTotalTimeSec = 0
        for response,results in pairs(route) do
            print("crosstime : "..results['crossTime'])
            print("Tempseconde : "..routeTotalTimeSec)
            routeTotalTimeSec = routeTotalTimeSec + results['crossTime']
        end
Or la variable routeTotalTimeSec ne commence pas à Zéro et la somme à l'air de déconner, voici les logs :

Code : Tout sélectionner

2016-07-08 19:18:44.742 EventSystem: reset all events...
2016-07-08 19:19:04.601 LUA: crosstime : 1
2016-07-08 19:19:04.601 LUA: Tempseconde : 2092
2016-07-08 19:19:04.602 LUA: crosstime : 1
2016-07-08 19:19:04.603 LUA: Tempseconde : 2093
2016-07-08 19:19:04.604 LUA: crosstime : 2
2016-07-08 19:19:04.605 LUA: Tempseconde : 2094
2016-07-08 19:19:04.606 LUA: crosstime : 3
2016-07-08 19:19:04.606 LUA: Tempseconde : 2096
2016-07-08 19:19:04.607 LUA: crosstime : 2
2016-07-08 19:19:04.608 LUA: Tempseconde : 2099
2016-07-08 19:19:04.609 LUA: crosstime : 8
2016-07-08 19:19:04.610 LUA: Tempseconde : 2101
2016-07-08 19:19:04.611 LUA: crosstime : 2
2016-07-08 19:19:04.612 LUA: Tempseconde : 2109
2016-07-08 19:19:04.612 LUA: crosstime : 8
2016-07-08 19:19:04.613 LUA: Tempseconde : 2111
2016-07-08 19:19:04.614 LUA: crosstime : 9
2016-07-08 19:19:04.615 LUA: Tempseconde : 2119
2016-07-08 19:19:04.616 LUA: crosstime : 5
2016-07-08 19:19:04.617 LUA: Tempseconde : 2128
Quand je fait l'appel via un navigateur je me retrouve avec 21 lignes alors que l'appel via le code LUA renvoi énormément de ligne.

Pour info le trajet est extrêmement court inférieur à 5min pour mes tests

Une idée ?

Re: Durée de trajet avec Waze

Publié : 11 juil. 2016, 13:04
par Sopalin
Bon j'ai corrigé mon problème sans trop savoir comment lol.

Bref, je cherche à éviter les péages, vous avez trouvé l'option dans la requête http ?

Re: Durée de trajet avec Waze

Publié : 11 juil. 2016, 15:19
par Sopalin
Je me répond tout seul, pour éviter les péages voici l'options :

options=AVOID_TOLL_ROADS

ça aidera peut être quelqu'un :)

Re: Durée de trajet avec Waze

Publié : 25 oct. 2016, 05:03
par doubleve
Bonjour,
je viens de mette en place waze ça fonctionne nickel merci.
est il possible de changer l’icône txt qui apparait dans le menu j'ai pas trouvé.
merci

Re: Durée de trajet avec Waze

Publié : 29 oct. 2016, 22:41
par lepetitnicolas
bonsoir,
Merci pour le partage. cela fonctionne parfaitement chez moi.
Maintenant je dois trouver un moyen d'envoyer une notification (via pushbullet) si la durée du trajet dépasse un temps donné...
bonne soirée à tous

Re: Durée de trajet avec Waze

Publié : 30 oct. 2016, 14:03
par atlantis007
Bonjour a tous
j utilise le code suivant est je voudrai le déclenche avec un bouton marche arrêt tant qu il est sur on

merci ci quel-qu un peut m aide

Code : Tout sélectionner

---------------------------------
-- Script de calcul de temps pour un trajet entre 2 coordonnées
-- Auteur : Aurelien Neutrino
-- Date : 22 mars 2016
-- Nécessite un capteur virtuel de type Text
-- source :
-- http://www.domo-blog.fr/info-trajet-waze-eedomus-version-raspberry/
---------------------------------
commandArray={}

--import des fontions pour lire le JSON
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()
--coordonnées à modifier----------------

--idx du capteur
idx = '974'

--coordonnées de départ
departx="-1.497"
departy="43.491"
--coordonnées d'arrivée
arrivex="-1.569"
arrivey="43.462"

--Nombre d'itinéraires possibles
nbIti='3'

---récupère l'heure actuelle en minutes
time=os.time()
minutes=tonumber(os.date('%M',time))
hours=tonumber(os.date('%H',time))
maintenant=tonumber(hours*60+minutes)

   ----------------------------------------------------------------
   --Récupération du trajet et de sa durée en temps réel via WAZE--
   ----------------------------------------------------------------
   local waze=assert(io.popen('curl "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'
                              ..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'
                              ..arrivey..'&returnJSON=true&timeout=6000&nPaths='..nbIti..'&options=AVOID_TRAILS%3At%2CALLOW_UTURNS"'))
   local trajet = waze:read('*all')
   waze:close()

   local jsonTrajet = json:decode(trajet)
   --formate la réponse pour un trajet
   jsonTrajet1 = {}
   jsonTrajet1['alternatives']={}
   if(nbIti=='1')then
      jsonTrajet1['alternatives'][1] = jsonTrajet
      jsonTrajet = jsonTrajet1
   end

   itineraires = ""
   for i, alternatives in pairs(jsonTrajet['alternatives']) do
      if(i>1)then itineraires = itineraires .. " ou " end
      --Noms des principales routes empruntées
      routeName = alternatives['response']['routeName']
      --Liste des routes empruntées
      route = alternatives['response']['results']
      --Temps de trajet en secondes
      routeTotalTimeSec = 0
      --calcul du temps de trajet
      for response,results in pairs(route) do
         routeTotalTimeSec = routeTotalTimeSec + results['crossTime']
      end

      --Temps de trajet en minutes
      routeTotalTimeMin = routeTotalTimeSec/60-((routeTotalTimeSec%60)/60)

      --mise en forme de la réponse
      if (routeTotalTimeSec%60<10)then
         routeTotalTime =  routeTotalTimeMin ..':0'..routeTotalTimeSec%60
      else
         routeTotalTime =  routeTotalTimeMin ..':'..routeTotalTimeSec%60
      end
      if(routeTotalTimeSec%60>=30)then
         routeTotalTimeMin = routeTotalTimeMin +1
      end
   itineraires = itineraires .. routeTotalTime.." par "..routeName
   end
   commandArray[1]={['UpdateDevice'] =idx..'|0|' .. itineraires}

return commandArray

Re: Durée de trajet avec Waze

Publié : 30 oct. 2016, 14:14
par Neutrino
Bonjour,

Il suffit de rajouter une condition :

Code : Tout sélectionner

if (otherdevices[''Bonton"']=='On')then
...
end
Tu es rendu à 974 IDX ???

Re: Durée de trajet avec Waze

Publié : 30 oct. 2016, 14:17
par thier
tu ajoutes:
- en début de script la condition if (otherdevices[nom de bouton] == 'On') then
- en fin de script End
Tu sauvegardes ton script en script_time. A la prochaine minute il ferra le calcul et le fera toutes les minutes tant que ton bouton ne sera == Off.