Aller au contenu

Recommended Posts

Salut @DId,

 

Ah le boulet, je n'avais pas suivi pour le 220 de la serre ;-)

 

Tu peux aussi mettre 30 en durée oui, j'y ai pense mais je me suis dit qu'etant donne que tu voulais que cela s'enchaine pour soulager la pompe, la latence des 30 secs en durée etait moins précise, mais ca peut le faire aussi ;-)

 

Teste et de ce fait le code est plus simple ;-) !!

 

Sinon oui faut decaler avec le 86, je te fais ca, ca se teste aussi qui sait. et tu choisis ce que tu preferes au plus proche de ton besoin hihih

 

Voila sans le 220 ;-)

GEA.add(true, 30, "", {{"VirtualDevice", 307, 3}, {"Time", "03:45", "03:46"}, {"Dates","01/07","01/10"}}) -- Vérifie la variable d'arrosage
GEA.add(true, 30, "", {{"VirtualDevice", 307, 3}, {"Time", "19:35", "19:36"}, {"Dates","01/07","01/10"}}) -- Vérifie la variable d'arrosage

function getvalue()
    return arrosage
end
local arrosage = 0
 
-- Allumage 86 si arrosage = 0 et VG "Arrosage" à  OUI
GEA.add({86, {"Global","Arrosage","Oui"}, {"function()", function() getvalue() == 0 end}}, 30, "",
        {
            {"Inverse"},
            {"turnOn", 86},
            {"function()", function() arrosage = arrosage + 1 end}, -- arrosage = 1
            {"Time", "19:30", "19:31"},
            {"Dates","01/07","01/10"}
        })
 
-- Extinction 86 si arrosage = 1 depuis 5 mins
GEA.add({86, {"function()", function() getvalue() == 1 end}}, 5*60, "", {
    {"turnOff", 86},
    {"Dates","01/07","01/10"}
    })
 
-- Allumage 191 si arrosage = 1 depuis 5 mins (devrait s'allumer en meme temps que l'extinction de 86)
GEA.add({191, {"function()", function() getvalue() == 1 end}}, 5*60, "", {
    {"Inverse"},
    {"turnOn", 191},
    {"function()", function() arrosage = arrosage + 1 end}, -- arrosage = 2
    {"Dates","01/07","01/10"}
    })
 
-- Extinction 191 si arrosage = 2
GEA.add({191, {"function()", function() getvalue() == 2 end}}, 5*60, "", {
    {"turnOff", 191},
    {"Dates","01/07","01/10"}
    })
 
-- Allumage 122 si arrosage = 2 depuis 5 mins (devrait s'allumer en meme temps que l'extinction de 191)
GEA.add({122, {"function()", function() getvalue() == 2 end}}, 5*60, "", {
    {"Inverse"},
    {"turnOn", 122},
    {"function()", function() arrosage = arrosage + 1 end}, -- arrosage = 3
    {"Dates","01/07","01/10"}
    })
 
--Extinction 122 si arrosage = 3, fin du cycle on remet arrosage à  0
GEA.add({122, {"function()", function() getvalue() == 3 end}}, 5*60, "", {
    {"turnOff", 122},
    {"function()", function() arrosage = 0 end}, -- arrosage = 0
    {"Dates","01/07","01/10"}
    })

Petite modif, j'ai modifé mon erreur de syntaxe, les "()" après function n'y etaient pas ;-) ca sent la mauvause manip ;-)

Modifié par pepite
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 

Bonjour à  tous,

 

Bon je viens de tester pour la 1ere fois le reboot et ca ne fonctionne pas. Une idée avant que je fouine ? ;-)

 

Dans le debug j'ai bien DONE : tache effectuée et suspendue ;)- bizarre non.

Quelqu'un pour qui cela fonctionne ?

 

j'ai buggé où ?

Pas compliqué comme ligne tout de même ;-)

Help ;-)

GEA.add(true, 30, "", {{"Days", "Sunday"}, {"Time", "16:45", "16:46"}, {"function", function() HomeCenter.SystemService.reboot() end}})

 

Salut salut,

 

