-
Compteur de contenus
819 -
Inscription
-
Dernière visite
-
Jours gagnés
4
Tout ce qui a été posté par flamalex
-
aucune idée sur le problème de script ci dessus? toutes les conditions étant réunies pour Activer Chaudière, celle ci s'active et 30 sec après elle s’arrête et c'est comme ça constamment ??? la scene local id = { CHAUDIERE = 103, ALARME = 54, TEMPERATURE = 49 } -- allumage de la chaudière entre lever et coucher du soleil, si présent et température < 18°C depuis 10 min GEA.add ({id["CHAUDIERE"], id["ALARME"], {"value-", id["TEMPERATURE"], 18}}, 1*60, "Chaudière ON", {{"Inverse"}, {"Time", "06:30", "22:30"}, {"turnOn", id["CHAUDIERE"]}}) -- extinction de la chaudière si température > 20°C depuis 10 min GEA.add ({{"value+", id["TEMPERATURE"], 20}, id["CHAUDIERE"]}, 1*60, "Chaudière OFF car température = #value#", {{"turnOff", id["CHAUDIERE"]}}) -- extinction de la chaudière si le soir GEA.add (id["CHAUDIERE"], 1, "Chaudière OFF car Sunset", {{"Time", "06:30", "22:30"}, {"turnOff", id["CHAUDIERE"]}}) le BUG [DEBUG] 12:24:46: [ 1[DEBUG] 12:28:16: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 10m [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : traitement des actions (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : !ACTION! : turnOn (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : !ACTION! : sendPush Chaudière ON (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] Done : tâche effectuée et suspendue (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : traitement des actions (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : !ACTION! : turnOff (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : !ACTION! : sendPush Chaudière OFF car Sunset (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] Done : tâche effectuée et suspendue (ID: 3) [Time,06:30,22:30] [turnOff,103]
-
DEBUG: [DEBUG] 12:08:16: [ 103 | Chaudiere ] Add Autostart : ajout de la tâche pour 600 secondes (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:08:16: [ Value [49|Sonde baie vitrée] > 20 ] Add Autostart : ajout de la tâche pour 600 secondes (ID: 2) [turnOff,103] [if..] [DEBUG] 12:08:16: [ 103 | Chaudiere ] Add Autostart : ajout de la tâche pour 1 secondes (ID: 3) [Time,06:30,22:30] [turnOff,103] bon, la température est à cette heure ci chez moi de 17.87°, j'ai désactivé l'alarme à distance, j'ai réduit les 10 min à 1 min dans le script et rien ne se passe alors que normalement "Activation chadiere" apparement ça s'active et desactive aussitot [DEBUG] 12:24:46: [ 1[DEBUG] 12:28:16: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 10m [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : traitement des actions (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : !ACTION! : turnOn (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] sendActions : !ACTION! : sendPush Chaudière ON (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:28:46: [ 103 | Chaudiere ] Done : tâche effectuée et suspendue (ID: 1) [inverse] [Time,06:30,22:30] [turnOn,103] [if..] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : traitement des actions (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : !ACTION! : turnOff (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] sendActions : !ACTION! : sendPush Chaudière OFF car Sunset (ID: 3) [Time,06:30,22:30] [turnOff,103] [DEBUG] 12:29:16: [ 103 | Chaudiere ] Done : tâche effectuée et suspendue (ID: 3) [Time,06:30,22:30] [turnOff,103]
-
si a oui, donc a chaque fois je vais recopier le code source ds ma scène? edit: c'est bon ca fonctionne
-
ok, et dans le cas contraire tu ajoutes {"Inverse"} je pense
-
ok pepite sinon pour l'id alarme, on cite id alarme sur la premiere ligne, mais alors comment cela est traduit ? je n'arrive pas a m'exprimer comment la condiition 1 ou 0 est rempli dans mon cas, sachant que mon alarme est active en 0 et desactivée en 1 sur la ligne ...alarme.. vous voyez ce que je veux dire en resumé en LUA on verifie clairement la condition présence (= desactivation d'alarme) et absence (= activation alarme) ici en GEA, sachant que j'ai un probleme avec mon NO/NF de l'alarme comment le voit on? local id = { CHAUDIERE = 103, ALARME = 54, TEMPERATURE = 49 } -- allumage de la chaudière entre lever et coucher du soleil, si présent et température < 18°C depuis 10 min GEA.add ({id["CHAUDIERE"], id["ALARME"], {"value-", id["TEMPERATURE"], 18}}, 10*60, "Chaudière ON", {{"Inverse"}, {"Time", "06:30", "22:30"}, {"turnOn", id["CHAUDIERE"]}}) -- extinction de la chaudière si température > 20°C depuis 10 min GEA.add ({{"value+", id["TEMPERATURE"], 20}, id["CHAUDIERE"]}, 10*60, "Chaudière OFF car température = #value#", {{"turnOff", id["CHAUDIERE"]}}) -- extinction de la chaudière si le soir GEA.add (id["CHAUDIERE"], 1, "Chaudière OFF car Sunset", {{"Time", "06:30", "22:30"}, {"turnOff", id["CHAUDIERE"]}}) il y aurait une erreur en ligne 6 le script GEA est pourtant actif [DEBUG] 11:34:39: [1;31m2015-10-28 11:34:39.280240 [ fatal] Runtime error: /opt/fibaro/scenes/112.lua:5: attempt to index global 'GEA'
-
oui je lis justement mais j ai plein de questions, les crochets les parenthèses ect... je vais tester ton script et comprendre merci pour votre aide et patience je vous tiens informé une derniere question pour ce soir: ce script va s executer constamment? il va controler les conditions constamment
-
ok, je comprends bcp mieux maintenant en fait je raisonne en LUA j essaie de decrire par exemple la premiere ligne en: si alarme =1 et temperature inferieur a 18 et [heure actuelle entre lever et coucher soleil] alors allume chaudiere mais alarme=1 on le trouve ou et pourquoi en debut de ligne [id chaudiere]? "chaudiere on" "inverse", c est pour variable chaudiere non vide?
-
ok, et c'est la aussi que tu déclines "sunrise" , "sunset" ....? dsl, j'essaie de comprendre la "LOGIQUE" du GEA
-
oui, j'avais ca comme exemple: mais c'est pas le bon exemple ndique la liste des portables par défaut devant recevoir une notification {70, 71} GEA.portables = {<id portable> [, <id portable>][, ...]} Exemple : GEA.portables = {70, 71} ok pour les ID ok pour le "entre sunrise et 22h" j'essaie de comprendre le script GEA "entre lever et coucher du soleil" ca se schématise comment sur le script GEA
-
concernant la scene GEA, comment cela se passe t il je dois déclarer la chaudiere = id.... alarme = id.... ect... ? (ok autant pour moi, ca c'est bon) ensuite le sunset sunrise, en ce moment le soleil se couche à17h30, donc quand je vais rentrer chez moi il va cailler toute la soirée (j'habite àlille ) il fait déja pas chaud dans la normale
-
ok, je reviens sur mon FGBS les IN1 et 2 sont en NF, si j'inverse et passe en NO, plus rien ne se passe sur mon changement de statut, j'ai tjr eu ce problème ensuite, j'ai un autre problème, je reçois toujours 2 Notifs push sur le changement d'etat, alors que je devrais en recevoir qu'une je ne trouve pas d'explication ps: mon alarme en PGM ouvre ou ferme un relais sur les IN1 et IN2 du FGBS si Activée ou Désactivée
-
yes pcq pour le moment c'est compliqué le capteur lumiere ne remonte pas l'info aussi souvent que je le souhaiterai bref, on verra plus tard pour mouv et lux
-
scénario idéal: j'ai un capteur de température dans la piece principale (id 49), un retour de statut alarme FGBS-001 (id 54) et un module chaudiere on/off (id 103) je souhaite que lorsque la T°< à 18° et qu'il y a présence humaine (donc sous entendue l'alarme est à l’arrêt) alors allumage chaudiere sauf si c'est la nuit. (à savoir également, même si ce n'est pas le sujet, que pour le retour statut alarme, je ne sais pas pourquoi mais le 0 et le 1 sont inversés, bef si alarme activée =0 si desactivée =1, c'est bête mais je ne trouve pas le paramètre dans le FGBS.) le probleme qui se pose s'est que je cherche a ce que ce soit précis et pas attendre 1h ou 2h apres que je sois rentré, pour que ca démarre la scene, donc le trigger m'a l'air pas mal, sauf qu'il sollicite, soit tjr l’arrêt du module qui est donc tjr en "transfert OK" soit la mise en marche du module, idem "transfert OK", j'ai peur que le module n’apprécie pas et que la HC2 prenne 20 à 40% de ressource toutes les secondes pour pas grand chose enfin, la chaudiere doit s’arrêter, en cas d'absence (statut alarme ON), ou en cas de présence la nuit et aussi le jour si la température est supérieur à 19,5° (19,5, c'est pour l'inertie thermique, entre 19,5 et 18 il y a un battement, et ca évite les démarrages de chaudière trop fréquents)
-
alors si je fais comme cela, la chaudiere va s’arrêter si température de coupe = 19.7 entre l’intervalle de tps "jour" 6h 22h mais alors qu'en va t il arrêter chaudière en dehors de cet intervalle? puis comment ajouter un trigger uniquement sur le 103? --[[ %% autostart %% properties 49 value %% globals --]] local now = tonumber((os.date("%H"))) local heuredebut = 6 local heurefin = 22 fibaro:debug("Il est "..now) if (now > heuredebut and now < heurefin and tonumber(fibaro:getValue(49, "value")) < 18.7 ) and ( tonumber(fibaro:getValue(54, "value")) == 1 ) and ( tonumber(fibaro:getValue(103, "value")) == 0 ) then fibaro:call(103, "turnOn"); else if (now > heuredebut and now < heurefin and tonumber(fibaro:getValue(49, "value")) > 19.5 ) or ( tonumber(fibaro:getValue(54, "value")) == 1 ) and ( tonumber(fibaro:getValue(103, "value")) == 1 ) then fibaro:call(103, "turnOff") end end
-
quel serait le meilleur scénario àvotre avis?
-
ok, j’étudie ça bel exercice et je reviens vers toi merci
-
non non, tu as bien lu, ta scene fonctionne a merveille c'est super, c'est exactement ca. je me demande juste, en voyant que le module est en "transfert permanent", est ce normal ou bon pour le matériel? je pose la question, pcq je viens de lire des choses, est ce que ma scène a une incidence sur une éventuelle surcharge de la hc2 (ici 20 à 30% de CPU toutes les sec), ou une incidence sur autre chose?
-
Salut Yannick, en effet le post de EZ3KIEL est super je testerai prochainement de rien, pour le coup de main, je suis nouveau, et il y a des supers gars qui m'ont aidé je n'ai fait que te communiquer leurs codes qui pour moi fonctionnent, j'ai donc peut être oublié un paramètre. en retour, si tu trouves la solution, tiens nous informé ca peut servir merci àtoi
-
ok, merci, je suis entrain de lire un tuto de Berale24 sur les triggers mais ici dans ma scène, le triggers devrait etre sur le tps Non? pcq il serait intéressant qu'a chaque changement de températures (0.5°) en moyenne toutes les 20mins , il fasse une vérification ? pcq sans cela la HC2 tourne à l'infini Non? ici, si je comprends bien, if (sourceTrigger["type"] == "autostart") then while true do si "démarrage" alors déclenchement mais démarrage de "la scène" donc il faut que je la démarre et après elle tourne à l'infini? je suis désolé avec toutes mes questions je cherche sur forum, mais vous etes tellement expérimenté que le B A BA n'est pas abordé il faudrait un forum "pour les nuls"
-
Bonsoir, a vous il me dit qu'il y a une erreur sur la derniere ligne en rapport avec la ligne 13 --[[ %% autostart %% properties %% globals --]] local now = tonumber((os.date("%H"))) local heuredebut = 6 local heurefin = 22 local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "autostart") then while true do fibaro:debug("Il est "..now) if (now > heuredebut or now < heurefin) --si l'heure est en journée (entre 6 et 22h) and (tonumber(fibaro:getValue(49, "value")) < 18.7) -- T°<18.7° and (tonumber(fibaro:getValue(54, "value")) == 1)-- and contact ouvert then fibaro:call(103, "turnOn") --alors on allume else fibaro:call(103, "turnOff") -- sinon on eteint end end erreur [DEBUG] 20:06:30: [1;31m2015-10-26 20:06:30.172346 [ fatal] Runtime error: /opt/fibaro/scenes/110.lua:25: 'end' expected (to close 'if' at line 12) near [0m j'aimerai comprendre le "sourceTrigger" et "while true do"
-
voici ma scene " Mise en marche de la chaudiere si...." --[[ %% autostart %% properties 49 value %% globals --]] local now = tonumber((os.date("%H"))) local heuredebut = 6 local heurefin = 22 fibaro:debug("Il est "..now) if (now > heuredebut or now < heurefin and tonumber(fibaro:getValue(49, "value")) < 18.7 ) and ( tonumber(fibaro:getValue(54, "value")) == 1 ) then fibaro:call(103, "turnOn"); end la mise en marche de la chaudiere s'effectue entre 6 et 22h si la température est inférieure à 18,7° et si une lumière est allumée seulement voila, le module "103" de la chaudiere va plusieurs fois "clicter" pdt cette tranche horaire tant que la température restera < à 18.7° si je comprends bien, la scene se répete x fois comment faire pour que la scene s’exécute une seule fois jusqu’à la scene suivante qui est une scene d'extinction, en fait l'inverse de celle ci et qui idem va répéter la scène d'extinction de 22h à 6h, cette fois, et va éteindre la chaudière x fois alors que celle ci est déjà éteinte puis en 2eme condition si on est en journée elle stope chaudiere si température superieure à 19,7°? j'ai un autre souci, malgré les conditions réunies pour allumer chaudiere (ou eteindre), ça ne réagit pas de suite, faut il mettre un script de contrôle température toutes les x minutes? et voici la scene "extinction chaudiere si...." --[[ %% autostart %% properties 49 value 109 value 54 value %% globals --]] local now = tonumber((os.date("%H"))) local heuredebut = 23 local heurefin = 6 fibaro:debug("Il est "..now) local startSource = fibaro:getSourceTrigger(); if ((now > heuredebut or now < heurefin) or ( tonumber(fibaro:getValue(49, "value")) >= 19.5 ) or ( tonumber(fibaro:getValue(54, "value")) == 0 )) then fibaro:call(103, "turnOff"); end
-
Salut Yannick, au moment de tes tests vérifies: - les horaires ( de 19 à 7h) - l'ID de tes modules - la luminosité "ici à 10LUX" si tu fais tests >10 Lux, il se passera rien et enfin, regardes mes reglages de FGMS pour une config à 9sec
-
@Pepite, de rien c'est la tienne par contre Pepite, j'ai encore des interrogations en suspens sur mon poste encore merci
-
--[[ %% properties 92 value %% globals --]] local luminosite = tonumber(fibaro:getValue(94, "value")) local mouvement = tonumber(fibaro:getValue(92, "value")) local now = tonumber((os.date("%H"))) local seuilluminosite = 10 local heuredebut = 18 local heurefin = 7 fibaro:debug("Il est "..now) -- test si on est dans la fourchette horaire sinon STOP --if (HeureActuelle > heuredebut or HeureActuelle < heurefin) if (now > heuredebut or now < heurefin)then fibaro:abort(); end local scenenum = fibaro:countScenes(); -- test si première instance de la scène. on allume et stop if (scenenum >= 1 and luminosite < seuilluminosite and mouvement >= 1 ) then fibaro:call(31, "turnOn") fibaro:abort(); end -- ici pour les passages suivants devant le fgms -- après 60sec sans mouvement on éteint setTimeout(function() local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(92, "value") fibaro:debug("Temps écoulé "..os.time() - deviceLastModification0) if (mouvement == 0 and (os.time() - deviceLastModification0) >= 60) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(31, "turnOff") end end,60000) ci dessus, adapté à ton scénario à tester il y a la fonction "setimeout" voici mes parametres FGMS 1 -> 8 2-> 6 3-> 2 impulsions 4-> 12 sec 6-> 4 sec 8-> actif 9->1 Lux 12-> par defaut 14-> 255 16-> 0 20-> 15 ce scénario fonctionnera dans ton cas, car tu es sur 1 minutes pour mon cas c'est pas encore ça (9sec), car le fgms tourne en boucle, au point d’arrêter l’éclairage même lorsque le MOUV=1 jusqu’à ce que la boucle s’arrête (le MOUV passe à 0) puis la scène repart normalement jusqu’à une nouvelle anomalie. ce qui n'est pas normal, j'attends toujours un coup de main la dessus, car mon support n'est toujours pas résolu à cause de cela. voila, j’espère que ça t'aidera, tout comme la communauté la fait et la fait encore pour moi.
-
Salut Pépite, merci pour le lien, mais je ne comprends pas grand chose en résumé, si tu veux 8 sec tu n'es pas obligé de mettre 8000 que dois tu mettre dans mon cas et pourquoi? concernant mon probleme cité plus haut, ne faudrait il pas remettre la "scenenum " à 0 après un cycle ? merci alex