[LUA] Durée de trajet avec Waze
Re: Durée de trajet avec Waze
Merci pour ton retour. très utile 
Re: Durée de trajet avec Waze
Bonjour,
J'ai tenté de faire fonctionner le script google maps (les 2 versions) mais dans les 2 cas mes compteurs s'update avec "0" comme valeur.
Quand je teste l'API a la main avec les coordonnées GPS départ et arrivée + ma clé cela fonctionne bien.
On dirait qu'une des boucles ne marche pas et qu'il passe directement a la fin en updatant a 0, normalement cela est censé se faire uniquement hors periode de calcul du trajet (journée et weekend).
Vous me direz si vous avez réussi a le faire marcher!
J'ai tenté de faire fonctionner le script google maps (les 2 versions) mais dans les 2 cas mes compteurs s'update avec "0" comme valeur.
Quand je teste l'API a la main avec les coordonnées GPS départ et arrivée + ma clé cela fonctionne bien.
On dirait qu'une des boucles ne marche pas et qu'il passe directement a la fin en updatant a 0, normalement cela est censé se faire uniquement hors periode de calcul du trajet (journée et weekend).
Vous me direz si vous avez réussi a le faire marcher!
Re: Durée de trajet avec Waze
Pour ceux qui veulent continuer à utiliser Waze plutot que gmaps, la solution vient de ce post :
http://www.domoticz.com/forum/viewtopic ... 00#p145454
Il faut changer :
par :
http://www.domoticz.com/forum/viewtopic ... 00#p145454
Il faut changer :
Code : Tout sélectionner
local waze=assert(io.popen('curl "https://www.waze.com/r...".')
par :
Code : Tout sélectionner
local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/r...."')
Re: Durée de trajet avec Waze
Impec ca fonctionne a nouveau merci pour l'info!
Re: Durée de trajet avec Waze
Génial merci!
Domoticz sur Raspberry PI 3
Interfaces: razberry, rfxtrx433e, rflink
Périphériques: DI.O, Somfy RTS, Yeelight
L'excellent blog de mon ami Deennoo: http://www.domo-attitude.fr
Interfaces: razberry, rfxtrx433e, rflink
Périphériques: DI.O, Somfy RTS, Yeelight
L'excellent blog de mon ami Deennoo: http://www.domo-attitude.fr
-
sennheiser
- Messages : 8
- Inscription : 14 août 2017, 16:28
Re: Durée de trajet avec Waze
Salut !
Bon j'ai tout bien fait et cela fonction avec les coordonnées qui sont dans le script de base en revanche, dés que je met les miennes "de coordonnées"
, j'ai le message suivant :
2017-08-20 13:38:07.081 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_waze.lua: /home/pi/domoticz/scripts/lua/script_time_waze.lua:58: bad argument #1 to 'pairs' (table expected, got nil)
J'ai essayé d'inverser les X / Y mais ca ne change rien
Si qqn peut m'aider ?
Merci
Bon j'ai tout bien fait et cela fonction avec les coordonnées qui sont dans le script de base en revanche, dés que je met les miennes "de coordonnées"
2017-08-20 13:38:07.081 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_waze.lua: /home/pi/domoticz/scripts/lua/script_time_waze.lua:58: bad argument #1 to 'pairs' (table expected, got nil)
J'ai essayé d'inverser les X / Y mais ca ne change rien
Si qqn peut m'aider ?
Merci
Raspberry Pi 3 + Ecran tactile 7" raspberry
Domoticz
Interface Broadlink RM PRO
Domoticz
Interface Broadlink RM PRO
Re: Durée de trajet avec Waze
Tu peux copier ton script ici?
Tu as bien mis des "." dans les coordonnées GPS?
Tu as bien mis des "." dans les coordonnées GPS?
-
sennheiser
- Messages : 8
- Inscription : 14 août 2017, 16:28
Re: Durée de trajet avec Waze
Bonjour,
J'ai bien mis des "." pour les coordonnées.
Je précise qu'après avoir fait plein de test le script fonctionne si je met le "nblti='1'". Si je met 2 ou 3 ca ne marche plus. Donc je ne peut pas avoir plusieurs iti.
Sinon j'ai aussi toujours cette erreur là :
Error: EventSystem: Warning!, lua script /home/pi/domoticz/scripts/lua/script_time_waze.lua has been running for more than 10 seconds
Voici mon script :
Merci pour ton aide
S
J'ai bien mis des "." pour les coordonnées.
Je précise qu'après avoir fait plein de test le script fonctionne si je met le "nblti='1'". Si je met 2 ou 3 ca ne marche plus. Donc je ne peut pas avoir plusieurs iti.
Sinon j'ai aussi toujours cette erreur là :
Error: EventSystem: Warning!, lua script /home/pi/domoticz/scripts/lua/script_time_waze.lua has been running for more than 10 seconds
Voici mon script :
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 = '52'
-- y = latitude et x = longitude
-- exemple pour paris :
-- departx="2.2XXXXXX"
-- departy="48.8XXXXXX"
--coordonnées de départ
departy="48.85XXXXX"
departx="2.29XXXXX"
--coordonnées d'arrivée
arrivey="48.XXXXX"
arrivex="2.XXXXX"
--Nombre d'itinéraires possibles
nbIti='1'
---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)
---calcule du trajet entre 7h et 9h
--if(maintenant>=420 and maintenant<= 540 and maintenant%2==0)then
----------------------------------------------------------------
--Récupération du trajet et de sa durée en temps réel via WAZE--
----------------------------------------------------------------
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"'))
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 ..'mn'..routeTotalTimeSec%60
end
if(routeTotalTimeSec%60>=30)then
routeTotalTimeMin = routeTotalTimeMin +1
end
itineraires = itineraires .. routeTotalTime.." par "..routeName
end
print(itineraires)
commandArray[1]={['UpdateDevice'] =idx..'|0|' .. itineraires}
return commandArrayS
Raspberry Pi 3 + Ecran tactile 7" raspberry
Domoticz
Interface Broadlink RM PRO
Domoticz
Interface Broadlink RM PRO
Re: Durée de trajet avec Waze
Tu as pas inversé ton X et ton Y?
Essayes avec x="2.xxxx" et y="48.xxxxx"
Sur ma version de script je n'ai pas la variable nblti, il est plus court je dois pas utiliser la dernière version...
Essayes avec x="2.xxxx" et y="48.xxxxx"
Sur ma version de script je n'ai pas la variable nblti, il est plus court je dois pas utiliser la dernière version...
-
sennheiser
- Messages : 8
- Inscription : 14 août 2017, 16:28
Re: Durée de trajet avec Waze
Salut,
Merci pour la réponse.
J'ai déjà testé l'inversion et effectivement j'utilise la version qui donne 3 trajets alternatifs.
Je pense qu'il est là le souci mais je d'autre ont pris le meme script que moi et cela semble marcher.
S
Merci pour la réponse.
J'ai déjà testé l'inversion et effectivement j'utilise la version qui donne 3 trajets alternatifs.
Je pense qu'il est là le souci mais je d'autre ont pris le meme script que moi et cela semble marcher.
S
Raspberry Pi 3 + Ecran tactile 7" raspberry
Domoticz
Interface Broadlink RM PRO
Domoticz
Interface Broadlink RM PRO