Aller au contenu

Support Gea


Steven

Messages recommandés

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

 

Lien vers le commentaire
Partager sur d’autres sites

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

 

Lien vers le commentaire
Partager sur d’autres sites

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

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

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" ^_^

Lien vers le commentaire
Partager sur d’autres sites

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

 

Lien vers le commentaire
Partager sur d’autres sites

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!

Lien vers le commentaire
Partager sur d’autres sites

@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,
                }

 

Lien vers le commentaire
Partager sur d’autres sites

@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}")

 

Lien vers le commentaire
Partager sur d’autres sites

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?

 

 

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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  :-(

Lien vers le commentaire
Partager sur d’autres sites

@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,
                }

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...