speedoxx007 Posté(e) le 19 décembre 2016 Signaler Posté(e) le 19 décembre 2016 Hello J'ai fait une scène bloc, pour gérer la pompe de la piscine le matin tôt. J'aimerai que la scène vérifie toutes les heures entre 3h et 10 du matin la température d'eau. Si l'eau est en dessus de 3° que la pompe de la piscine fonctionne pendant 30min. Mais la pompe tourne que 3min. et ensuite j'ai trop d'instances... Que est-ce que je fait faut? Merci pour vos aides. Salutations speedoxx007
jojo Posté(e) le 19 décembre 2016 Signaler Posté(e) le 19 décembre 2016 au-dessus de cet écran tu as une liste de trigger (qui lancent la scène) et tu as la température de l'eau. Il faut décocher. Car tu veux que ta scène fasse la vérification toutes les heures entre 3h000 et 10h 1
speedoxx007 Posté(e) le 20 décembre 2016 Auteur Signaler Posté(e) le 20 décembre 2016 Merci @jojo ça fonctionne bien maintenant :-)
speedoxx007 Posté(e) le 20 décembre 2016 Auteur Signaler Posté(e) le 20 décembre 2016 Euh non je me suis rejoui trop vite. Maintenant la pompe tourne à chaque heure de 3h à 10h que pendant 3min au lieu de 30min. :-( Et j'ai bien supprimé la coche sur le Trigger en haut de la liste des Triggers. Bizarre...
jojo Posté(e) le 20 décembre 2016 Signaler Posté(e) le 20 décembre 2016 remet des copies d'écran de tous les onglets de ta scène
speedoxx007 Posté(e) le 20 décembre 2016 Auteur Signaler Posté(e) le 20 décembre 2016 Voici les deux onglets.
jojo Posté(e) le 20 décembre 2016 Signaler Posté(e) le 20 décembre 2016 au niveau de la scène tout semble ok, bien que je ne soit pas un spécialiste du mode bloc. Quel le le type de modulue qui correspond à Pompe Piscine ? Je me demane s'il n'y aurait pas un paramètre au niveau du module qui ferait un auto-off après 3 min. Tu peux encore faire 2 tests : 1) mettre le module Pompe Piscine à On manuellement, et voir s'il rest allumé plus de 3 min 2) démarrer la scènne manuellement et voir si la pompe s'arrête après 1800s (démarrer une scène manuellement, exécute directement les instructions après le Then (ne tien pas compte des conditions)
speedoxx007 Posté(e) le 20 décembre 2016 Auteur Signaler Posté(e) le 20 décembre 2016 C'est un Qubino Flush 1 Relay. Et il n'a pas de Auto-Off programmé. J'ai fait les 2 tests: 1) Id 85 qui est Pompe piscine manuellement ON tourne plus que 3 min. 2) Je lancé la scène manuellement et la pompe tourne plus de 3 min. En code LUA ça donne ceci: --[[ %% autostart %% properties %% weather %% events %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); function tempFunc() local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "03", "00")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "10", "00"))) and (math.floor(os.time()/60)-math.floor(1482112800/60))%60 == 0 ) and ( tonumber(fibaro:getValue(86, "value")) < 3 ) ) then fibaro:call(85, "turnOn"); setTimeout(function() fibaro:call(85, "turnOff"); end, 1800000) end setTimeout(tempFunc, 60*1000) end if (sourceTrigger["type"] == "autostart") then tempFunc() else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "03", "00")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "10", "00"))) ) and ( tonumber(fibaro:getValue(86, "value")) < 3 ) or startSource["type"] == "other" ) then fibaro:call(85, "turnOn"); setTimeout(function() fibaro:call(85, "turnOff"); end, 1800000) end end
jojo Posté(e) le 20 décembre 2016 Signaler Posté(e) le 20 décembre 2016 c'est à ni rien comprendre : tes tests sont ok et l code semble bon également. Es-tu sûr que tu n'as pas une autre scène qui arrêterait ta pompe après 3 min ?
speedoxx007 Posté(e) le 20 décembre 2016 Auteur Signaler Posté(e) le 20 décembre 2016 Hello Je utilise le Virtual Device pour la Filtration Piscine Mais le matin tôt ce VD n'agit pas tant que l'eau n'est pas prêts des 0 degrés qui ferait tourner la pompe pendant 24h. Avec ma scène antigel j'aimerai éviter que l'eau gèle dans le circuit de la piscine qui fait quand-même env. 30m aller et retour. La j'ai redémarré la box et je verrais demain matin comment ça va. Merci pour ton aide @jojo
speedoxx007 Posté(e) le 21 décembre 2016 Auteur Signaler Posté(e) le 21 décembre 2016 Hello @jojo J'ai fait un test ce matin. J'ai vite modifié la température à 4°. Donc à 8h ce matin l'eau étais à 3.6°. A 8h la pompe à été démarré et elle c'est arrété quand la température étais déjà en dessus des 4°, donc 3 - 4 min, après l'enclenchement. Mais je pense que ma scénen prend en priorité la température et non le temps d'enchlechement de 30min. Comment modifié le script LUA pour que ça fonctionne? Salutations speedoxx007
jojo Posté(e) le 21 décembre 2016 Signaler Posté(e) le 21 décembre 2016 normalement, ton scénario est ok. Il tourne toutes les hures, mais il devrait démarrer la pompe que si elle est arr^tée. Don dans la condition de température, je rajouterais la condition que la pompe soit arrêtée. Sinon ton scénario est ok, et je ne vois pas pourquoi la pompe s'arrête sinon à cause du VD ? Déactive-le pour voir.
speedoxx007 Posté(e) le 22 décembre 2016 Auteur Signaler Posté(e) le 22 décembre 2016 Alors j'ai fait quelque Tests. C'est le VD qui arrète la pompe. Car j'ai désactivé le VD et le pompe tourne vraiment 30min. Il faut que je cherche ailleurs... ;-)
jojo Posté(e) le 22 décembre 2016 Signaler Posté(e) le 22 décembre 2016 ok, "bonne" nouvelle. Rajoute tout de même le test dans ta scène sur le fonctionnement de la pompe
speedoxx007 Posté(e) le 22 décembre 2016 Auteur Signaler Posté(e) le 22 décembre 2016 J'ai modifié le Script LUA. J'utilise maintenant les boutons du Virtual Device : Gestionnaire Filtration Piscine "choc+1h" pour démarrer la pompe et "stop choc" pour arrèter la pompe de la piscine. Voici le code: --[[ %% autostart %% properties %% weather %% events %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); function tempFunc() local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "03", "00")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "09", "00"))) and (math.floor(os.time()/60)-math.floor(1482285600/60))%60 == 0 ) and ( tonumber(fibaro:getValue(86, "value")) < 3 ) ) then -- Appel Button VD "choc 1h" fibaro:call(79, "pressButton", "5"); setTimeout(function() -- Appel Buton VD "stop choc" fibaro:call(79, "pressButton", "7"); end, 1800000) end setTimeout(tempFunc, 60*1000) end if (sourceTrigger["type"] == "autostart") then tempFunc() else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "03", "00")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "09", "00"))) ) and ( tonumber(fibaro:getValue(86, "value")) < 3 ) or startSource["type"] == "other" ) then -- Appel Button VD "choc 1h" fibaro:call(79, "pressButton", "5"); setTimeout(function() -- Appel Buton VD "stop choc" fibaro:call(79, "pressButton", "7"); end, 1800000) end end Je verrais demain matin si ça fonctionne :-)
Invité chris6783 Posté(e) le 22 décembre 2016 Signaler Posté(e) le 22 décembre 2016 Je n'ai plus de box pour tester mais si tu modifies la courbe des cycles autour de zéro le VD va lancer la pompe tout seul. Essaye de mettre un point à zéro degré dans le tableau définissant la courbe. Le vd ne gère que sa plage de température mais si tu mets un point à zéro il va gérer depuis ce pointEn plaçant un point à 0 un autre a 4 et un à 5 pour revenir à l'hivernage normal le VD va contrôler la pompe sans script additionel
speedoxx007 Posté(e) le 23 décembre 2016 Auteur Signaler Posté(e) le 23 décembre 2016 Salut @chris6783 Oui j'ai fait cette courbe de cycles: local cycleLayout = {} cycleLayout[-6]=6 cycleLayout[-1]=6 cycleLayout[0]=6 cycleLayout[1]=5 cycleLayout[4]=3 cycleLayout[6]=1 cycleLayout[8]=0.2 cycleLayout[10]=0.5 cycleLayout[14]=1.2 cycleLayout[19]=1.4 cycleLayout[23]=1.8 cycleLayout[25]=2.8 cycleLayout[26]=3.8 cycleLayout[27]=4.5 cycleLayout[28]=5.2 cycleLayout[30]=6 Mais l'eau dans le Bassin à toujours chez moi pour le Moment environ 4°. Mais dans le circuit la température baisse de 1° à 2°. Mon groupe de Filtration ce trouve dans une cabane de jardin (mal isolé). Et c'est la que j'ai le capteur de température. Comme dans ton VD la mesure ce fait autour de midi avec la filtration en marche donc env. 4° de l'eau en mouvement depuis le bassin. Biensure on porrait tricher avec le Slider de ton VD, mais voila. Mon script auxiliaire fonctionne bien. salutations speedoxx007
Invité chris6783 Posté(e) le 23 décembre 2016 Signaler Posté(e) le 23 décembre 2016 Ah ok j'avais pas bien lu ton problème. Oui dans ce cas tu as la bonne approche tu peux même désactiver le VD et tout déléguer à ton script pendant la période hivernage. Sinon une évolution du VD permettrait de faire un mode hivernage qui ferait tourner X minutes toutes les Y minutesEnvoyé de mon SM-G850F en utilisant Tapatalk
Messages recommandés