Aller au contenu

Messages recommandés

Posté(e)

-1 ne s'applique qu'àla 1ère condition.

Pour le reste la durée s'applique àl'ensemble des conditions.

  • Upvote 1
Posté(e)

hello

petite question, si j'ai un VD avec un bouton double ? (ID12 donc mon cas)

comment avec GEA je click sur le bouton ID12-1 et ID12-2 de façon indépendante ?

 

merci

Posté(e)

les boutons sont numéroés de manières séquentielles, vois ce que mprinfo a expliqué dans "la HC pour les nuls"

Posté(e)

Question, peut on récupérer l'état de l'interrupteur brancher sur le S2 d'un Dimmer FGD211 ?

Posté(e)

Pour le moment j'ai mis un inter va et vient. Du coup j'ai activé le sceneactivation, et làje peux faire qque chose, mais je voulais directement commander depuis GEA, mais je ne vois pas comment faire.

Posté(e)

Dans GEA 5.34 je pense qu'une correction proposée par @Shyrka973 n'a pas été complètement implémentée.

					if (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "inc%+")) then
						local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2]))
						if (type(value) ~= "nil") then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + 1) end
					elseif (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "dec%-")) then
						local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2]))
						if (type(value) ~= "nil") then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - 1) end
					else
						fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], GEA.getMessage(entry,entry[GEA.keys["PARAMS"]][i][3]))
					end

Devrait être;

					if (string.match(entry[GEA.keys["PARAMS"]][i][3], "inc%+")) then
						local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2]))
						if (type(value) ~= "nil") then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number + 1) end
					elseif (string.match(entry[GEA.keys["PARAMS"]][i][3], "dec%-")) then
						local number = tonumber(fibaro:getGlobalValue(entry[GEA.keys["PARAMS"]][i][2]))
						if (type(value) ~= "nil") then fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - value) else fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], number - 1) end
					else
						fibaro:setGlobal(entry[GEA.keys["PARAMS"]][i][2], GEA.getMessage(entry,entry[GEA.keys["PARAMS"]][i][3]))
					end

GEA.match àremplacer par string.match lignes 1 et 5

  • Upvote 1
Posté(e)

J'ai remplacé ces deux lignes par:

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

et

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

Le quatrième paramètre de la fonction string.find à  true permet une recherche simple à  la différence de string.match qui lui va réaliser une recherche complexe.

 

Posté(e)

Tiens, j'ai un truc anormal. Dans GEA, j'utilise cette ligne :

--Ouverture véranda au couché du soleil
GEA.add(true, 1, "Ouverture véranda",{{"Days","Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday"},{"Time","Sunset-15","Sunset-16"},{"VirtualDevice",91,"7"}})
  

Souci : Quand je modifie qque chose dans GEA autre, et donc que j'effectue une sauvegarde, cela lance cette action... Pourtant elle ne devrait se lancer qu'àSunset-x.

Posté(e)

Nico, 

Je ne réponds pas à  ta question, mais ton option {"Days", ...} me semble inutile vu que tous les jours sont listés ?

Posté(e)

@Nico:

 

GEA.add(true, 1, "Ouverture véranda",{{"Days","Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday"},{"Time","Sunset-15","Sunset-16"},{"VirtualDevice",91,"7"}})


Sunset est le couché du Jour donc ton action est valide de Sunset-15 à  Sunset-16 soit pendant 23H59 minutes.... donc normal le déclenchement. Si tu veux entre 15 et 16 avant le couché, c'est {"Time","Sunset-16","Sunset-15"} Ou alors j'ai mal compris et désolé :)
 

GEA.add(true, 1, "Ouverture véranda",{{"Days","WeekDay"},{"Time","Sunset-16","Sunset-15"},{"VirtualDevice",91,"7"}})

Nicolas

 

Posté(e)

Merci ! Je croyais que c'était l'heure moi... Pourtant je suis sur que cela fonctionnait sur une autre action.

Mais donc si je veux que cela s'ouvre 15 minute avant le Sunset du jour, je mets juste Time avec Sunset-15. En fait je mettais toujours une borne -15-16 pour être sûr qu'ils le prennent, cela date du début de GEA, je peux les virer maintenant, c'est hyper stable.

Posté(e)

en fait si je veux être sà»r qu'il s'ouvre à  sunset-15 ET que si à  sunset-15 la HC2 n'était pas disponible (panne de courant, backup, ...)

je mettrais  (et ainsi si la HC2 revient à  elle avant 23:00, les stores s'ouvrent)

{"Time","Sunset-15","23:00"}

Teste aussi sans le {"Days", ...} cela surcharge selon moi le script

Posté(e)

 

STOP :)

 

Utilisé un sleep de 20mn dans GEA va planté GEA .. on a le droit d'y mettre des petit sleep (sans jeu de mot) pour autant que le total des "sleep" ne dépasse pas les 30 secondes. Sinon GEA ne sera pas capable de ce lancer toutes les 30 secondes.

 

Il y a des solutions à  cela :


local varecsoui = {"Global", "varecs", "oui"}
local varecsnon = {"Global", "varecs", "non"}

-- Tache en sommeil (NotStarted)
-- Cette tache va passer la variable à  Non si elle est à  Oui depuis plus de 20 minutes
local autoOff = GEA.add(varecsoui, 20*60, "Variable ECS à  OUI depuis #durationfull#", {varecsnon, {"NotStarted"}}) -- Tache en sommeil cas non démarrée

-- Cette tache va passer la variable à  Oui si la lumière de la douche est allumée et que la variable est à  non
-- Elle va aussi redémarrer la tache si dessus
GEA.add({id["lumrdc_douche"], varecsnon}, 30, "",{varecsoui, {"RestartTask", autoOff}})

Steven,

Je constate (grâce à  ton code qui traque les changements de variables :13: ) que ma varecs repasse à  non après 20 min SI la tâche GEA qui fait le RestartTask de autoOff a tourné.

 

Donc si ma varecs est à  oui autrement que par la lumrdc_douche elle ne repasse pas à  non après 20 min SAUF si UNE fois le RestartTask de autoOff a fait son oeuvre.

 

En fait ce que je voudrais, c'est que le RestartTask ne fonctionne qu'une seule fois. Et donc dès que la tâche a tourné un fois, elle se remette en NotStarted, jusqu'au prochain RestartTask. Cela ne semble pas être le cas.

 

Fonctionnellement, je veux que varecs repasse à  non (après 20 min) seulement si elle est passée à  oui "à  cause" de lumrdc_douche (qui entre temps peut avoir été éteinte).

 

Je sais, c'est tiré par les cheveux, mais c'est hyper simple en mode BLOC (ça c'est proche de l'insulte, mais c'en n'est pas !)

 

Merci de vos idées

Posté(e)

tu n'as plus de réseau, ce qui explique pourquoi le wiki GEA est aux abonnés absents.

Je regarde MaxTime : merci

×
×
  • Créer...