Page 12 sur 26
Re: Durée de trajet avec Waze
Publié : 04 oct. 2017, 20:13
par Phebus06
Bon c'est vraiment zarbi car les parcours s'inscrivent bien dans mon capteur virtuel text dans domoticz, mais quand je clic sur log et bien je n'ai rien d'écrit dedans ???
Si quelqu'un sait pourquoi j'ai cette erreur venant du script et comment la corriger, je suis preneur

Re: Durée de trajet avec Waze
Publié : 04 oct. 2017, 21:32
par Neutrino
Soit c'est un problème de cache, soit c'est ta carte SD qui commence à montrer des signes de faiblesse.
Re: Durée de trajet avec Waze
Publié : 05 oct. 2017, 08:45
par Phebus06
Hihihi je ne suis pas sur carte sd mais sur disque dur
Je pense plutôt que ça vient du script donné car dans les autres capteurs virtuels texte que j'ai pour la lune par exemple ou le saint du jour ou encore les tremblements de terre etc... fonctionnent bien et j'ai bien l'historique dans le log des capteurs ???
Re: Durée de trajet avec Waze
Publié : 05 oct. 2017, 20:23
par Neutrino
Pour le dd, c'est good.
Par contre, pour le cache, ça peut pas faire de mal de l'effacer. =>
https://easydomoticz.com/les-caches-des ... -domoticz/
Je pense que le problème de log du capteur est lié à ton problème d'erreur sql.
Essaye :
http://www.domoticz.com/forum/viewtopic ... 4&p=126515
Re: Durée de trajet avec Waze
Publié : 06 oct. 2017, 20:42
par Phebus06
Merci pour l'aide
Donc le cache est vidé...
Rien ne change.
Pour l'erreur SQL, j'ai regardé ton lien et de fil en aiguille plein d'autres. Pour moi ça fait un peu peur de commencer à tout bidouiller alors que pour l'instant tout fonctionne à part ces erreurs dans le log.
J'hésite du coup...
Re: Durée de trajet avec Waze
Publié : 08 oct. 2017, 18:27
par tonejay
Hello à tous !!
Hate de voir ce script tourner !! beau boulot !!
Pour l'instant j'a icette erreur...
Code : Tout sélectionner
2017-10-09 19:36:15.139 Error: EventSystem: in Script_Trajet_Tony: /home/pi/domotique/domoticz/scripts/lua/JSON.lua:783: HTML passed to JSON:decode():
Et un joli logo google a la suite avec ecrit "400. That's an error"
"Your client has issued a malformed or illegal request. That’s all we know."
Une idée??
Re: Durée de trajet avec Waze
Publié : 01 nov. 2017, 11:38
par MisterT
Bonjour a tous
Je viens de m'apercevoir dans les logs de Domoticz que j'ai une erreur sur le script waze qui dit:
Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_waze.lua: /home/pi/domoticz/scripts/lua/script_time_waze.lua:76: attempt to concatenate global 'routeName' (a nil value)
Vu que je n'y comprends pas grand chose en lua, un petit coup de main serait le bienvenue
la ligne 76 correspond à:
itineraires = itineraires .. routeTotalTime.." par "..routeName
pour le script ci dessous:
Code : Tout sélectionner
---------------------------------
-- Script de calcul de temps pour un trajet entre 2 coordonnées
-- Auteur : Aurelien Neutrino
-- Date : 14 septembre 2015
-- 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 = '166'
--coordonnées de départ
departx="5.099907"
departy="43.6302104"
--coordonnées d'arrivée
arrivex="5.237356"
arrivey="43.431573"
--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 6h et 7h
--if(maintenant>=360 and maintenant<= 420 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&options=AVOID_TOLL_ROADS"'))
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 commandArray
sinon, j'ai tenté de parametrer le script pour éviter les Autoroutes en ajoutant options=AVOID_TOLL_ROADS au script
Code : Tout sélectionner
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&options=AVOID_TOLL_ROADS"'))
mais cela ne fonctionne pas
la aussi si quelqu'un connait la soluce?
Merci pour les futures réponses
Re: Durée de trajet avec Waze
Publié : 04 nov. 2017, 12:34
par tonejay
MisterT a écrit :Bonjour a tous
Je viens de m'apercevoir dans les logs de Domoticz que j'ai une erreur sur le script waze qui dit:
Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_waze.lua: /home/pi/domoticz/scripts/lua/script_time_waze.lua:76: attempt to concatenate global 'routeName' (a nil value)
Vu que je n'y comprends pas grand chose en lua, un petit coup de main serait le bienvenue
la ligne 76 correspond à:
itineraires = itineraires .. routeTotalTime.." par "..routeName
pour le script ci dessous:
Code : Tout sélectionner
---------------------------------
-- Script de calcul de temps pour un trajet entre 2 coordonnées
-- Auteur : Aurelien Neutrino
-- Date : 14 septembre 2015
-- 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 = '166'
--coordonnées de départ
departx="5.099907"
departy="43.6302104"
--coordonnées d'arrivée
arrivex="5.237356"
arrivey="43.431573"
--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 6h et 7h
--if(maintenant>=360 and maintenant<= 420 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&options=AVOID_TOLL_ROADS"'))
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 commandArray
sinon, j'ai tenté de parametrer le script pour éviter les Autoroutes en ajoutant options=AVOID_TOLL_ROADS au script
Code : Tout sélectionner
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&options=AVOID_TOLL_ROADS"'))
mais cela ne fonctionne pas
la aussi si quelqu'un connait la soluce?
Merci pour les futures réponses
Meme erreur chez moi ...
Re: Durée de trajet avec Waze
Publié : 09 nov. 2017, 18:35
par bmath
idem :<
Re: Durée de trajet avec Waze
Publié : 09 nov. 2017, 21:08
par Neutrino
Et oui, l'api n'est pas officielle, et donc n'a pas de documentation.
Ceci devrait marcher :
Code : Tout sélectionner
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"'))