Si quelqu'un sait pourquoi j'ai cette erreur venant du script et comment la corriger, je suis preneur
[LUA] Durée de trajet avec Waze
Re: Durée de trajet avec Waze
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
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
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
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 ???
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
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
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
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...
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
Hello à tous !!
Hate de voir ce script tourner !! beau boulot !!
Pour l'instant j'a icette erreur...
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??
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(): "Your client has issued a malformed or illegal request. That’s all we know."
Une idée??
Re: Durée de trajet avec Waze
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:
sinon, j'ai tenté de parametrer le script pour éviter les Autoroutes en ajoutant options=AVOID_TOLL_ROADS au script
mais cela ne fonctionne pas
la aussi si quelqu'un connait la soluce?
Merci pour les futures réponses
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
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
Meme erreur chez moi ...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:
sinon, j'ai tenté de parametrer le script pour éviter les Autoroutes en ajoutant options=AVOID_TOLL_ROADS au scriptCode : 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
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
Et oui, l'api n'est pas officielle, et donc n'a pas de documentation.
Ceci devrait marcher :
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"'))