Aller au contenu

Messages recommandés

Posté(e)

Bon finalement j'ai modifié la chaine de recherche, car elle supprimait la première et dernière ligne des commentaires LUA sur plusieurs lignes :

--[[
blah blah blah
--]]

Donc ils sont exclus avec cette regex : ^\s*\-\-(?!(\[\[)|(\]\])).*$

Posté(e)

Aïe depuis cet après-midi ça bug et je n'ai que des "parsing error'.

Avez-vous la même chose? Cela vient de Waze?

Posté(e)

@krikroff, est il possible de supprimer du calcul les parcours avec péages ?

​dans l'appli waze oui mais depuis l'api je ne sais pas.

 

je suppose que c'est dans la requete

.....options=AVOID_TRAILS:t,ALLOW_UTURNS

un

options=AVOID_TRAILS:t,ALLOW_UTURNS,AVOID_TOLLS

fonctionne pas :-(

et j'ai pas trouvé la documentation Waze ...

  • 4 semaines après...
Posté(e)

le watchdog de lazer me donne une erreur ce soir sur cette scene

une idée ?

[ERROR] 21:25:57: LuaEnvironment: /home/server/bamboo-agent-home/xml-data/build-dir/HCR-LE12-JOB1/LuaEngine/vendor/avhttp/avhttp/impl/http_stream.ipp:2247: void avhttp::http_stream::handle_skip_crlf(const MutableBufferSequence&, Handler, boost::shared_array, const boost::system::error_code&, std::size_t) [with MutableBufferSequence = boost::asio::mutable_buffers_1; Handler = boost::function; std::size_t = unsigned int]: Assertion `crlf[0] == '\r' && crlf[1] == '\n'' failed.

edit : un save de la scene et ca repart

Posté(e)

du classique qui marche très bien d'hab

{type = "Scene", id = 248, match = {text="De Maison", interval=11*60},          no_match = {text=""}, count=1,      notification = {"push", "email"}}, -- Waze

mais la scene Waze à  planté qq part. ou peut être les serveurs simplement

 

Ce qui est bizarre c'est qu'avec un Save, c'est repartit.

Posté(e)

ah oui mais dans ton watchdog, il manque l'option restart=true pour qu'il puisse redémarrer le VD.

(cette nouvelle option a été ajoutée avec la version 1.1 du watchdog àla demande de Jojo)

Posté(e)

C est la scène Waze qui a planté pas le VD. Ca redémarre la scène aussi ?

Je vais regardé si je suis en 1.1 mais je crois bien que oui et passer le paramètre a true.

Posté(e)

Hum oui c'est vrai qu'il y a une scène et un VD pour ce Waze Calculator. Mais théoriquement le watchdog peut surveiller les 2, il faut juste trouver les bons paramètres.

  • 4 mois après...
Posté(e)

Bonsoir

Je suis en v3.6 et j'ai un message d'erreur dans la Scene

[ERROR] 18:04:57: line 108: attempt to index global 'net' (a nil value)

et la ligne concernée :

 local http = net.HTTPClient({ timeout = 2000 })

une idée ?

Posté(e)

Je ne pense pas, car je pense que l'API de Waze est exclusivement en https.

Et c'est justement cette nouvelle librairie qui permet d'exploiter le protocole https.

Posté(e)

Au hasard, pour la stabilité ? C'est la dernière vraie stable.

Par contre ça veut dire que tu fais une croix sur tous les nouveaux modules et nouvelles fonctionnalités.

Posté(e)

Oui pour la stabilité, sachant que j'ai plus de 100 VD & SCENE réuni, je me vois mal galérer sur des Beta ou supposé stable en V4 comme beaucoup de courageux parmi nous , mais heuresement que certains ont le courage de réaliser ses mises a jour pour sapercvoir des bugs

 

Nouvelle fonctionnalités, peu importante face aux bug et je gere tout mon multimédia & ma HC2 (avec retour d'état via PushNoitificatiuon) avec mon IPhone IPad et AppleWatch via iControlWeb IOS au travers de mes 2 SQ-Remote de SqaureConnect sur mesure directement en infrarouge et meme sur des TV ou autre non connecté

 

Mais il est vrai que ce "WAZE" serait pratique avant de partir de la maison ou du bureau pour optimiser le départ

Posté(e)

Si ça vous intéresse j'ai osé modifier le code de Krikroff pour envoyer les infos par notifications sur le téléphone àdifférentes heures pour les différents membres de la famille.

Posté(e)

Donc l'idée est d'automatiser l'envoi de l'information affichée par le VD à  travers des notifications sur smartphone.

 

La première chose est de créer une variable globale : Var_WazeTrajet avec pour valeur le nom des trajets que vous voulez envoyer (Travail, Retour_Travail...)

 

Ensuite dans la scène de Krikroff, on va déclencher le lancement de la scène avec :

--[[
%% properties
%% events
%% globals
	Var_WazeTrajet
--]]

Ensuite, afin de choisir le smartphone sur lequel on veut envoyer la notification on rajoute dans les paramétrage la ligne 

smartPhoneId = 51,

Ca donne dans l'exemple page 1

local params = {
  {
    name = "Trajet 1",
    virtualDeviceId = 1449,
    smartPhoneId = 51,
    from = {
      name = "Palais de l'Élysée",
      x = 2.3167538999999806, -- longitude
      y = 48.8704156   -- latitude 
    },
    to = {
      name = "Théâtre Guignol",
      x = 2.311747670173645, -- longitude
      y = 48.86977710077997 -- latitude 
    },
    pollingMs = 60*1000
  },
  {
    name = "Trajet 2",
    virtualDeviceId = 1452,
    smartPhoneId = 52,
    from = {
      name = "Palais de l'Élysée",
      x = 2.3167538999999806, -- longitude
      y = 48.8704156   -- latitude 
    },
    to = {
      name = "Théâtre Guignol",
      x = 2.311747670173645, -- longitude
      y = 48.86977710077997 -- latitude 
    },
    pollingMs = 5*60*1000
  }
}

Dans la méthode Start, on va remplacer le lancement qui met à  jour tous les trajets en lançant uniquement le trajet que l'on souhaite en fonction de la variable globale


function Start()
  --for i=1, #params do
  --  GetWazeData(i)
  --end
  local valueTrajet = fibaro:getGlobal('Var_WazeTrajet')

  fibaro:debug(valueTrajet)
  if (valueTrajet=='Travail')
  then
      fibaro:debug('Travail')
      GetWazeData(1)
  elseif (valueTrajet=='Retour_Travail')
  then
      fibaro:debug('Retour_Travail')
      GetWazeData(2)
  else
      fibaro:debug('Switch Error')
  end

end

Puis dans GetWazeData, on rajoute sous les lignes :

print("Heure de départ: " .. depTime)
print("Heure d'arrivée estimée: " .. arrTime)
SetUI(params[idx].virtualDeviceId, "lblDepTime", depTime)
SetUI(params[idx].virtualDeviceId, "lblArrTime", arrTime)

Le code suivant qui crée la chaine de caractère à  afficher puis qui envoie la notification push :

            -- Notification
  	    local strNotification
            strNotification= params[idx].from.name .. " > " .. params[idx].to.name
            strNotification= strNotification .. " : " .. tm .. " min\n"
            strNotification= strNotification .. "Départ: " .. depTime .. " > Arrivée: " .. arrTime
            fibaro:call(params[idx].smartPhoneId, "sendPush", strNotification)

Dernière modification pour éviter d'etre spammé, on désactive le polling en mettant en commentaire :

        -- Polling
        --setTimeout(function()
        --    GetWazeData(idx)
        --  end, params[idx].pollingMs)

Voila, la scène est prete il ne reste plus qu'à  créer des scènes en mode bloc qui change à  une heure donnée la valeur de la variable globale.

 

J'ai fait le code en 5 minutes, je n'ai pas pris le temps d'enlever la partie VD mais je pourrais publier une scène sans si besoin

  • Upvote 1
  • 2 mois après...
Posté(e)

Salut tout le monde,

 

J'ai enfin installe ce maginfique outil pour le WAF ;-)

 

J'ai testé la methode push de DG-K, parfait, alors j'ai voulu envoyer un sms depuis l'api freemobile plutot qu'un push et la j'ai une erreur que je ne comprends pas ;-) Help les pros du LUA

Une idée ?

 

La scene 5 est bien la scene de l'APi freemobile, la ligne 28 correspondrait au print os.date de la fonction controle_status(status), je pige pas la valeur nulle ;-(

je vous remets :

-l'erreur

- le code de notif de DGK

- la partie de code de freemobile

[DEBUG] 22:29:02: [1;31m2016-06-22 22:29:02.040974 [ fatal] LUA error: /opt/fibaro/scenes/5.lua:28: attempt to concatenate field '?' (a nil value)
[DEBUG] 22:30:15: [1;31m2016-06-22 22:30:15.769580 [ fatal] LUA error: /opt/fibaro/scenes/5.lua:28: attempt to concatenate field '?' (a nil value)

 -- Notification
              local strNotification
            strNotification= params[idx].from.name .. " > " .. params[idx].to.name
            strNotification= strNotification .. " : " .. tm .. " min\n"
            strNotification= strNotification .. "Départ: " .. depTime .. " > Arrivée: " .. arrTime
            fibaro:debug(strNotification)
            fibaro:setGlobal("GEA_Trajet_Waze", strNotification)
            
            
-- Fonction contrôle du code retour HTTP Free Mobile
local function controle_status(status)
  print(os.date() .. ' - status = ' .. status .. (code_retour[tonumber(status)]))
end
 

http:request('https://smsapi.free-mobile.fr/sendmsg?'..string.format("user=%s&pass=%s&msg=%s", username, password, message), {
options = {
method = 'POST',
headers = {
["Content-Type"] = "application/x-www-form-urlencoded"
}
},
success = function(data)
--print('At ' .. os.date() .. ' - status = ' .. data.status)
controle_status(data.status)
end,
error = function(err)
print('error = ' .. err)
end
})
×
×
  • Créer...