Re: Durée de trajet avec Waze
Publié : 11 juin 2017, 21:49
Oui j'ai modifier idx comme tu l'as marqué.
J'ai pris le script qui est sur la première pas du forum :
---------------------------------
-- Script de calcul de temps pour un trajet entre 2 coordonnées
-- Auteur : Neutrino
-- Date : 7 septembre 2015
-- Nécessite un capteur virtuel de type Text
-- source :
-- http://www.domo-blog.fr/info-trajet-waz ... raspberry/
---------------------------------
commandArray={}
--import des fontions pour lire le JSON
json = (loadfile "C:\Program Files\Domoticz\scripts\lua\JSON.lua")()
--variables à modifier----------------
--idx du capteur
idx = '3'
-- y = latitude et x = longitude
-- exemple pour paris :
-- departx="2.2903622"
-- departy="48.8582546"
--coordonnées de départ
departx="XX.XXXXXX"
departy="XX.XXXXXX"
--coordonnées d'arrivée
arrivex="XX.XXXXXX"
arrivey="XX.XXXXXX"
-----------------------------------------
----------------------------------------------------------------
--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 ... LOW_UTURNS"'))
local trajet = waze:read('*all')
waze:close()
local jsonTrajet = json:decode(trajet)
--Noms des principales routes empruntées
routeName = jsonTrajet['response']['routeName']
--Liste des routes empruntées
route = jsonTrajet['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
commandArray[1]={['UpdateDevice'] =idx..'|0|' .. tostring(routeTotalTime).." par "..routeName}
return commandArray
J'ai pris le script qui est sur la première pas du forum :
---------------------------------
-- Script de calcul de temps pour un trajet entre 2 coordonnées
-- Auteur : Neutrino
-- Date : 7 septembre 2015
-- Nécessite un capteur virtuel de type Text
-- source :
-- http://www.domo-blog.fr/info-trajet-waz ... raspberry/
---------------------------------
commandArray={}
--import des fontions pour lire le JSON
json = (loadfile "C:\Program Files\Domoticz\scripts\lua\JSON.lua")()
--variables à modifier----------------
--idx du capteur
idx = '3'
-- y = latitude et x = longitude
-- exemple pour paris :
-- departx="2.2903622"
-- departy="48.8582546"
--coordonnées de départ
departx="XX.XXXXXX"
departy="XX.XXXXXX"
--coordonnées d'arrivée
arrivex="XX.XXXXXX"
arrivey="XX.XXXXXX"
-----------------------------------------
----------------------------------------------------------------
--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 ... LOW_UTURNS"'))
local trajet = waze:read('*all')
waze:close()
local jsonTrajet = json:decode(trajet)
--Noms des principales routes empruntées
routeName = jsonTrajet['response']['routeName']
--Liste des routes empruntées
route = jsonTrajet['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
commandArray[1]={['UpdateDevice'] =idx..'|0|' .. tostring(routeTotalTime).." par "..routeName}
return commandArray