Aller au contenu

Messages recommandés

Posté(e)

salut

 

essaye comme ça

 

GEA.add({ {"Global", "Meteo", "Dégagé"},{"Time", "Sunset-21", "Sunrise+31"}}, 30, "Dégagé", {"Global", "Lum_Auto", "on"})

laisse ta scène LUA METEO en fonction

  • Like 1
Posté(e) (modifié)

et crée une variable METEO

 

Aiii je vient de me rendre compte que ta scene LUA utilise un variable local

Modifié par 971jmd
Posté(e)

mai comme ça ta scène METEO doit changer d’état automatiquement et mettre a jour ta Variable METEO

 

--[[
%% properties
%% weather
WeatherCondition
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
local meteo = fibaro:getGlobalValue("Meteo")
if      ( api.get('/weather')['WeatherCondition'] == "clear" ) 		then fibaro:setGlobal("Meteo", "Dégagé"); --Dégagé
elseif  ( api.get('/weather')['WeatherCondition'] == "cloudy" ) 	then fibaro:setGlobal("Meteo", "Nuageux");--Nuageux
elseif  ( api.get('/weather')['WeatherCondition'] == "rain" ) 		then fibaro:setGlobal("Meteo", "Pluie"); --Pluie
elseif  ( api.get('/weather')['WeatherCondition'] == "snow" ) 		then fibaro:setGlobal("Meteo", "Neige"); --Neige
elseif  ( api.get('/weather')['WeatherCondition'] == "storm" ) 		then fibaro:setGlobal("Meteo", "Tempête");--Tempête 
elseif  ( api.get('/weather')['WeatherCondition'] == "fog" )  		then fibaro:setGlobal("Meteo", "Brouillard"); --Brouillard
end

 

Posté(e)
Il y a 17 heures, 971jmd a dit :

salut

 

essaye comme ça

 


GEA.add({ {"Global", "Meteo", "Dégagé"},{"Time", "Sunset-21", "Sunrise+31"}}, 30, "Dégagé", {"Global", "Lum_Auto", "on"})

laisse ta scène LUA METEO en fonction

oui, je sais que je peux faire comme ceci mais je trouve dommage de rajouter une variable alors que GEA le gère.

Même mieux, je pourrais utiliser le résultat du VD "Prévision Météo" que j'ai installé depuis longtemps (je ne me rappel plus de qui il est).

 

Posté(e)
Il y a 14 heures, pepite a dit :

@Fredric

 

Bizarre ;-) tu peux essayer cela pour vérifier ce que GEA te renvoie ? stp

 


GEA.add({"Weather!", ""}, 30, "Le temps est {Result}")

 

je test cela, pour le moment, il me dit "cloudy", ce qui est le cas ;)

je l'ai mis toutes les heures pour voir ;)

  • Like 1
Posté(e)

Voila le résultat, il ne m'a indiqué que 2 fois le temps, j'ai mis une intervalle de 1 heure, il me la signalé à 12h28, ensuite a 13h29 puis plus rien...

Posté(e)

Bonjour,

Je cherche à avoir une alerte lorsqu'une fenêtre reste ouverte trop longtemps.

J'ai mis cette ligne dans GEA, et elle fonctionne bien : un push toute les 10min :2:

  GEA.add({"Or",{id["FEN_NOLAN"],id["VELUX_NOLAN"],id["VELUX_ETHAN"],id["VELUX_SDB"]}}, 10*60, "Une fenêtre du 2e est ouverte depuis #duration#", {{"Repeat"}}) 

Par contre, je ne sais pas quelle fenêtre est associée à #duration#.

J'ai tenté #trigger# et #rooms", mais ça ne me retourne rien du tout....

Une idée ?

Posté(e)

Je serais curieux de savoir ce que te retour #name#

 

A mon avis, et sans avoir testé, cela ne fonctionne pas avec un "Or", le développeur de GEA n'y a pas pensé. Je pense qu'il mérite un blâme.

Posté(e)

Je vais donc te mettre à contribution si tu as le temps.

 

Pourrais-tu ajouter la ligne indiquée par -- CETTE LIGNE-- dans ton code et tester le #name# s'il te plait.

 

    o_r     = {name="Or", 
                    optimize = true,
                    keepValues = true,
  		   -- CETTE LIGNE ---
                    getName=function(...) local args = {...} local name = "" for i = 1, #args do if (GEA.getOption(args[i]).check()) then name .. GEA.getOption(args[i]).getModuleName() .. " " end end return name end, 
  		   -- FIN ---
                    control=function(...) local args = {...} for i = 1, #args do if (type(GEA.getOption(args[i]))=="nil") then return false end end return true end,
                    getValue=function(...) local args = {...} for i = 1, #args do if (GEA.getOption(args[i]).check()) then return true end end return false end, 
                }, 

 

  • Like 1
Posté(e)
Il y a 23 heures, pepite a dit :

T avais mis un "Repeat" ?

Ton GEA râte des lignes régulièrement ?

non, je n'avais pas mis de "Repeat" et non, toutes mes lignes s’exécutent bien ;)

pour le moment, toujours "cloudy", normal, le temps est "cloudy" ^_^

Posté(e)
Il y a 4 heures, Steven a dit :

Je vais donc te mettre à contribution si tu as le temps.

 

Pourrais-tu ajouter la ligne indiquée par -- CETTE LIGNE-- dans ton code et tester le #name# s'il te plait.

 


    o_r     = {name="Or", 
                    optimize = true,
                    keepValues = true,
  		   -- CETTE LIGNE ---
                    getName=function(...) local args = {...} local name = "" for i = 1, #args do if (GEA.getOption(args[i]).check()) then name .. GEA.getOption(args[i]).getModuleName() .. " " end end return name end, 
  		   -- FIN ---
                    control=function(...) local args = {...} for i = 1, #args do if (type(GEA.getOption(args[i]))=="nil") then return false end end return true end,
                    getValue=function(...) local args = {...} for i = 1, #args do if (GEA.getOption(args[i]).check()) then return true end end return false end, 
                }, 

 