Quelqu'un a ce souci ? Suis le seul ? je dois me tromper mais je ne comprends pas où, pourtant j'ai cherché.;

Me reste 1 chose à  tester, en lancant depuis GEA la scene de reboot, amis suis sur que ca va fonctionner.

Partager ce message


Lien à poster
Partager sur d’autres sites

 Salut @pepite,

J'ai réussi à  avoir le résultat que je souhaitais en jouant sur les temps, j'ai ajouté trente secondes à  la ligne d'extinction:

GEA.add({"Global","Arrosage","Oui"}, 30, "", {{"turnOn",86},{"Time","19:40","19:41"},{"Dates", "01/07","01/10"}})
GEA.add(86, 11*30, "", {{"turnOff"}, {"Time", "19:40", "19:46"}, {"Dates","01/07","01/10"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @Did,

 

Super bien vu ;-)..et merci de me faire jouer avec les codes ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello les experts de GEA.

Dites, ça ne marche plus le Wake Up des Dead Devices sous GEA, ou il y aurait un bug que je n'aurais pas vu passer ? Pour info je suis en GEA 5.40 (donc pas la toute dernière version)

 

Parce que pour une fois, pour la première fois depuis très longtemps, j'ai eu un noeud mort, que GEA a bien détecté et m'a bien notifié (ou devrais-je dire spammer à  cause du REPEAT), mais il n'arrivait pas à  réveiller le module.

Pourtant, en me connectant via l'interface Web pour faire le réveil à  la main, ça a fonctionné parfaitement.

 

Ma ligne :

GEA.add({"Dead", id["SIRENE"]}, 30, "Le périphérique #name# ne répond plus, tentative de réveil...", {{"WakeUp", id["SIRENE"]}, {"Email", 4}, {"Repeat"}})

Je suis certain de l'ID SIRENE (qui est forcément bon car il détectait bien le noeud mort.

Partager ce message


Lien à poster
Partager sur d’autres sites

SAlut @Lazer,

Désolé pour la réponse tardive

Cherche dans le code de la scene :
 

fibaro:wakeUpDeadDevice(entry[GEA.keys["PARAMS"]][i][2])


Commente la

et met celle la en-dessous

fibaro:call(1, 'wakeUpAllDevices', (entry[GEA.keys["PARAMS"]][i][2]))

Ca a fonctionne pour @Borgs quand je lui ai proposé mais le Maitre @Steven trouvait cela bizarre car cela ne correspondait pas au code qui se trouvait dans le code de la fonction dans fibaro

 

Teste ca nous permettera d'avoir un 2eme debug pour les dead node.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok merci Pepite.

Je testerai ça àl'occasion, mais si je dois attendre 1 an avant d'avoir mon prochain noeud mort, tu n'auras pas ta réponse tout de suite

À moins que j'arrive àreproduire en débranchant le module du secteur....

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je vais tester et vous dit ... j'ai un smoke en dead node; 1ere fois pour celui la. peut être la pile j'ai pas encore regardé;

 

une question, savez vous si on peut modifier le paramètre d'un device avec GEA  ?

Partager ce message


Lien à poster
Partager sur d’autres sites

une question, savez vous si on peut modifier le paramètre d'un device avec GEA  ?

Impossible, d'ailleurs Fibaro ne permet pas du tout de modifier les paramètres par programmation. Nous sommes obliger de modifier le json et de le réinjecter dans la HC2.

Personnellement je trouve que c'est une opération dangereuse.

 

Voici comment faire : http://www.domotique-fibaro.fr/index.php/topic/3839-modification-des-propri%C3%A9t%C3%A9s-dun-device/

Après tu peux très bien demander à  GEA de piloter les boutons du VD.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Je suis tout nouveau sur le home center et j'ai trouvé ce script LUA qui m'as l'air bien utile.

 

Je commence à  le tester. Je souhaites pour l'instant juste envoyé un push lorsqu'une porte s'ouvre et se ferme.

 

J'ai trouvé ce bout de code sur le site (merci jojo)

  1. -- notification dès que la porte est ouverte
  2. GEA.add(id["Porteâ€],-1,"La porte est ouverte")
  3.  
  4. -- notification si la porte est ouverte depuis 5 min
  5. GEA.add(id["Porteâ€],5*60,"La porte est ouverte depuis #duration#")
  6.  
  7. -- notification à  la fermeture de la porte
  8. GEA.add(id["Porteâ€],-1,"La porte est fermée",{"Inverse"})

 

Je suis en version v5.42. Pour l'instant j'aimerai juste recevoir une notification push lorsque la porte est ouverte.Mon code ci-dessous.

 

local id = {
PORTE_ENTREE = 13,
PORTE_FENETRE = 23,
PORTE_SERVICE = 15,
FENETRE_LOLA = 19,
FENETRE_LUCAS = 21,
BAIE_VITREE_D = 17,
DETECTEUR_FUMEE = 43,
DETECTEUR_CO2 = 44,
SIRENE_EXT = 11,
THERMOMETRE_IN = 26,
THERMOMETRE_OUT = 31,
HUMIDITE_IN = 28,
HUMIDITE_OUT = 32,
MESURE_CO2_IN = 27,
BAROMETRE_IN = 29,
SONOMETRE_IN = 30,
}
 
-- ==NOTIFICATIONS== --
-- notification dès que la porte est ouverte
GEA.add(id["PORTE_FENETRE"],-1,"La porte fenêtre est ouverte")
 
-- notification si la porte est ouverte depuis 5 min
--GEA.add(id["PORTE_FENETRE"],5*60,"La porte fenêtre est ouverte depuis #duration#", {"Repeat"})
 
-- notification à  la fermeture de la porte
--GEA.add(id["PORTE_FENETRE"],-1,"La porte fenêtre est fermée", {"Inverse"})
 

Mon script est bloqué comme ci-dessous et aucune notification n'est envoyé.

GEA Version 5.42 : en exécution...

[DEBUG] 09:25:29: En cours : aucun traitement à  effectuer
[DEBUG] 09:25:29: En cours : aucun traitement à  effectuer

 

 

Cordialement,

 

Mathieu

Partager ce message


Lien à poster
Partager sur d’autres sites

 Bonjour,

As tu déclaré l'id 23 (PORTE_FENETRE) dans l’entête du script?

Partager ce message


Lien à poster
Partager sur d’autres sites

Comme ceux-ci ?

 

--[[
%% autostart
%% properties
23 value
%% globals
--]]

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, c'est juste.

 

Ton code commençant par GEA.add tu l'as bien mis entre les lignes suivantes :

function setEvents()

-- ICI

end

?

Partager ce message


Lien à poster
Partager sur d’autres sites

 Oui, tu dois déclaré les Id où tu utilises l'instantané -1 et idem pour les variables mais sous le "%% globals".

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ce support trés actif.

 

Je suis finalement arrivé à  créer l'envoi de notification lors de l'ouverture et fermeture pour chacune de mes portes et fenêtres.

 

La porte étais déja ouverte  :rolleyes: et pas de push dans ce cas la.

Partager ce message


Lien à poster
Partager sur d’autres sites

 Non, en effet, la ligne est validée seulement lors du changement d'état.

Partager ce message


Lien à poster
Partager sur d’autres sites

 

Bonjour à  tous,

 

Bon je viens de tester pour la 1ere fois le reboot et ca ne fonctionne pas. Une idée avant que je fouine ? ;-)

 

Dans le debug j'ai bien DONE : tache effectuée et suspendue ;)- bizarre non.

Quelqu'un pour qui cela fonctionne ?

 

j'ai buggé où ?

Pas compliqué comme ligne tout de même ;-)

Help ;-)

GEA.add(true, 30, "", {{"Days", "Sunday"}, {"Time", "16:45", "16:46"}, {"function", function() HomeCenter.SystemService.reboot() end}})

HElP messieurs dames ;-)

 

Le HomeCenter.SystemService.rebbot() fonctionne dans une scene parfaitement (ma box est en train de rebooter..) mais je n'y arrive pas avec GEA.

Une idee pourquoi depuis GEA le function ne fonctionne pas ;-)

les experts svp hihi pour eclairer ma lanterne :13: car la, je suis bien dans le noir ;-)

 

Je sais que je pourrais utiliser "Scenario" mais je voudrais eviter de faire une scene avec 1 ligne de code ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

EN

@pepite

 

below i have 2 rows of GEA to turnOn if movement, Lux is below 40 and we are awake and turnOff after 30min if no movement

GEA.add(KOK["rorelse"], -1, "", {{"If",{{"Value-", KOK["lux"], 40},{"Global", "SleepState", "Vaken"}}},{"Function", function() fibaro:call(KOK["bankbelysning"], "turnOn") end}})

GEA.add(KOK["rorelse"], 30*60, "", {{"Inverse"}, {"turnOff", KOK["bankbelysning"]}})

but if we turnOn manually i would not like it to turnOff after 30min.

Thinking i could achieve that with a variable, like ManualLightsOn and add an IF to second GEA row. But how will a GEA row for manual turnOn be?

Is that the right way or does GEA have something special for that?

Partager ce message


Lien à poster
Partager sur d’autres sites
local turnoffRorelse = GEA.add(true, 30*60, "", {{"Inverse"}, {"turnOff", KOK["bankbelysning"]}, {"NotStarted"}})
GEA.add({KOK["rorelse"], {"Value-", KOK["lux"], 40}, {"Global", "SleepState", "Vaken"}}, -1, "", {{"turnOn", KOK["bankbelysning"]}, {"RestartTask", turnoffRorelse}})
 

Line 1 : {"NotStarted"}  will not start this line automatically (will wait for an order)

Line 2 : {"RestartTask", <gea_id>} will start the line 1

 

I remove the KOK["rorelse"] from line 1 because if the rorelse status change between 2 checks the line will restart automatically, but if this is always true it will never be trigger more than one time (condition will never change and not repeated)

 

This way :

 

The line 1 will not start automaticaly and wait for the line 2 to start it. Once started and finished the line 1 will sleep as long as the line 2 wake it up again.

 

Enjoy

 

P.S 1 : Use {"turnOn", <id>} at line 2 {"turnOn", KOK["bankbelysning"]} instead of function() ... end

P.S 2 :  The IF is deprecated prefere GEA.add( {condition1, condition2, ...}, .....)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

j'aurais besoin de votre aide pour ma 1ere commande avec GEA car j'ai une erreur et je ne comprend pas:

 

GEA.add( {{"Value+", 189, 25},{"Property", 347, "ui.state.value", "Arme"},{"Property",483,"ui.Label1.value","Ouvert"}},-1,"Température élevée - Fermeture Volets",{"VirtualDevice", 483, 3})
 
ce que je veux faire:
si la température du module 189 est plus haute que 25 et que la valeur state du module 347 est égale à  "ARME" et que la propriété du label du module 483 est égale à  "OUVERT" alors je veux appuyer sur le bouton 3 du VD 483
 
qu'est ce qui n'est pas bon?
j'ai l'erreur suivante :
[DEBUG] 15:23:02: line 210: bad argument #1 to 'lower' (string expected, got nil)

Partager ce message


Lien à poster
Partager sur d’autres sites
GEA.add( {{"Value+", 189, 25},{"Label", 347, "state", "Arme"},{"Label",483,"Label1","Ouvert"}},-1,"Température élevée - Fermeture Volets",{{"VirtualDevice", 483, "3"}})

Te manquais juste une paire de { } pour englober les actions

 

{{"VirtualDevice", 483, "3"}}

Partager ce message


Lien à poster
Partager sur d’autres sites

Je venais juste de trouver l'erreur mais ca ne se déclenche pas

 

GEA.add( {{"Value+", 189, 25},{"Property", 347, "ui.state.value", "Arme"},{"Property",483,"ui.Label1.value","Ouvert"}},-1,"Température élevée - Fermeture Volets",{{"VirtualDevice", 483, 3}})
 
et voici mon entete
 
%% autostart
%% properties
189 value
347 ui.state.value
%% globals

Partager ce message


Lien à poster
Partager sur d’autres sites

×