Durée de trajet avec Waze

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Chrominator
Messages : 419
Enregistré le : 19 déc. 2015, 07:29

Re: Durée de trajet avec Waze

Message par Chrominator » 26 janv. 2018, 21:30

alacran a écrit :...
Mais en France (pour ma part),0 et 6 ne correspondent pas à samedi et dimanche
Qui te parle de fuseau horaire ou de quoi que ce soit d'autre ?
Je te parle de convention.

Lis la doc de LUA et tu seras moins dans le flou.
Screenshot-2018-1-26 Programming in Lua 22 1.png
Screenshot-2018-1-26 Programming in Lua 22 1.png (1.69 Kio) Vu 3483 fois

Pour le jour férié, le script est là :

../viewtopic.php?f=17&t=885&hilit=P%C3%A2ques

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


landaisbenj
Messages : 695
Enregistré le : 12 mars 2017, 19:24

Re: Durée de trajet avec Waze

Message par landaisbenj » 29 janv. 2018, 09:31

Si ca interresse quelqu'un moi je me suis rajouté l'heure d'arrivée:

Code : Tout sélectionner

print('Heure d\'arrivée: '..os.date("%Hh%M",os.time()+routeTotalTimeSec))
En plus d'indiquer le retard pour un départ au travail ou quoi, pourra surement servir à initier un script time lors du retour à la maison (par exemple ouverture du portail a tel heure ou allumer les lumières)

Et en suspends, je crois que ca:

Code : Tout sélectionner

--calcul du temps de trajet
for response,results in pairs(route) do
routeTotalTimeSec = routeTotalTimeSec + results['crossTime']
end
peut etre remplacé par ca:

Code : Tout sélectionner

routeTotalTimeSec =jsonTrajet['response']['totalRouteTime']
(les boucles si je peux les éviter au maximum...)
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

Dim33
Messages : 168
Enregistré le : 29 janv. 2017, 23:19

Re: Durée de trajet avec Waze

Message par Dim33 » 04 févr. 2018, 22:50

Bonjour,

J'ai installé ce script hier. Super boulot hormis qu'il s'est exécuté ce matin alors qu'il ne devrait pas. Le test sur le numéro du jour ne semble pas fonctionner pourtant avec ce petit script, la valeur affichée est bien zéro (Sunday).

Code : Tout sélectionner

time=os.time()
local weekday = os.date('%w', time)
commandArray = {}
print (weekday)
return commandArray
Je continue d'investiguer .....
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 4.9701

Dim33
Messages : 168
Enregistré le : 29 janv. 2017, 23:19

Re: Durée de trajet avec Waze

Message par Dim33 » 15 mars 2018, 22:26

De temps en temps, j'ai également ça qui apparaît dans les Log :

"Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/scrip_time_calcultrajet.lua: /volume1/@appstore/domoticz/var/scripts/lua/JSON.lua:660: html passed to JSON:decode():"
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 4.9701

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Moumi32
Messages : 2
Enregistré le : 28 févr. 2017, 09:56

Re: Durée de trajet avec Waze

Message par Moumi32 » 19 mars 2018, 22:44

bonjour à tous,

Tout fonctionne pour le calcul et tout s'affiche correctement sauf que dans le log j'ai l'erreur suivante:
Error: EventSystem: in waze2: [string "-- Script de calcul de temps pour un trajet e..."]:70: attempt to concatenate global 'arrivey' (a nil value)

la ligne 70 correspond à:
local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager ... TOLL_ROADS"'))

Je ne sais pas d'ou cela peut venir.

Pourriez-vous m'aider svp?

Merci

Chrominator
Messages : 419
Enregistré le : 19 déc. 2015, 07:29

Re: Durée de trajet avec Waze

Message par Chrominator » 22 mars 2018, 21:31

