sebcbien Posté(e) le 3 octobre 2015 Signaler Posté(e) le 3 octobre 2015 si maintenant ça marche nickel c'est une consolation. On aura au moins créé une version pour l'oeil qui fonctionne. Je pense que la meilleure version est celle-ci: -- Si déjà Allumé, Re-Allumage à 65% dès que détection mouvement sauf si module déjà a + de 64% (économie Z-Wave) GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}}) -- Après 10min on dimme la lampe à 34% si pas de mouvement local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 5*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}}) -- Après 3 min on met la lampe à 65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"}) -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) Confirme moi que ça fonctionne bien, avec le dim et alors l'humanité aura fait un pas de géant. (Buzz l'éclair) 1
soulac Posté(e) le 3 octobre 2015 Signaler Posté(e) le 3 octobre 2015 @sebcbien j'ai copié ton code puis coller dans mon GEA mais erreur ligne 9 donc j'ai modifié comme ceci : -- Si déjà Allumé, Re-Allumage à 65% dès que détection mouvement sauf si module déjà a + de 64% (économie Z-Wave) GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}}) -- Après 10min on dimme la lampe à 34% si pas de mouvement local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 5*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}}) -- Après 3 min on met la lampe à 65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"}) -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) Bon j'ai pas d'erreur dans le débug, je reçoit bien toute les 30s les Push la lampe ce dim à 34% après 5 mn puis s'éteint . Je suis pas chez moi, je teste demain pour vous confirmer que sa marche.
soulac Posté(e) le 4 octobre 2015 Signaler Posté(e) le 4 octobre 2015 @Sebcbien donc je viens de copier coller ton code mais j'ai une erreur sur les ligne 9 et 11 . Donc j'ai procédé au modification qui donne ceci : -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}}) -- Relance des tâches en cas de détection si la lampe est allumée (économise GEA) GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) Je reçois bien les push toute les 30s je suis en phase de test en ce qui concerne l'incrémentation du temps pendant la periode ou je suis dans la cuisine et donc que mes spots reste allumé à 65% Je vous tiens au courant.
sebcbien Posté(e) le 4 octobre 2015 Signaler Posté(e) le 4 octobre 2015 effectivement il manquait une accolade
soulac Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 bonjour messieurs Après 4 jours de testes voici mes remarques. Cas 1: J'allume mes spots de ma cuisine manuellement je pars, au bout de 5 mn mes spots dim à 34%, je reviens mes spots se ré-allume à 64%. Puis je repars 5 mn, dim 34% puis s’éteint. Cas 2 : J'allume mes spots de ma cuisine manuellement, je reste dans ma cuisine dès fois les spots reste allumé plus de 5 mn (fonctionnement normal puisque je suis toujours dans ma cuisine) et des fois les spots dim à 34 % je bouge dans ma cuisine mon détecteur me voix mes pas de ré-allumage les spots s'éteint au bout de 3mn. Pour ce cas la j'ai l'impression que si je pars de ma cuisine le détecteur ne capte rien puis je reviens et la sa ce rallume. Je ne sais pas comment vous expliquer, j'ai l'impression que l’Å“il de fibaro ne repasse pas à 0 . Je m'explique : Visuellement l’Å“il me détecte tout le temps quand je suis dans ma cuisine que je reste ou que je pars . J'ai l'impression que quand je reste dans ma cuisine il voit les mouvements mais comme il y a toujours des mouvements il ne change pas d'état si on peut dire comme sa. Si il n'y a pas de mouvement pendant x temps alors changement d'état puis mouvement je rechange d'état. Je sais je ne suis pas très clair . SI vous avez des idées je suis preneur.
Lazer Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 Absolument, il faut que tu réduises le paramètre 6 du FGMS "MOTION ALARM CANCELLATION DELAY"
soulac Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 ok Lazer donc àce jour mon paramètre 6 est à30s donc si je comprend bien je dois le mettre entre 0 et 30s ?
Lazer Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 Regarde dans la doc, je ne l'ai plus sous les yeux, mais cette valeur ne doit pas descendre en dessous d'un autre paramètre. Perso je crois que je suis descendu à15s sur mes capteurs.
pepite Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 Salut Soulac, va voir le forum du fgms ;-) tu vas trouver ce qui t'interesse ;-) n'est ce pas le parametre du blind ?
soulac Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 Ok messieurs je vais regarder et je vous tiens au courant
samhuin Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 Salut, Pour pouvoir palier a un problème de reconnaissance de certain module sur Imperihome, je rentre les valeurs "power" de certains modules dans des variables. Jusque la aucune problème ça marche très bien, mais dans GEA impossible de le planifier. quand je fait la save le script s’exécute bien, mais pas toutes les 5 minutes comme je voudrais. Voici les lignes en question: GEA.add( true , 5*60, "", { fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')), fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')) }) Auriez vous une idée du problème par hasard? Merci par avance
HANSOLO Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 Un repeat dans les options devrait résoudre ton problème
samhuin Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 Meme resultat GEA.add( true , 5*60, "", { fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power'),"Repeat"), fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power'),"Repeat"), })
Lazer Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 il est mal placé ton REPEAT : Essaye : GEA.add( true, 5*60, "", { fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')), fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')), {"Repeat"} })
samhuin Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 J'avais essayé comme ça dans un premier temps mais j'ai une erreure 1;31m2015-10-10 21:27:27.022628 [ fatal] Runtime error: /opt/fibaro/scenes/156.lua:239: attempt to index field '?' (a nil value)[0m
Lazer Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 ah moi ce qui me gène c'est le fibaro:getValue dans un fibaro:setValue essaye de décomposer les étapes, en passant par des variables, sur plusieurs lignes. ensuite, petit à petit tu essaye de fusionner les lignes comme tu as fait..... principe général en programmation
samhuin Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 C'est bien ce que j'avais fait au début(avant de factoriser le code) mais comme ça marché en lancement instantané. Si je met la ligne dans une scène que j’exécute toutes les 5mintes ça marche par exemple. Scene : --[[ %% properties %% globals --]] fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')) fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')) GEA: GEA.add( true , 1*60, "", { {"Scenario", 186} }) d'ou l'idée d'integrer la ligne directement dans GEA
Lazer Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 hey mais j'avais pas fait attention.... GEA ne prend pas les commande lua standard, il a son propre interpréteur de commande. Je t'invite àrelire la doc de GEA pour voir la syntaxe des fonctions àutiliser pour lire et écrire une variable.
HANSOLO Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 GEA.add( true, 5*60, "", { {"Function", function() fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')), fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')) end}, {"Repeat"} })
jojo Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 SANS garantie, àessayer : GEA.add({"Value!", 70, 0}, 5*60, "", {{"Global", "CONSO_GLOBAL", #value#}, {"Repeat"}}) peut-être qu'il faut des " autour de #value# puis idem pour le 71
HANSOLO Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 @jojo je mettrais {"Value+", 70, 0} sinon la condition ne sera pas souvent àtrue donc la commande ne se déclenchera pas.
jojo Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 avec "Value!" c'est si la valeur et différente de 0, donc cela devrait être le même que toi
samhuin Posté(e) le 11 octobre 2015 Signaler Posté(e) le 11 octobre 2015 Merci a tous pour vos réponses, du coup j'ai testé ce qu vous m'aviez donné. HANSOLO j'ai exactement la même erreur nil value Par contre la solution de jojo fonctionne :-) avec " GEA.add({"Value!", 70, 0}, 5*60, "", {{"Global", "CONSO_GLOBAL", "#value#"}, {"Repeat"}}) J'arrive du coup à refaire des jauges de consommation sur Imperihome sur les périphériques qui ne remonte pas Encore merci à tous
jojo Posté(e) le 11 octobre 2015 Signaler Posté(e) le 11 octobre 2015 c'est MAITRE Steven qu'il faut remercier d'avoir inclus cela dans son interpréter, je n'y croyais pas, il a TOUT prévu
Messages recommandés