Aller au contenu

Recommended Posts

ben moi, je me marre pas, je galère pour transférer les trois dernières lignes de Sheduler vers GEA, en plus ça m'a l'air complément bateau mais j'arrive pas à  sortir une ligne.

 

j'ai déjà  cette petite scène de rien du tout, j'arrive pas intégrer la notion du "or"

if (( tonumber(fibaro:getValue(312, "value")) > 0) and ( tonumber(fibaro:getValue(70, "value")) == 0) or ( tonumber(fibaro:getValue(118, "value")) == 0))

then
	fibaro:call(70, "turnOn");
    fibaro:call(118, "turnOn");
end

à  votre bon cÅ“ur, il m'en reste plus que trois, c'est la plus facile.

 

ah oui, pardon, elle se lance 20 minutes avant le couché du soleil et 10 minute après  :D

ou je remets un "Function" mais comme je préfère que ma box reste stable...

Modifié par Fredric

Partager ce message


Lien à poster
Partager sur d’autres sites

 

@shykra, @steven et @sebcbien : peut-on faire la modif GEA.match et string.match inc%+ ? 

 

Etant bcp en déplacement pour le moment, je n'ai pas trop suivi cette modif, mais je peux donner accès en écriture sur github à  qui veut/peut ;-)

 

Steven ? Shykra ?

 

https://github.com/sjauquet/GEA

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fredric décompose en deux lignes sous GEA, une pour chaque condition de part et d'autre du or.

Partager ce message


Lien à poster
Partager sur d’autres sites

 

Pour rigoler, après je fait cela... Il y a peut être plus simple :)

local DistanceMaison1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}})
local DistanceBureau1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end}})
local DistanceCarantec1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end}})
local DistanceEternoz1 = GEA.add(true, 30, "", {{"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}})

GEA.add(true, 30, "", {{"Global", "DistanceBureau", DistanceBureau1}, {"Label", id["DISTANCE"], "Label2", DistanceBureau1..' m'}})
GEA.add(true, 30, "", {{"Global", "DistanceMaison", DistanceMaison1}, {"Label", id["DISTANCE"], "Label1", DistanceMaison1..' m'}})
GEA.add(true, 30, "", {{"Global", "DistanceCarantec", DistanceCarantec1}, {"Label", id["DISTANCE"], "Label3", DistanceCarantec1..' m'}})
GEA.add(true, 30, "", {{"Global", "DistanceEternoz", DistanceEternoz1}, {"Label", id["DISTANCE"], "Label4", DistanceEternoz1..' m'}})
-- message maison
GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})

 

@sebbrunie1, tu peux détailler ce qui se passe avant gea ?

userLocation ?
EmplacementMaison1 ?

Merci  :)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

100% d'accord avec Hansolo, le OR va provoqué 2 lignes dans GEA car GEA ne gère pas le OR ... voici

 

Par contre, vu que cela ne sert à  rien de tester si la lampe est allumée avant de l'allumée .. j'ai comme l'impression que tu souhaite faire cela : 

 

Si le module 312 > 0 alors on allume 70 et 118

GEA.add( {"Value+", 312, 0} ,  30,  "",  { {"Time", "Sunset-20", "Sunset-20"}, {"Time", "Sunset+10", "Sunset+10"}, {"TurnOn", 70}, {"TurnOn", 118} })

Partager ce message


Lien à poster
Partager sur d’autres sites

GEA.add(312, -1, "", {{"turnOn", 70}, {"Time", "Sunset-20", "Sunrise+10"}})

GEA.add(312, -1, "", {{"turnOn", 118}, {"Time", "Sunset-20", "Sunrise+10"}})

 

je suis parti la dessus mais ce qui me gêne, c'est que cela va essayer de d'allumer la lumière même si elle l'est déjà !

 

j'avais pas vu ta réponse @Steven, merci

Modifié par Fredric

Partager ce message


Lien à poster
Partager sur d’autres sites

non GEA teste avant si la lampe est on l ordre d'allumer n'est pas envoyé

Partager ce message


Lien à poster
Partager sur d’autres sites

Sauf pour les FGD ... (dimmers)

Partager ce message


Lien à poster
Partager sur d’autres sites

ah, ben ça change tout! je galéré beaucoup sur les conditions.

merci messieurs   ;)  

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est fou, j'ai l'impression de retourner un an et demi en arrière, quand j'ai commençais à  découvrir le LUA.  :o

 

comment additionne t'on deux ou trois conditions ? 

 

if ( tonumber(fibaro:getValue(158, "valueSensor")) > 60 ) and (tonumber(fibaro:getValue(206, "value")) <= 0 ) and (tonumber(fibaro:getValue(72, "value")) <= 0 ) and (tonumber(fibaro:getValue(132, "value")) <= 0 ) and
((tonumber(fibaro:getValue(57, "value")) <= 0) and (tonumber(fibaro:getValue(65, "value")) <= 0)) and ( fibaro:getGlobalValue("JouretNuit") == "Nuit")

Partager ce message


Lien à poster
Partager sur d’autres sites

@Sebcbien

 

Salut,

 

Envoies moi l'accès à  ton gibhub/GEA et je fais les modifs.

 

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu dois créer un compte github: https://github.com/join

