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 (1.69 Kio) Consulté 9228 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:
(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
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 !
@+
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".
@+
Datawolf