Aller au contenu

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

et crée une variable METEO

 

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

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fredric

 

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

 

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

 

  • Like 1

Partager ce message


Lien à poster
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).

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

T avais mis un "Repeat" ?

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

  • Like 1

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Un scandale, et le type qui lui a suggéré plein de betises n'y a pas pensé non plus ;-)

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ne vous battez pas :2:

Quel que soit le #....#, GEA retourne un espace vide.

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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" ^_^

Partager ce message


Lien à poster
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 '..'

 

Partager ce message


Lien à poster
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!

Partager ce message


Lien à poster
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,
                }

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Kristiano Sorry I don't do anything yet.  As soon as possible. And i ask you to test.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
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}")

 

Partager ce message


Lien à poster
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?

 

 

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
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  :-(

Partager ce message


Lien à poster
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,
                }

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×