Aller au contenu

Krikroff

Messages recommandés

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*\-\-(?!(\[\[)|(\]\])).*$

Lien vers le commentaire
Partager sur d’autres sites

@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 ...

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

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

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

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
})
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...