Aller au contenu

Recommended Posts

@ Flechg

 

Je ne suis pas sur de bien comprendre ce que tu souhaites faire, mais je remarque que tu as la fonction "inverse" sur tes 2 lignes, du coup tes 2 lignes sont semblables.

Peut être le supprimer sur la 1ere ligne ?

.

GEA.add(id["DET_SALON"],  5*60,  "detecteur armer #time#",  {{"Time", "08:20", "11:55"}, {"Time", "13:20", "15:45"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"setArmed", 277}}) --arme le module


GEA.add(id["DET_SALON"],  30,  "detecteur desarmer #time#",  {{"Time", "11:55", "11:56"}, {"Time", "15:45", "15:46"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"Inverse"}, {"setDisarmed", 277}}) --desarme le module

Partager ce message


Lien à poster
Partager sur d’autres sites

@Hansolo : j'adoooooore :60: :60: :60:

 

@flechg

 

Attention, il est préférable que le Inverse soit en début des options, plus simple à  la lecture pour l'inversion de la condition

 


-- Arme le module
GEA.add(id["DET_SALON"], 5*60, "detecteur armer #time#", {{"Inverse"},{"Time", "08:20", "11:55"}, {"Time", "13:20", "15:45"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"setArmed", 277}})

--desarme le module
GEA.add(id["DET_SALON"], 30, "detecteur desarmer #time#", {{"Time", "11:55", "11:56"}, {"Time", "15:45", "15:46"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"setDisarmed", 277}})

ou comme ca, astuce de Steven

--La valeur du detecteur est toujours > à  -1 (puisque 0 ou 1) donc GEA ignore l'etat du module et regarde s'il est armé (Armed)ou desarmé (Disarmed)

--Arme le module s'il est desarmé
GEA.add({"Value+", id["DET_SALON"], -1}, 5*60, "detecteur armer #time#",  {{"Disarmed"}, {"Time", "08:20", "11:55"}, {"Time", "13:20", "15:45"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"setArmed", 277}})

