Page 17 sur 26

Re: Durée de trajet avec Waze

Publié : 01 déc. 2018, 14:31
par Neutrino
De rien :D
Merci pour vos retours, ça me fait plaisir :)

Re: Durée de trajet avec Waze

Publié : 04 déc. 2018, 13:32
par landaisbenj
patrice a écrit : 01 déc. 2018, 12:27 Bonjour
Oui merci au rédacteurs de ce script , je l'utilise depuis un mois,j'y ai intégré l'envoi de SMS quand le delai de déplacement dépasse une certaine durée et c'est un bijou
Merci encore
Bien joué l'idée. Je prends. Un sms en journée si l'un des deux trajets augmente un peu trop !? parfait.

Re: Durée de trajet avec Waze

Publié : 04 déc. 2018, 23:13
par Dim33
Super script c'est certain ..... par contre il s’exécute le weekend alors qu'il ne devrait pas.... Pas compris pourquoi ?

Re: Durée de trajet avec Waze

Publié : 06 déc. 2018, 14:40
par Datawolf
Dim33 a écrit : 04 déc. 2018, 23:13 Super script c'est certain ..... par contre il s’exécute le weekend alors qu'il ne devrait pas.... Pas compris pourquoi ?
Après avoir lu ton post je viens de remplacer

Code : Tout sélectionner

local weekday = os.date('%w', time)
par

Code : Tout sélectionner

local weekday = os.date('%w')

Re: Durée de trajet avec Waze

Publié : 06 déc. 2018, 21:03
par KingOfIce
Dim33 a écrit : 01 sept. 2018, 09:20 Bonjour,

Avec la dernière version de Domoticz, le script m'affiche une erreur : attempt to index local 'jsonTrajet' (a nil value).

Cette ligne de code est incriminée : routeName = jsonTrajet['response']['routeName']

Code : Tout sélectionner

   -----------------------------------------
   ----------------------------------------------------------------
   --Récupération du trajet et de sa durée en temps réel via WAZE--
   ----------------------------------------------------------------
   voir_les_logs('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=1&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"')
   local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=1&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"'))
   local infowaze = waze:read('*all')
   waze:close()
   local jsonTrajet = json:decode(infowaze)
   --Noms des principales routes empruntées
   routeName = jsonTrajet['response']['routeName']
   if routeName == nil then routeName="route non précisée" end
   --Liste des routes empruntées
   route = jsonTrajet['response']['results']
   --Temps de trajet en secondes
   routeTotalTimeSec = 0
   --calcul du temps de trajet
   routeTotalTimeSec =jsonTrajet['response']['totalRouteTime']
   
   --Temps de trajet en minutes
   routeTotalTimeMin = routeTotalTimeSec/60-((routeTotalTimeSec%60)/60)

   -- Détermination des noms des routes employées
   xtime = {}
   route = jsonTrajet['response']['results']
   voie = jsonTrajet['response']['streetNames']
   for response,results in pairs(route) do
      i = tonumber(results['street'])
      if voie[i] == nil then voie[i] = "/ND" end
      if xtime[i]==nil then xtime[i]=0 end
      xtime[i]=xtime[i]+tonumber(results['crossTime'])
      voir_les_logs(tostring(response).." "..results['crossTime'].." "..results['street'].." "..voie[i].." "..xtime[i])
   end

   i=0
   j=1
   chemin = {}
   trajet = {}

Une idée ? Personne n'a le pb avec la dernière version stable de Domoticz ?

Merci.
Hello, idem pour moi :( T'as trouvé la raison ?

Re: Durée de trajet avec Waze

Publié : 06 déc. 2018, 21:26
par Datawolf
Faut debugger, infoWaze doit être vide...

Re: Durée de trajet avec Waze

Publié : 07 déc. 2018, 22:06
par Dim33
KingOfIce a écrit : 06 déc. 2018, 21:03
Dim33 a écrit : 01 sept. 2018, 09:20 Bonjour,

Avec la dernière version de Domoticz, le script m'affiche une erreur : attempt to index local 'jsonTrajet' (a nil value).

Cette ligne de code est incriminée : routeName = jsonTrajet['response']['routeName']

Code : Tout sélectionner

   -----------------------------------------
   ----------------------------------------------------------------
   --Récupération du trajet et de sa durée en temps réel via WAZE--
   ----------------------------------------------------------------
   voir_les_logs('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=1&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"')
   local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=1&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"'))
   local infowaze = waze:read('*all')
   waze:close()
   local jsonTrajet = json:decode(infowaze)
   --Noms des principales routes empruntées
   routeName = jsonTrajet['response']['routeName']
   if routeName == nil then routeName="route non précisée" end
   --Liste des routes empruntées
   route = jsonTrajet['response']['results']
   --Temps de trajet en secondes
   routeTotalTimeSec = 0
   --calcul du temps de trajet
   routeTotalTimeSec =jsonTrajet['response']['totalRouteTime']
   
   --Temps de trajet en minutes
   routeTotalTimeMin = routeTotalTimeSec/60-((routeTotalTimeSec%60)/60)

   -- Détermination des noms des routes employées
   xtime = {}
   route = jsonTrajet['response']['results']
   voie = jsonTrajet['response']['streetNames']
   for response,results in pairs(route) do
      i = tonumber(results['street'])
      if voie[i] == nil then voie[i] = "/ND" end
      if xtime[i]==nil then xtime[i]=0 end
      xtime[i]=xtime[i]+tonumber(results['crossTime'])
      voir_les_logs(tostring(response).." "..results['crossTime'].." "..results['street'].." "..voie[i].." "..xtime[i])
   end

   i=0
   j=1
   chemin = {}
   trajet = {}

Une idée ? Personne n'a le pb avec la dernière version stable de Domoticz ?

Merci.
Hello, idem pour moi :( T'as trouvé la raison ?
Le pb ne provient pas du script mais de Waze .... l'erreur devrait disparaître d'elle même.

Re: Durée de trajet avec Waze

Publié : 08 déc. 2018, 16:22
par Wolfen38
Datawolf a écrit : 06 déc. 2018, 14:40
Après avoir lu ton post je viens de remplacer

Code : Tout sélectionner

local weekday = os.date('%w', time)
par

Code : Tout sélectionner

local weekday = os.date('%w')
Ca change rien chez moi, ca tourne toujours le we.

Re: Durée de trajet avec Waze

Publié : 08 déc. 2018, 22:25
par Dim33
Idem chez moi.

Re: Durée de trajet avec Waze

Publié : 09 déc. 2018, 09:54
par Datawolf
Bien sur que ça tourne le weekend. Jusqu'au if weekday ~= 0 et çà sort. ;)