Y a un soucis de syntaxe :

 

[DEBUG] 21:35:31: [1;31m2018-04-23 21:35:31.472647 [ fatal] Unknown exception: /opt/fibaro/scenes/597.lua:859: syntax error near '..'

 

Posté(e)
Le 2018-04-12 à 09:29, pepite a dit :

Hello,

 

@flechg

It works for me in 6.07, 39 and 46 are motion detectors


Can you check if you have in your variable panel, the variable called


@Kristiano

I inderstand, i will see the property "secured".

@nugget So this will be part of next version?

 

Since id like to trigger both for "value" and "secured" by my door.

 

- Secure will control the alarm behind the door

- Value will just be used if the door was keept open for a long time

 

Thanks!

Posté(e)

@Dragoniacs

Essaie cela, sans certitude ;-) Mets ceci dans config() :

GEA.options.o_r     = {name="Or",
                    optimize = true,
                    keepValues = true,
         -- CETTE LIGNE ---
                    getName=function(...) local args = {...} local name = "" for i = 1, #args do if (GEA.getOption(args[i]).check()) then name .. GEA.getOption(args[i]).getModuleName() end end return name end,
         -- FIN ---
                    control=function(...) local args = {...} for i = 1, #args do if (type(GEA.getOption(args[i]))=="nil") then return false end end return true end,
                    getValue=function(...) local args = {...} for i = 1, #args do if (GEA.getOption(args[i]).check()) then return true end end return false end,
                }

 

Posté(e)

@pepite

Même erreur que lorsque j'ai essayé dans le reste du code :

[DEBUG] 12:00:47: [1;31m2018-04-24 12:00:47.959176 [ fatal] Unknown exception: /opt/fibaro/scenes/597.lua:53: syntax error near '..'

Posté(e)

@Dragoniacs

ah zut, je remets ca ;-)

 

@Kristiano, could you put this in config() please :

GEA.options.doorlock = {name="DoorLock",
                        optimize = true,
                        depends = {"property"},
                        control=function(id) return GEA.options.number.control(id) end,
                        getValue=function(id, property) if (not id) then id = GEA.currentMainId end GEA.options.property.getValue(id, property) end,
                        action=function(id, value) if (not id) then id = GEA.currentMainId end if (type(id) ~= "table") then id = {id} end for i=1, #id do if value == tools.tostring("secure") then fibaro:call(id[i],"secure") else fibaro:call(id[i],"unsecure") end end end
                },  

And test this line :

GEA.add( {"DoorLock", "Value"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock", 506, "Value"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock", "Secured"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock",506, "Secured"}, -1, "The door is : {Result}")

 

Posté(e)
Le 2018-04-24 à 13:39, pepite a dit :

@Dragoniacs

ah zut, je remets ca ;-)

 

@Kristiano, could you put this in config() please :


GEA.options.doorlock = {name="DoorLock",
                        optimize = true,
                        depends = {"property"},
                        control=function(id) return GEA.options.number.control(id) end,
                        getValue=function(id, property) if (not id) then id = GEA.currentMainId end GEA.options.property.getValue(id, property) end,
                        action=function(id, value) if (not id) then id = GEA.currentMainId end if (type(id) ~= "table") then id = {id} end for i=1, #id do if value == tools.tostring("secure") then fibaro:call(id[i],"secure") else fibaro:call(id[i],"unsecure") end end end
                },  

And test this line :


GEA.add( {"DoorLock", "Value"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock", 506, "Value"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock", "Secured"}, -1, "The door is : {Result}")
GEA.add( {"DoorLock",506, "Secured"}, -1, "The door is : {Result}")

 

I suppose I should add an instant trigger for both

506 value and

506 secured?

 

 

Posté(e)

Steven, Pepite, bon, j'ai testé dans tous les sens, il ne veut pas, je ne pige pas pourquoi. Vais peut être remettre GEA 5 du coup.

 

Pour tester, j'aimerai changer le trigger, et prendre le bouton de mon VD qui est appuyer par la Zibase, possible ?

Posté(e)

Alors, la je ne comprends pas. @Steven certainement, mais très occupé en ce moment.

 

Le bouton d'un VD en trigger dasn GEA..heuu. J'ai cru voir passer un post dans lequel j'avais répondu concernant le fait de pouvoir récuperer l'appui sur un bouton d'un VD, je crois que c'est @MAM78 qui avait posé la question, je ne me souviens plus de la solution trouvée. 

A voir ce qu'on peut faire dans GEA.

Dans ton bouton qu'y a-t-il ? un changement de Label ou autre qu'on pourrait récupérer depuis GEA ?

 

@Dragoniacs heuuu non  :-(

Posté(e)

@Dragoniacs

 

Essaie ceci ;-)

 

GEA.options.o_r     = {name="Or",
                    optimize = true,
                    keepValues = true,
         -- CETTE LIGNE ---
                    getName=function(...)
                      local args = {...}
                      local name = ""
                      for i = 1, #args do
                        if (GEA.getOption(args[i]).check()) then
                          name = GEA.getOption(args[i]).getModuleName() .. " " 
                        end
                      end
                      return name
                      end,
         -- FIN ---
                    control=function(...) local args = {...} for i = 1, #args do if (type(GEA.getOption(args[i]))=="nil") then return false end end return true end,
                    getValue=function(...) local args = {...} for i = 1, #args do if (GEA.getOption(args[i]).check()) then return true end end return false end,
                }

 

×
×
  • Créer...