Page 16 sur 26

Re: Durée de trajet avec Waze

Publié : 26 janv. 2018, 21:30
par Chrominator
alacran a écrit :...
Mais en France (pour ma part),0 et 6 ne correspondent pas à samedi et dimanche
Qui te parle de fuseau horaire ou de quoi que ce soit d'autre ?
Je te parle de convention.

Lis la doc de LUA et tu seras moins dans le flou.
Screenshot-2018-1-26 Programming in Lua 22 1.png
Screenshot-2018-1-26 Programming in Lua 22 1.png (1.69 Kio) Consulté 9237 fois

Pour le jour férié, le script est là :

../viewtopic.php?f=17&t=885&hilit=P%C3%A2ques

Re: Durée de trajet avec Waze

Publié : 29 janv. 2018, 09:31
par landaisbenj
Si ca interresse quelqu'un moi je me suis rajouté l'heure d'arrivée:

Code : Tout sélectionner

print('Heure d\'arrivée: '..os.date("%Hh%M",os.time()+routeTotalTimeSec))
En plus d'indiquer le retard pour un départ au travail ou quoi, pourra surement servir à initier un script time lors du retour à la maison (par exemple ouverture du portail a tel heure ou allumer les lumières)

Et en suspends, je crois que ca:

Code : Tout sélectionner

--calcul du temps de trajet
for response,results in pairs(route) do
routeTotalTimeSec = routeTotalTimeSec + results['crossTime']
end
peut etre remplacé par ca:

Code : Tout sélectionner

routeTotalTimeSec =jsonTrajet['response']['totalRouteTime']
(les boucles si je peux les éviter au maximum...)

Re: Durée de trajet avec Waze

Publié : 04 févr. 2018, 22:50
par Dim33
Bonjour,

J'ai installé ce script hier. Super boulot hormis qu'il s'est exécuté ce matin alors qu'il ne devrait pas. Le test sur le numéro du jour ne semble pas fonctionner pourtant avec ce petit script, la valeur affichée est bien zéro (Sunday).

Code : Tout sélectionner

time=os.time()
local weekday = os.date('%w', time)
commandArray = {}
print (weekday)
return commandArray
Je continue d'investiguer .....

Re: Durée de trajet avec Waze

Publié : 15 mars 2018, 22:26
par Dim33
De temps en temps, j'ai également ça qui apparaît dans les Log :

"Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/scrip_time_calcultrajet.lua: /volume1/@appstore/domoticz/var/scripts/lua/JSON.lua:660: html passed to JSON:decode():"

Re: Durée de trajet avec Waze

Publié : 19 mars 2018, 22:44
par Moumi32
bonjour à tous,

Tout fonctionne pour le calcul et tout s'affiche correctement sauf que dans le log j'ai l'erreur suivante:
Error: EventSystem: in waze2: [string "-- Script de calcul de temps pour un trajet e..."]:70: attempt to concatenate global 'arrivey' (a nil value)

la ligne 70 correspond à:
local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager ... TOLL_ROADS"'))

Je ne sais pas d'ou cela peut venir.

Pourriez-vous m'aider svp?

Merci

Re: Durée de trajet avec Waze

Publié : 22 mars 2018, 21:31
par Chrominator
Moumi32 a écrit :....
la ligne 70 correspond à:
local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager ... ex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths='..nbIti..'&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"'))
...
Tu as sans doute mal initialisé la variable arrivey en début de script.

Du coup je me demande d'où vient le résultat que tu dis être correctement calculé.

Re: Durée de trajet avec Waze

Publié : 01 sept. 2018, 09:20
par Dim33
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.

Re: Durée de trajet avec Waze

Publié : 29 nov. 2018, 23:09
par Datawolf
Salut,

Un grand merci à Neutrino et Chrominator pour ce chef d’œuvre, ça marche nickel du premier coup ! :D

@+

Datawolf

Re: Durée de trajet avec Waze

Publié : 01 déc. 2018, 12:27
par patrice
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

Re: Durée de trajet avec Waze

Publié : 01 déc. 2018, 14:11
par Datawolf
Bonjour,
Hey, bonne idée ! J'ai ajouté l'heure d'arrivée prévue, je vais de ce pas ajouter une notification si l'heure dépasse mon "horaire de bureau". :D
@+
Datawolf