Ensuite faire une demande: https://github.com/sjauquet/GEA/blob/master/GEA.lua et clique sur le crayon "edit"

J'accepte et tu peux alors tout casser ;)

 

quand tu as édité, tu remplis la case "commit" avec une description du changement et tu clique sur "commit change"

Partager ce message


Lien à poster
Partager sur d’autres sites

 

100% d'accord avec Hansolo, le OR va provoqué 2 lignes dans GEA car GEA ne gère pas le OR ... voici

 

Par contre, vu que cela ne sert à  rien de tester si la lampe est allumée avant de l'allumée .. j'ai comme l'impression que tu souhaite faire cela : 

 

Si le module 312 > 0 alors on allume 70 et 118

GEA.add( {"Value+", 312, 0} ,  30,  "",  { {"Time", "Sunset-20", "Sunset-20"}, {"Time", "Sunset+10", "Sunset+10"}, {"TurnOn", 70}, {"TurnOn", 118} })

@Steven, cela ne fonctionne pas mais les lignes que j'avais fait fonctionnent, pas de contre indication dans mes lignes, j'ai la hantise de mettre un code qui me plante la box.

GEA.add(312, -1, "", {{"turnOn", 70}, {"Time", "Sunset-20", "Sunrise+10"}})
GEA.add(312, -1, "", {{"turnOn", 118}, {"Time", "Sunset-20", "Sunrise+10"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

en une ligne

GEA.add(312, -1, "", {{"turnOn", 70}, {"turnOn", 118}, {"Time", "Sunset-20", "Sunrise+10"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, c'est plus jolie  :), merci

dis moi HANSOLO, comment on additionne des conditions?

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Sebcbien

 

C'est fait, on passera donc à  la V5.33.

 

 

  • Fix a bug with inc+ and dec+
  • Add StopScenario, EnableScenario and DisableScenario
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Sebcbien

C'est fait, on passera donc à  la V5.33.

  • Fix a bug with inc+ and dec+
  • Add StopScenario, EnableScenario and DisableScenario

 

 

Ok, c'est mergé.

Je t'ai ajouté à  la liste des collaborateurs, tu pourras merger directement la prochaine fois.

 

Attention qu'a partir de cette version,  GEA.isVersionFour = true (was false)

Partager ce message


Lien à poster
Partager sur d’autres sites

ca veut dire quoi 

Attention qu'a partir de cette version,  GEA.isVersionFour = true (was false)

Partager ce message


Lien à poster
Partager sur d’autres sites

que GEA.isVersionFour est mis àTrue par défaut au lieu de False certainement

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est possible, le diff me donne ça de changé par rapport à  la précédente ?!?

 

https://github.com/sjauquet/GEA/commit/ba3aa5d8f9977cec52cd151246e8b9e0524adafc#diff-b3090de48025433c51ccf01e63532bcb

Partager ce message


Lien à poster
Partager sur d’autres sites

bon j'arrive toujours pas à  mettre en place mon idée de verifier si certains (pas tous) sont armés alors je declenche des actions

 

j'arme differement mes modules en fonction du MODE_MAISON et/ou de notre presence

 

par exemple

	   GEA.add(Absent, 1*60, "Alarme ON Absent", {{"setArmed",id["MOV_ENTREE"]},{"setArmed",id["MOV_SALON"]},{"setArmed",id["OUV_CAVE"]},{"setArmed",id["OUV_CHAMBRE_AMIS"]},{"setArmed",id["MOV_BUREAU"]}})

du coup peut être que je peux créer un variable 'ALARME' et la passer sur "ON" à  la fin de cette ligne

 

ca marche ca ?

   GEA.add(Absent, 1*60, "Alarme ON Absent", {{"setArmed",id["MOV_ENTREE"]},{"setArmed",id["MOV_SALON"]},{"setArmed",id["OUV_CAVE"]},{"setArmed",id["OUV_CHAMBRE_AMIS"]},{"setArmed",id["MOV_BUREAU"]}}, {{"Global", "Alarme", "1"}})

EDIT ; ca fonctionne pas, la variable ne bouge pas.

EDIT 2 : ok avec ca :-)

  GEA.add(Absent, 1*60, "Alarme ON Absent", {{"setArmed",id["MOV_ENTREE"]},{"setArmed",id["MOV_SALON"]},{"setArmed",id["OUV_CAVE"]},{"setArmed",id["OUV_CHAMBRE_AMIS"]},{"setArmed",id["MOV_BUREAU"]},{"Global", "Alarme", "1"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

pouvez vous m'expliquer cette ligne  de la config de zozotte

GEA.add({id["CH2_OUV"], alarmeOn}, -1, "Alerte intrusion !!! Fenetre A ouverte - #date# #time#", {intrusion})

est ce qu'il faut comprendre

 

si CH2_OUV change d'état et que la variable alarmeON est vérifié alors push "Alerte...." et changement de la variable à  intrusion 

 

le -1 veut dire change d'état ou veut dire sans condition de temps ?

Partager ce message


Lien à poster
Partager sur d’autres sites

-1 signifie déclenchement immédiat

pour que ça fonctionne, il faut mettre l'id de CH2_OUV dans l'entête

Partager ce message


Lien à poster
Partager sur d’autres sites

×