Moumi32 a écrit :....
la ligne 70 correspond à:
local waze=assert(io.popen('curl --referer https://www.waze.com "https://www.waze.com/row-RoutingManager ... ex..'+y%3A'..arrivey..'&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths='..nbIti..'&clientVersion=4.0.0&options=AVOID_TRAILS%3At%2CALLOW_UTURNS%3At%2CAVOID_TOLL_ROADS"'))
...
Tu as sans doute mal initialisé la variable arrivey en début de script.

Du coup je me demande d'où vient le résultat que tu dis être correctement calculé.

Dim33
Messages : 168
Enregistré le : 29 janv. 2017, 23:19

Re: Durée de trajet avec Waze

Message par Dim33 » 01 sept. 2018, 09:20

Bonjour,

Avec la dernière version de Domoticz, le script m'affiche une erreur : attempt to index local 'jsonTrajet' (a nil value).

Cette ligne de code est incriminée : routeName = jsonTrajet['response']['routeName']

Code : Tout sélectionner

   -----------------------------------------
   ----------------------------------------------------------------
   --Récupération du trajet et de sa durée en temps réel via WAZE--
   ----------------------------------------------------------------
   voir_les_logs('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"')
   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"'))
   local infowaze = waze:read('*all')
   waze:close()
   local jsonTrajet = json:decode(infowaze)
   --Noms des principales routes empruntées
   routeName = jsonTrajet['response']['routeName']
   if routeName == nil then routeName="route non précisée" end
   --Liste des routes empruntées
   route = jsonTrajet['response']['results']
   --Temps de trajet en secondes
   routeTotalTimeSec = 0
   --calcul du temps de trajet
   routeTotalTimeSec =jsonTrajet['response']['totalRouteTime']
   
   --Temps de trajet en minutes
   routeTotalTimeMin = routeTotalTimeSec/60-((routeTotalTimeSec%60)/60)

   -- Détermination des noms des routes employées
   xtime = {}
   route = jsonTrajet['response']['results']
   voie = jsonTrajet['response']['streetNames']
   for response,results in pairs(route) do
      i = tonumber(results['street'])
      if voie[i] == nil then voie[i] = "/ND" end
      if xtime[i]==nil then xtime[i]=0 end
      xtime[i]=xtime[i]+tonumber(results['crossTime'])
      voir_les_logs(tostring(response).." "..results['crossTime'].." "..results['street'].." "..voie[i].." "..xtime[i])
   end

   i=0
   j=1
   chemin = {}
   trajet = {}

Une idée ? Personne n'a le pb avec la dernière version stable de Domoticz ?

Merci.
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 4.9701

Datawolf
Messages : 201
Enregistré le : 03 avr. 2018, 13:51

Re: Durée de trajet avec Waze

Message par Datawolf » 29 nov. 2018, 23:09

Salut,

Un grand merci à Neutrino et Chrominator pour ce chef d’œuvre, ça marche nickel du premier coup ! :D

@+

Datawolf

patrice
Messages : 1627
Enregistré le : 22 sept. 2014, 21:51

Re: Durée de trajet avec Waze

Message par patrice » 01 déc. 2018, 12:27

Bonjour
Oui merci au rédacteurs de ce script , je l'utilise depuis un mois,j'y ai intégré l'envoi de SMS quand le delai de déplacement dépasse une certaine durée et c'est un bijou
Merci encore
Raspberry Pi model B+, RFXComm,8 interrupteurs Chacon, 5 ds180b 1-Wire, 3 douilles Chacon, 1 contact de porte Chacon, 1 module variateur,module emetteur 54700, Aeon Stick Z-wave, 1 MultiSensor Aeon, accés à distance.
aka thegritche@domoticz forum

Datawolf
Messages : 201
Enregistré le : 03 avr. 2018, 13:51

Re: Durée de trajet avec Waze

Message par Datawolf » 01 déc. 2018, 14:11

Bonjour,
Hey, bonne idée ! J'ai ajouté l'heure d'arrivée prévue, je vais de ce pas ajouter une notification si l'heure dépasse mon "horaire de bureau". :D
@+
Datawolf

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre