Steven Posté(e) le 13 avril 2020 Auteur Signaler Posté(e) le 13 avril 2020 Ne doit aller dans l'entête que ce qui va avec une durée de -1 alors que tu as 1*60. Soit tu en élève ton 507 value de l'entête, soit tu mets -1.
971jmd Posté(e) le 13 avril 2020 Signaler Posté(e) le 13 avril 2020 a oui merci @Steven mai GEA.add({"value", 507, 1}, -1 , "", {{"turnOn", 244}, {"Sleep", 70, {"turnOff", 244}}}) comme ça fonctionne à la détection d'un mouvement mai est ce que la commande RestartTask et StopTask peut stoppé un ligne de instantané (-1) ?
971jmd Posté(e) le 13 avril 2020 Signaler Posté(e) le 13 avril 2020 si non,comment stoppé un ligne -1 autrement avec une condition ? GEA.add({{"value", 507, 1}, {condition 2 }, -1 , "", {...
Steven Posté(e) le 13 avril 2020 Auteur Signaler Posté(e) le 13 avril 2020 il y a 19 minutes, 971jmd a dit : a oui merci @Steven mai GEA.add({"value", 507, 1}, -1 , "", {{"turnOn", 244}, {"Sleep", 70, {"turnOff", 244}}}) comme ça fonctionne à la détection d'un mouvement mai est ce que la commande RestartTask et StopTask peut stoppé un ligne de instantané (-1) ? Oui, cela fonctionne
971jmd Posté(e) le 13 avril 2020 Signaler Posté(e) le 13 avril 2020 J’ai tester mai ça fonctionne pas local coco= GEA.add({"value", 507, 1}, -1 , ..... GEA.add({condition }, -1 , "", {{"StopTask", "coco"}....
Steven Posté(e) le 13 avril 2020 Auteur Signaler Posté(e) le 13 avril 2020 coco ne doit pas être mis entre guillemets
971jmd Posté(e) le 13 avril 2020 Signaler Posté(e) le 13 avril 2020 Oui c’Est une erreur de frappe GEA.add({condition }, -1 , "", {{"StopTask", coco}.... ça ne stop pas la ligne de commande
minaetdave Posté(e) le 13 avril 2020 Signaler Posté(e) le 13 avril 2020 Il y a 6 heures, Steven a dit : Cherche des exemple avec "StopTask" Ex : local presence = GEA.add(...) -- extinction sur présence GEA.add(...,...,..., {"StopTask", presence}) -- humidité 1 heure. Voilà le résultat...qu'en penses-tu? local id = { Presence_sdb_RDC = xx, -- Détection présence salle de bain rez-de-chaussée TxHumid_sdb_rdc = xx, -- Taux d'humidité salle de bain RDC CDE_VMC_RDC = xx, -- Commande extracteur d'air SDB RDC } --Gestion VMC SdB Rez-de-chaussée local PresenceSdbRDC = GEA.add( {id["Presence_sdb_RDC"]}, -1, "", {"turnOn", id["CDE_VMC_RDC"], 10*60}) -- Mise en marche sur présence pendant 10 minutes GEA.add( {"Value+", id["TxHumid_sdb_rdc"], 40}, 30, "", {{"turnOn", id["CDE_VMC_RDC"], 60*60}, {"StopTask", PresenceSdbRDC}}) -- Mise en marche sur taux humidité >40% pendant 60 minutes
Steven Posté(e) le 14 avril 2020 Auteur Signaler Posté(e) le 14 avril 2020 @minaetdave Cela me semble bien @971jmd & @minaetdave Ce qu'il faut bien comprendre sur le StopTask c'est qu'il met TOUTE la ligne en pause. Il n'est pas possible de stopper une exécution qui a déjà démarré. Le StopTask ne va pas stopper une action déjà démarrée comme un {"Sleep", ...} ou un {"TurnOn", ..., 10*60}.
971jmd Posté(e) le 14 avril 2020 Signaler Posté(e) le 14 avril 2020 (modifié) donc impossible pour StopTask de fonctionné avec une ligne instantanée (-1) donc il nous reste une condition comme une variable global pour bloquée un ligne de commande Exemple si je prend exemple sur le scénario de @minaetdave -----si detection mouvement aprés 2mm et variable HUMIDITE = 0 alors ON extrateur pendant 15 mm(900sec) GEA.add({{"value", id["Presence_sdb_RDC"], "1"}, {"Global", "HUMIDITE", "0"}}, 2*60 , "", { {"turnOn", id["CDE_VMC_RDC"]}, {"Sleep", 900, {"turnOff", id["CDE_VMC_RDC"]}} }) -----si detection DETEC_HUMIDIT à + de 39% GEA.add({"value+", id["TxHumid_sdb_rdc"], "39"}, -1 , "", { -----si detection DETEC_HUMIDIT à + de 39% {"turnOff", id["CDE_VMC_RDC"]}, -----OFF extracteur {"Global", "HUMIDITE", "1"}, -----Passage de la variable à 1 {"Sleep", 2, {"turnOn", id["CDE_VMC_RDC"]}, -----ON extracteur {"Sleep", 3600, {"turnOff", id["CDE_VMC_RDC"]}}, -----OFF extracteur aprés 3600sec {"Sleep", 3600, {"Global", "HUMIDITE", "0"}} }) -----Passage de la variable à 0 Modifié le 15 avril 2020 par 971jmd
Nissan_GT-R Posté(e) le 16 avril 2020 Signaler Posté(e) le 16 avril 2020 Bonjour tout le monde Je fais (encore) appel à vous car j'ai une question à vous poser... Comment faire pour créer une variable printemps/été/automne/hiver et donc un module avec 4 boutons svp ? Merci d'avance pour votre aide
pepite Posté(e) le 17 avril 2020 Signaler Posté(e) le 17 avril 2020 Bonjour,Heuuu..t es dans le support GEA la, tu n auras pas VD :-)Envoyé de mon BND-L21 en utilisant Tapatalk
Nissan_GT-R Posté(e) le 17 avril 2020 Signaler Posté(e) le 17 avril 2020 il y a 39 minutes, pepite a dit : Bonjour, Heuuu..t es dans le support GEA la, tu n auras pas VD :-) Envoyé de mon BND-L21 en utilisant Tapatalk Oui pardon, je vais poster dans la bonne section
flamalex Posté(e) le 19 avril 2020 Signaler Posté(e) le 19 avril 2020 (modifié) Hello, question Function, Si on appelle plusieurs Function ("Function") doivent elles être déclinées sous différent nom? ci dessous, extrait GEA, j'ai plusieurs cycles, seulement la pompe filtration s'allume bien, puis s’arrête, puis redémarre, exemple en début de cycle1 et après 1 à 2 min elle s’arrête puis 1 à 2 min après redémarre... et fera ça pendant tout le cycle1 --Eté Cycle 1 local PISCINEAUTO = {"Global","Mode_Piscine","AUTO"} -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleB() local from = fibaro:getGlobalValue('Etecycle1debut') -- or "4:00" local to = fibaro:getGlobalValue ('Etecycle1fin') -- or "7:00 local now = os.date("%H:%M") local inplagecycleB = false if (to < from) then inplagecycleB = (now >= from) or (now <= to) else inplagecycleB = (now >= from) and (now <= to) end return inplagecycleB end --AUTO-- -- allumage de la filtration si filtration eteinte, fonction Ete et dans la plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],0},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return timecycleB() end}}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) -- extinction de la filtration si filtration allumée dans en dehors plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],1},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return not timecycleB() end}}, 1*60, "" , {"turnOff",id["FILTRATION_PISCINE"]}) ------------------------------------------------------------------------------ --Eté Cycle 2 local PISCINEAUTO = {"Global","Mode_Piscine","AUTO"} -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleC() local from = fibaro:getGlobalValue('Etecycle2debut') -- or "11:00" local to = fibaro:getGlobalValue ('Etecycle2fin') -- or "12:00 local now = os.date("%H:%M") local inplagecycleC = false if (to < from) then inplagecycleC = (now >= from) or (now <= to) else inplagecycleC = (now >= from) and (now <= to) end return inplagecycleC end --AUTO-- -- allumage de la filtration si filtration eteinte, fonction Ete et dans la plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],0},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return timecycleC() end}}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) -- extinction de la filtration si filtration allumée dans en dehors plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],1},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return not timecycleC() end}}, 1*60, "" , {"turnOff",id["FILTRATION_PISCINE"]}) ------------------------------------------------------------------------------ Modifié le 19 avril 2020 par flamalex 1
flamalex Posté(e) le 19 avril 2020 Signaler Posté(e) le 19 avril 2020 (modifié) je me reponds, en fait il faut décliner les " Function" sur la même ligne, ici l'extinction --extinction de la filtration si filtration allumée dans en dehors (des) plage(s) horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],1},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return not timecycleA() end},{"Function", function() return not timecycleB() end}}, 1*60, "" , {"turnOff",id["FILTRATION_PISCINE"]}) Modifié le 19 avril 2020 par flamalex 1
971jmd Posté(e) le 19 avril 2020 Signaler Posté(e) le 19 avril 2020 salut à tous j'ai un petit question, est-il possible d'envoyer la valeur une variable global par mail ?
971jmd Posté(e) le 20 avril 2020 Signaler Posté(e) le 20 avril 2020 (modifié) Le 19/04/2020 à 03:07, flamalex a dit : Hello, question Function, Si on appelle plusieurs Function ("Function") doivent elles être déclinées sous différent nom? ci dessous, extrait GEA, j'ai plusieurs cycles, seulement la pompe filtration s'allume bien, puis s’arrête, puis redémarre, exemple en début de cycle1 et après 1 à 2 min elle s’arrête puis 1 à 2 min après redémarre... et fera ça pendant tout le cycle1 --Eté Cycle 1 local PISCINEAUTO = {"Global","Mode_Piscine","AUTO"} -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleB() local from = fibaro:getGlobalValue('Etecycle1debut') -- or "4:00" local to = fibaro:getGlobalValue ('Etecycle1fin') -- or "7:00 local now = os.date("%H:%M") local inplagecycleB = false if (to < from) then inplagecycleB = (now >= from) or (now <= to) else inplagecycleB = (now >= from) and (now <= to) end return inplagecycleB end --AUTO-- -- allumage de la filtration si filtration eteinte, fonction Ete et dans la plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],0},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return timecycleB() end}}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) -- extinction de la filtration si filtration allumée dans en dehors plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],1},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return not timecycleB() end}}, 1*60, "" , {"turnOff",id["FILTRATION_PISCINE"]}) ------------------------------------------------------------------------------ --Eté Cycle 2 local PISCINEAUTO = {"Global","Mode_Piscine","AUTO"} -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleC() local from = fibaro:getGlobalValue('Etecycle2debut') -- or "11:00" local to = fibaro:getGlobalValue ('Etecycle2fin') -- or "12:00 local now = os.date("%H:%M") local inplagecycleC = false if (to < from) then inplagecycleC = (now >= from) or (now <= to) else inplagecycleC = (now >= from) and (now <= to) end return inplagecycleC end --AUTO-- -- allumage de la filtration si filtration eteinte, fonction Ete et dans la plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],0},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return timecycleC() end}}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) -- extinction de la filtration si filtration allumée dans en dehors plage horaire du VD , depuis 1 min GEA.add ({{"Value",id["FILTRATION_PISCINE"],1},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return not timecycleC() end}}, 1*60, "" , {"turnOff",id["FILTRATION_PISCINE"]}) ------------------------------------------------------------------------------ Salut @flamalex je début en LUA et j'ai vu ton code intégrée à GEA et je souhaite de l'aide si vous le souhaitée , pour comprendre comment fonctionne une FONCTION dans GEA mai avant tout chose je souhaite comprendre son fonctionnement dans un émulateur LUA, j'ai transformer les variable local from, to, now en nombre. mai je ne sais pas comment placer un PRINT pour voir le résultat ou les résultats ce que je comprend est les variables local from, to, now sont les arguments merci d'avance -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleC() local from = 100 local to = 10 local now = 1 print("total2 = "..inplagecycleC) local inplagecycleC = false if (to < from) then inplagecycleC = (now >= from) or (now <= to) else inplagecycleC = (now >= from) and (now <= to) end return inplagecycleC end GEA.add ({{"Value",id["FILTRATION_PISCINE"],0},{"Global", "Fonction", "Eté"}, PISCINEAUTO,{"Function", function() return timecycleC() end}}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) GEA.add (si value filtration_piscine =1 , si Global Fonction = Eté, si global PISCINEAUTO= auto ,si "Function" ???????? }}, 1*60, "" , {"turnOn",id["FILTRATION_PISCINE"]}) Modifié le 20 avril 2020 par 971jmd
flamalex Posté(e) le 20 avril 2020 Signaler Posté(e) le 20 avril 2020 Salut @971jmd je suis pire que débutant en LUA , tu ne pouvais pas tomber sur pire la fonction est un bout de code LUA intergrer dans GEA, Steven me l'avait communiqué pour me sortir d'une impasse, je l'ai ensuite adapté à d'autres scéne, toujours dans GEA quelqu'un te viendra en aide par contre je pense qu'il faut que tu ouvres un sujet spécifique "FUNCTION LUA" perso ça m'intéresse car bientôt je vais gérer des valeurs type PH et REDOX dans la fonction, à la place de timecycle, il me faudra alors voir l’évolution du code 1
971jmd Posté(e) le 20 avril 2020 Signaler Posté(e) le 20 avril 2020 (modifié) après des recherche sur le net j'ai compris comment fonctionne le code --- value id33e est superieur à 50 et que la function est = true alors ..... GEA.add ({{"Value+",33, 50}, {"Function", function() return timecycleB() end}}, -1, "" , {..... -- fonction pour recup les heures de debut cycle et fin cycle du VD function timecycleB() local de = "14:00" -- or "4:00" local a = "15:00" -- or "7:00 local heure_actuel = os.date("%H:%M") local inplagecycleB = false if (a > de) then ----- si 15:00 est superieur à 14:00 inplagecycleB = (heure_actuel >= de) or (heure_actuel <= a) ---heure_actuel >= 14:00 ou heure_actuel <= 14:00 ---else ---- inplagecycleB = (heure_actuel >= de) and (heure_actuel <= a) end return inplagecycleB end GEA.add ({{"Value+",33, 50}, {"Function", function() return timecycleB() end}}, -1, "" , {..... Modifié le 20 avril 2020 par 971jmd
flamalex Posté(e) le 20 avril 2020 Signaler Posté(e) le 20 avril 2020 je n'avais probablement pas compris ta question , ça ne concernait pas l’insertion du "print" pour suivre l’évolution? pcq la, je ne vois pas ou tu l’intègres mais bon! le principe est que tu t'y retrouves
971jmd Posté(e) le 20 avril 2020 Signaler Posté(e) le 20 avril 2020 l’insertion du "print" été juste pour comprend le principe de fonctionnement du code.
minaetdave Posté(e) le 21 avril 2020 Signaler Posté(e) le 21 avril 2020 Salut, Cela fait 2 fois que je me retrouve avec mon GEA qui plante... Voici le message que j'avais ce jour
flamalex Posté(e) le 21 avril 2020 Signaler Posté(e) le 21 avril 2020 tu devais avoir un trigger sur la variable jour/nuit, que tu as supprimé du code, as tu supprimé de l’entete? si oui, save, quittes et reboot la hc2 pour voir.
minaetdave Posté(e) le 21 avril 2020 Signaler Posté(e) le 21 avril 2020 (modifié) Je fais de suite... Modifié le 21 avril 2020 par minaetdave
minaetdave Posté(e) le 21 avril 2020 Signaler Posté(e) le 21 avril 2020 Oui il me semble avoir supprimé cette variable de l'entête suite à un essai que j'avais fait. Je fais un reboot de suite et je vais surveiller... Merci
Messages recommandés