--Desarme le module s'il est armé
GEA.add({"Value+", id["DET_SALON"], -1}, 30, "detecteur desarmer #time#",  {{"Armed"}, {"Time", "11:55", "11:56"}, {"Time", "15:45", "15:46"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"}, {"setDisarmed",277}})
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Chers Tous,

 

la dernière version de GEA n'a pas la correction pour la pris en compte des inc+ et dec-

 

Quelqu'un peut faire la correction dans le model comme l'avait préconisé Steven?

 

Merci beaucoup....

Partager ce message


Lien à poster
Partager sur d’autres sites

 @Hansolo,

Bien tenté. :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

j'ai ces ligne qui ne fonctionnent pas:

 

 

 

-- Si fenetre ouverte, chauffage coupé
GEA.add({"Value", id["FENETRENOE"], "1"}, -1, "Fenetre Noe Ouverte, chauffage arreté", {{"turnOff", id["RADIATEURNOE"]}})
-- Si fentre refermé, chauffage remis en route
GEA.add({"Value", id["FENETRENOE"], "0"}, -1, "Fenetre Noe refermé, chauffage remis", {{"turnOn", id["RADIATEURNOE"]}})
-- Alerte fenetre Noe ouverte
GEA.add({"Value", id["FENETRENOE"], "1"}, -1, "Alerte fentre Noe ouverte", {"Global", "mysms", "Alerte fentre Noe ouverte"}, {"VirtualDevice", id["FRESMS"], 1})

Dois je changer dans la ligne GEA.match en string.match?

elseif (type(id) == "table" and string.lower(id[1]) == "global" and #id > 2) then
GEA.log("isActivate", entry, "type : global variable", false)
result = GEA.match(fibaro:getGlobalValue(id[2]), id[3])
master[GEA.keys["VALUE"]][nb] = fibaro:getGlobalValue(id[2])

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebbrunie:

 

Pour des capteurs de fenetre tu dois pouvoir écrire:

-- Si fenetre ouverte, chauffage coupé
GEA.add(id["FENETRENOE"], -1, "Fenetre Noe Ouverte, chauffage arreté", {{"turnOff", id["RADIATEURNOE"]}})
-- Si fentre refermé, chauffage remis en route
GEA.add(id["FENETRENOE"], -1, "Fenetre Noe refermé, chauffage remis", {{"Inverse"},{"turnOn", id["RADIATEURNOE"]}})

Si tu veux conserver value, certains capteurs n'envoient pas 1 mais 255 donc au lieu de:

{"Value", id["FENETRENOE"], "1"}
utlise:
{"Value+", id["FENETRENOE"], 0}

Ton dernier GEA, il manque les accolades qui englobent, les options:

GEA.add({"Value", id["FENETRENOE"], "1"}, -1, "Alerte fentre Noe ouverte", {{"Global", "mysms", "Alerte fentre Noe ouverte"}, {"VirtualDevice", id["FRESMS"], 1}})

En espérant que ça aide (et que ce soit juste....) :)

 

Nicolas

Partager ce message


Lien à poster
Partager sur d’autres sites

@NiKKO

 

pour les {}, c'est sur que c'est bon... merci, je ne l'avais pas vu....

 

Steven avait dit que pour l'action inc+ et dec-, il fallait changer GEA.match en string.match. Je me demandais si c'était aussi valable partout ?

 

On ricane pas car la question démontre peut être que je n'y comprends rien :(

 

;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Peut être valable pour inc+ et inc-, mais c'est pour une variable globale que tu veux modifier, dans la partie Option et pas condition, cf exemple de Steven ( http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-d%C3%A9v%C3%A9nements-automatique/ ); Dans ton cas tu travaille avec la Condition Value

 

Nicolas

Partager ce message


Lien à poster
Partager sur d’autres sites

je crois que tu melanges un peu ce que fait inc+ et dec-

Cela ne concerne que la valeur de variable est numerique :

{"Global", "Toto", 1} 

si la ligne suivante tu ecris

{"Global", "Toto", inc+}, la valeur de Toto est donc de 1 + "inc+" , soit 1+1 = 2 

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite,

es-tu sà»r que 1+1 = 2 ?  :98:

Partager ce message


Lien à poster
Partager sur d’autres sites

@jojo : et sans calculette ;-) et meme pas un math.floor en lua ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour les infos sur le setTargetLevel

j'avais essayé le value en direct, mais le SRT321 ne se met pas à  jour avec cette solution, je n'ai aucune idée pourquoi; Y a aussi un paramètre targetLevel que j'ai essayé de setter avec la propriété, mais là  aussi il refuse de se mettre à  jour. Seule l'action setTargetLevel fonctionne étrangement.

 

comme je veux piloter le planning du chauffage par GEA qui me permettra de faire des choses bcp plus riche que le panel heating, il me fallait absolument cette fonciton. Du coup j'ai rajouté ca dans le moteur de push message de GEA

 

-- settargetlevel

elseif (type(entry[GEA.keys["PARAMS"]]) == "table" and string.lower(entry[GEA.keys["PARAMS"]][1]) == "settargetlevel" and #entry[GEA.keys["PARAMS"]] > 2) then
fibaro:call(entry[GEA.keys["PARAMS"]][2], "setTargetLevel", entry[GEA.keys["PARAMS"]][3])
GEA.log("sendActions", entry, "!ACTION! : setTargetLevel " .. entry[GEA.keys["PARAMS"]][3] ..", true )
 
et du coup la syntaxe de GEA pour l'option c'est tout simplement
-- {"setTargetLevel", <id module>, <temperature consigne>} -- Met <température consigne> dans <id module>
 

Si c'est reporté dans le code GEA ca m'arrange, sinon je ferais le report à  chaque version c'est pas trop lourd

Partager ce message


Lien à poster
Partager sur d’autres sites

Bien joue @atalata, teste sur un peu plus de temps et si c'est ok je pense que les experts voudront bien mettre a jour le GIT pour une nouvelle version ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebbrunie1

 

Peux-tu tester la modification suivante en remplaçant ces deux lignes:

if (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "inc%+")) then
elseif (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "dec%-")) then

par:

if (string.find(entry[GEA.keys["PARAMS"]][i][3], "inc+", 1, true)) then
elseif (string.find(entry[GEA.keys["PARAMS"]][i][3], "dec-", 1, true)) then

Partager ce message


Lien à poster
Partager sur d’autres sites

par GEA.match par string.match, ca marche... j'essaye ton code demain.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

est ce qu'une tache peut s'auto arrêter?

local ProcheMaison = GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"Repeat"}, {"StopTask", ProcheMaison}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à  tous,

 

Petite question... j'ai une multiprises Greenwave avec dessus ma TV (ID: 1), ma barre de son (ID: 2) et un disque USB pour enregistrer (ID: 3). Voici la question... j'aimerai que tout de suite quand la TV consomme plus que X, la barre de son et le disque s'allume! Autrement dit, quand ma TV sort de veille.

 

Malheureusement, je ne sais pas comment mettre le "tout de suite" avec les niveaux de consommation?!?

 

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

@katagena

Qu'elle est la consommation en veille de la tv

Partager ce message


Lien à poster
Partager sur d’autres sites


--[[

%% autostart

%% properties

1 value

%% globals

--]]

----- on

GEA.add({"Sensor+", id["TV_ID1"], 4}, -1, "", {{"turnON", id["XXXX"]}, {"turnON", id["XXXX"]}, {"Repeat"}})

-----off

GEA.add({"Sensor-", id["TV_ID1"], 5}, -1, "", {{"turnOff", id["XXXX"]}, {"turnOff", id["XXXX"]}, {"Repeat"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci 971jmd... Juste une question, àquoi sert le "repeat" ici?

Merci pour la réponse!

Partager ce message


Lien à poster
Partager sur d’autres sites

pour exécuter le code à  chaque fois que tu aura besoin

si tu ne mai pas  "repeat"  le code s’exécutera une seul fois

 

fait un teste avec et sans pour voir 

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai dit un bêtise, tu n'a pas besoin de   "repeat"  vue que tu -1     (GEA.add({"Sensor+", id["TV_ID1"], 4}, -1, .....

Partager ce message


Lien à poster
Partager sur d’autres sites

×