Aller au contenu

Gestion Antigel Piscine hivernage active


Messages recommandés

Posté(e)

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

scene.jpg

Posté(e)

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

  • Upvote 1
Posté(e)

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...

 

 

 

 

Posté(e)

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)

Posté(e)

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
 
Posté(e)

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 ?

Posté(e)

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

Posté(e)

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

Posté(e)

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.

Posté(e)

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... ;-)

 

 

Posté(e)

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)

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 point
En 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

Posté(e)

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)

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 minutes

Envoyé de mon SM-G850F en utilisant Tapatalk

×
×
  • Créer...