Page 4 sur 26
Re: Durée de trajet avec Waze
Publié : 05 juin 2016, 17:52
par multinet
Salut Neutrino
Avec le script denriere version (celui avec 3 iti possibles)
j'obtiens ce message d'erreur lorsque je l'execute manuellement
Code : Tout sélectionner
root@domoticz:/home/pi/domoticz/scripts/lua# lua script_time_wazeN2.lua
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54 100 54 0 0 108 0 --:--:-- --:--:-- --:--:-- 108
lua: script_time_wazeN2.lua:53: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
[C]: in function 'pairs'
script_time_wazeN2.lua:53: in main chunk
[C]: ?
Une idée ? (sachant que le script d'origine me met aussi une erreur du meme style mais différente)
Un grand merci d'avance
Multinet
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 10:33
par Neutrino
Il doit y avoir un problème avec tes coordonnées de départ et d'arrivée.
Essaie d'échanger X et Y pour voir, c'est souvent l'erreur qui est faite.
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 12:56
par multinet
Super merci c'etait cela en effet j'avais inversé
Bon il me reste un pb car la mise à jour du capteur virtuel type 'text' ne fonctionne pas (j'ai toujours hello world')
j'ai vérifié l'idx il est bon
As tu une idée.?
Merci et bonne journée
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 15:50
par Neutrino
Ajoute un
avant le commandArray, histoire de voir si tout est bien calculé.
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 17:23
par staber
Lorsque je passe :
Code : Tout sélectionner
https://www.waze.com/row-RoutingManager/routingRequest?from=x:-70.970+y:48.385&to=x:-71.014+y:48.431&returnJSON=true&timeout=6000&nPaths=1&options=AVOID_TRAILS:t,ALLOW_UTURNS
(je précise que ce n'est pas le vrai coordonnée de ma maison
Il me retourne :
J'arrive à faire un itinéraire en France. Ça marche bien mais impossible de le faire chez moi
Une idée ? J'ai essayé aussi d'inversé x et y mais je pense que je les mets dans le bon ordre car un itinéraire en France marche
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 19:05
par Neutrino
Je viens d'essayer avec plusieurs coordonnées québécoises et j'obtiens le même résultat que toi
Comme si Waze n'aimait pas la Belle Province...
Essaye la solution Google Maps, ça fonctionne peut-être mieux...
http://www.domoticz.com/forum/viewtopic ... 23&t=11450
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 21:03
par staber
Oui ça fonctionne bien avec google maps...
très étrange car j'utilise waze ici!
Re: Durée de trajet avec Waze
Publié : 06 juin 2016, 21:29
par multinet
Neutrino a écrit :Ajoute un
avant le commandArray, histoire de voir si tout est bien calculé.
Bonsoir
Cela m'affiche bien les 2 trajets avec leur durée
Merci pour toute l'aide fournie
Multinet
Re: Durée de trajet avec Waze
Publié : 07 juin 2016, 19:48
par multinet
Bonsoir
Je reviens sur mon probleme car je suis toujours bloqué sur la mise a jour du dispositif TEXTE de domiticz
voici le résultat de ma commande :
Code : Tout sélectionner
root@domoticz:/home/pi/domoticz/scripts/lua# lua script_time_wazeN2.OLD
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 35715 0 35715 0 0 54984 0 --:--:-- --:--:-- --:--:-- 55286
16:32 par Avenue François Mitterrand Mérignac; A630 - Rocade Extérieure
mon script (mes coord sont masquées volontairement)
Code : Tout sélectionner
root@domoticz:/home/pi/domoticz/scripts/lua# cat script_time_wazeN2.OLD
--------------------------------
-- 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")()
--variables à modifier----------------
--idx du capteur
idx='256'
--coordonnées de départ
departy="x"
departx="x"
--coordonnées d'arrivée
arrivey="x"
arrivex="x"
--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 "https://www.waze.com/row-RoutingManager/routingRequest?from=x%3A'..departx..'+y%3A'..departy..'&to=x%3A'..arrivex..'+y%3A'..arrivey..'&returnJSON=true&timeout=6000&nPaths='..nbIti..'&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 ..':'..routeTotalTimeSec%60
end
if(routeTotalTimeSec%60>=30)then
routeTotalTimeMin = routeTotalTimeMin +1
end
itineraires = itineraires .. routeTotalTime.." par "..routeName
end
commandArray[1]={['UpdateDevice'] = idx .. '|0|' .. itineraires}
print(itineraires)
----end
return commandArray
et mon dispositif text de domoticz

- Capture d’écran 2016-06-07 à 19.47.21.jpg (49.46 Kio) Consulté 10064 fois
si vous avez une idée ?
Merci pour tout
Multinet
Re: Durée de trajet avec Waze
Publié : 07 juin 2016, 20:02
par vil1driver
C'est quoi ce .OLD et surtout cette méthode de lancement ?!!
Les gars les scripts lua doivent être lancé par domoticz !
Si ce n'est pas domoticz qui lance le script aucune action liée à domoticz ne sera effectué !