Invité chris6783 Posté(e) le 7 mai 2015 Signaler Posté(e) le 7 mai 2015 voici donc ce premier VD, juste à temps pour la saison L'installation se passe en 2 ou 3 étapes 1) Créer une variable globale nommée "GAP_setup" 2) Configurer les ID de la pompe, du capteur de temperature et ceux des icones (voir mon message plus haut pour une proposition d'icones) pour cela il y a une section configuration au début de la main loop -- ############################################################### -- ##################### DEBUT CONFIGURATION ##################### -- ############################################################### -- numero des icones local icons = {} icons["AUTO_ON"] = 1009 icons["AUTO_OFF"] = 1010 icons["AUTO"] = 1011 icons["MANU_ON"] = 1013 icons["MANU_OFF"] = 1012 -- ID du module controlant la pompe local id_pompe = 42 -- ID du capteur mesurant la température de l'eau local id_temperature = 91 -- ############################################################# -- ##################### FIN CONFIGURATION ##################### -- ############################################################# 3) Vous pouvez optionellement customiser votre courbe de température / cycles Par defaut elle est réglée avec une durée de cycle de 4h et suivant les moyennes trouvées sur le net. par contre le courbe DOIT couvrir la plage des températures possibles, par exemple si votre courbe plafonne à 35 degrés, au-dela le mode auto va calculer une temps de filtration égal à zéro. Cette customization est possible dans le code du bouton "calculer cycle", tout au début -- ############################################################### -- ##################### DEBUT CONFIGURATION ##################### -- ############################################################### -- volume bassin / debit filtration = durée en heure local dureeCycle = 4.0 -- courbe de filtration -- les clées sont des degrés celcius, -- Les valeurs le nombre de cycles (filtration du volume complet) local cycleLayout = {} cycleLayout[0]=0.1 cycleLayout[1]=0.2 cycleLayout[8]=0.2 cycleLayout[10]=0.25 cycleLayout[14]=0.5 cycleLayout[19]=1 cycleLayout[23]=2 cycleLayout[25]=3 cycleLayout[26]=3.5 cycleLayout[30]=4 cycleLayout[35]=4 -- ############################################################### -- ##################### FIN CONFIGURATION ##################### -- ############################################################### C'est tout... ne reste plus qu'à allumer le BBQ et lézarder Au démarrage le VD va passer en mode auto, relever la température et faire un premier calcul, par la suite le calcul sera refait après la fin du cycle journalier (mais pas forcement tout de suite) et la capture de la température de référence se fait peu après midi. C'est un premier VD, tout commentaire/critique (constructif ) est le bienvenu. Je t'acherai de fournir du support mais ne garanti pas le temp de réponse. PS : je tourne en 3.591 et n'ai pas testé en 4.X mais le VD n'utilise pas d'API complexe ou modifiée à priori. Gestionnaire_Piscine.vfib
pinou Posté(e) le 8 mai 2015 Signaler Posté(e) le 8 mai 2015 Salut Chris6783 et merci pour ce partage. J'ai regardé par curiosité ton module qui semble bien "chiadé". Je te remonte quelques petits soucis que je viens de voir dans le main loop : 1) J'ai remplacé l'ID en dur de ton VD par la variable que tu avais déjà initialisé d'ailleurs dans le code (juste après le bloc de configuration) : local ID_VD = fibaro:getSelfId() local ajustement = fibaro:get(ID_VD, "ui.labelAdjust.value") 2) Ensuite j'ai une erreur d'execution. Alors je ne suis pas du tout expert code lua, mais je ne pense pas que ce soit lié a une différence de version entre la v3.x et v4.x. Alors j'ai créé la variable globale, et je ne sais pas si c'est le cas chez tout le monde mais cette dernière prend la valeur 0 par défaut. Peut être que je m'y suis pris comme un pied ? Du coup, à la ligne 43/44, lorsque tu initialises pour la première fois ton conteneur pour la config, sa plante car tu essayes d'accéder a un tableau alors que la variable contient un entier. Bref, j'ai bidouillé rapidement un truc pour contourner la chose : -- preparer un conteneur pour la config if ((tonumber(cycles) ~= nil) or (cycles["config"] == nil )) then local newConfig = {} cycles = {} cycles["config"] = newConfig end En fait on prepare le conteneur par défaut de la config si cycles est un nombre (c'est mon cas a la con de la valeur 0 stockée) ou si un conteneur existe déjà mais est vide (ton test initial). J'écrase alors cycles par un tableau vide avant d'initialiser l'élément du tableau qui va bien. Voilà pour l'instant ce que j'ai vu, si des experts lua ont une solution moins bourrine, j'aimerai bien avoir leurs avis histoire de me coucher moins con demain soir En tout cas, encore bravo pour ton module !
Invité chris6783 Posté(e) le 8 mai 2015 Signaler Posté(e) le 8 mai 2015 Merci pour ce retour complet. c'est en effet une mise en place de zéro qui révèle des trucs pas bien testé. J'aurai du recharger un import du VD après destruction de la Variable globale. Au lieu de ça j'ai été me baigner ! FAINÉANT
Invité chris6783 Posté(e) le 8 mai 2015 Signaler Posté(e) le 8 mai 2015 voici une V1.01 qui fixe les problèmes trouvés et contournés par Pinou. La gestion de la VG qui vaut 0 à été ajoutée à la gestion de la VG qui vaut "NaN" qui existait (ligne 45 de la main loop) et qui gère la cas ou une autre VG est sauvée via le panneau de variable... Ce qui reset certaines VG à "NaN" ???????? Gestionnaire_Piscine.vfib
kioneoranga Posté(e) le 10 mai 2015 Signaler Posté(e) le 10 mai 2015 Salut @chris6783 afin de customiser la courbe de calcul à mon bassin, tu t'es appuyé sur quel site internet pour la formule et trouver ensuite les références pour remplir le tableau lié au cycle. @tous, Autre question, vous utilisez quoi pour remonter la température de votre piscine vers votre HC2? Capteurs? Éléments divers? Merci de vos conseils.
Nico Posté(e) le 10 mai 2015 Signaler Posté(e) le 10 mai 2015 Excellent Chris, je prendrai l'an prochain quand il y aura la piscine !
pinou Posté(e) le 10 mai 2015 Signaler Posté(e) le 10 mai 2015 @kioneoranga : avant j'utilisais le thermometre de piscine de chez Oregon couplé a ma zibase que j'utilise en mode "gateway" pour les divers protocoles .. mais ça c'était avant. En effet ce capteur n'est pas fiable, de temps en temps il change d'ID tu sais meme pas pourquoi .. bref de la daube qui flotte ! D'ailleurs je ne suis pas certain qu'il soit toujours commercialisé. Bref, maintenant je suis passé par une sonde branchée au qubino qui contrôle le moteur de la pompe de filtration. La sonde est dans un doigt de gant avec collier de prise de charge sur la tuyauterie de la piscine. Y a plus rien qui flotte à la surface, tout est invisible, tout fonctionne bien... nickel quoi !
Invité chris6783 Posté(e) le 10 mai 2015 Signaler Posté(e) le 10 mai 2015 Salut @chris6783 afin de customiser la courbe de calcul àmon bassin, tu t'es appuyé sur quel site internet pour la formule et trouver ensuite les références pour remplir le tableau lié au cycle. . Je n'ai pas gardé de pointeurs vers les sites je notais simplement sur un papier les valeurs lues un peu partout puis j'ai fait une sorte de lissage. J'ai même ajouté un point ou 2 pour éviter un trop grosse ligne droite dans la courbe et valider la fonction de calcul. Le but est vraiment que le VD soit adaptable àchacun. Par exemple on peut filtrer très longtemps autour de zéro pour éviter les dégâts liés au gel... La durée d'un cycle est en général autour de 4h et ensuite on multiplie et on peut vérifier que ça colle àses habitudes de filtration. comme dit au début du tuto, il n'y a pas une stratégie bonne et les autres seraient mauvaises mais il y a pleins d'avis... D'où la courbe flexible. Peut être que je retoucherai ma courbe en cours de saison mais pour le moment elle me convient et l'eau est limpide (certainement plus grâce àmon nouveau filtre que grasse au VD)
speedoxx007 Posté(e) le 2 juin 2016 Signaler Posté(e) le 2 juin 2016 J'ai un capteur de température de Qubino le ZMNHEA1, qui serait étanche. Je pourrai le placer ou dans le circuit d'eau et comment? Merci pour vos conseils. Salutations speedoxx007
Invité chris6783 Posté(e) le 2 juin 2016 Signaler Posté(e) le 2 juin 2016 Le plus fiable serait àmon avis de monter un doigt de gant sur la tuyauterie dans le local technique avec un collier de prise de charge. Ensuite tu peux placer la sonde dans le doigt avec de la pate thermique. Bien sûr le relevé n'est fiable que lorsque la pompe tourne
speedoxx007 Posté(e) le 2 juin 2016 Signaler Posté(e) le 2 juin 2016 Oui je vois et je trouve ou par exemple ce doigt de gant avec collier de prise en charge?
Invité chris6783 Posté(e) le 2 juin 2016 Signaler Posté(e) le 2 juin 2016 Chez un pisciniste ou un grossiste en plomberie. Sinon sur le net sans faire de pub car je ne connais pas il y tout chez thermatec-shop.fr
Invité chris6783 Posté(e) le 10 août 2016 Signaler Posté(e) le 10 août 2016 Je poste la version en production du VD avant de retirer la gestion de la piscine de la HC2 et de l'éteindre. Fonctionnellement rien ne change par rapport à celle déjà publiée mais elle résiste mieux à la corruption de sa configuration lorsqu'on sauve une VG voisine et que la HC2 modifie également d'autres variables en les mettant à NaN ou a d'autres valeurs farfelues. Le module tourne depuis 2 saisons maintenant et je ne m'occupe plus du tout des cycles de filtrations été comme hiver. Gestionnaire_Piscine.vfib
kioneoranga Posté(e) le 11 août 2016 Signaler Posté(e) le 11 août 2016 Salut , Serait il possible de n'avoir que le code LUA ceci éviterait de ré-importer le VD? Pourquoi dis tu avant d'éteindre la HC2?? Tu abandonnes Fibaro ou la domotique???
Invité chris6783 Posté(e) le 11 août 2016 Signaler Posté(e) le 11 août 2016 Je suis en déplacement sans accès àla box pour quelques jours. Pas de problème pour poster le lua àmon retour. Tu devrais aussi pouvoir importer le VD dans un device temporaire et faire les copier coller du code vers ton VD avant de détruire celui importé. Salut En effet je quitte fibaro pour jeedom. Mes 2 HC2 sont a vendre... L'une d'elles est déjàréservée pour un éléphant qui rôde par là☺
ebtjjn Posté(e) le 12 septembre 2016 Signaler Posté(e) le 12 septembre 2016 hello, ma petite participation à ce post est ici... http://www.domotique-fibaro.fr/index.php/topic/8989-domotisation-de-la-piscine/ Il y a plein de choses à redire sur le code et le VD et comme dit, je suis preneur pour améliorer mon code de débutant... (il n'y a pas de section dédiée sur le site?? tutos???) (quand je vois la différence de code entre le mien et ceux de chris et berale... aie aie aie!!!, c'est comme un enfant qui apprend à écrire... ) D'ailleurs j'ai une question : puis-je mettre tout le code la scène dans la main loop du VD ? Ou n'est ce pas une bonne chose ? Faut-il simplifier le code avant??? En fait cela me permettrait de récupérer des infos que je mettrai dans le VD...Exemples : la temp de référence la temp max de la veille le temps restant de filtration en mode auto ou en mode choc ... et d'autres que e n'ai pas encore trouvées !!
speedoxx007 Posté(e) le 16 septembre 2016 Signaler Posté(e) le 16 septembre 2016 Bonjour J'ai une question. Je utilise ce VD depuis le mois de Juillet de cette année et ça fonctionne à la mereveille et je vais faire un hivernage activ. Es-ce que il aurait une possibilité de ajouter une fonction "Danger Gel"? Avec une sonde de température pour l'air Exterieur. P.ex. la température Exterieur est à 0° ou moins que la pompe elle tourne jusqu`à p.ex. 3°. Merci pour vos aides. Salutations Speedoxx007 1
Invité chris6783 Posté(e) le 16 septembre 2016 Signaler Posté(e) le 16 septembre 2016 Merci pour le retour. Techniquement c'est assez simple àajouter et àintégrer àla logique en place. Par contre il faudrait rendre cette fonction et la sonde optionnelle pour garder une branche de code unique..... Genre si aucun id de sonde air n'est fourni tout marche comme maintenant et sinon on applique cette fonction avec un seuil de température air reglable Je n'ai plus de hc2 en ligne pour le faire (elle est toujours àvendre). Je peux cependant la reconnecter si personne ne reprend le flambeau
kioneoranga Posté(e) le 16 septembre 2016 Signaler Posté(e) le 16 septembre 2016 Qui est le.mieux placé pour faire l'update que l'auteur du code Je vote pour 😎😎😎 Envoyé de mon ONE A2003 en utilisant Tapatalk
speedoxx007 Posté(e) le 16 septembre 2016 Signaler Posté(e) le 16 septembre 2016 Ce serai cool @chris6783 si tu pourrai implementer cette fonction optionelle dans le VD. 2
speedoxx007 Posté(e) le 24 septembre 2016 Signaler Posté(e) le 24 septembre 2016 Personne pourrait nous aider a intégrer cette idée dans le VD actuel ? Es-ce que il aurait une possibilité de ajouter une fonction "Danger Gel"? Avec une sonde de température pour l'air Extérieur. P.ex. la température Extérieur est à 0° ou moins que la pompe elle tourne jusqu`à p.ex. 3°. Réponde de chris6783: Techniquement c'est assez simple à ajouter et à intégrer à la logique en place. Par contre il faudrait rendre cette fonction et la sonde optionnelle pour garder une branche de code unique.....Genre si aucun id de sonde air n'est fourni tout marche comme maintenant et sinon on applique cette fonction avec un seuil de température air réglable Salutations Speedoxx007
speedoxx007 Posté(e) le 2 octobre 2016 Signaler Posté(e) le 2 octobre 2016 Hello j'ai une autre idée pour eviter le gel en hivernage active. On pourrait pas avec ce VD si l'eau est à 2° que la filtration commence entre 4 et 6h du matin et si la température de l'eau est plus petit que 2° que la filtration tourne 24h?. Bon pour le 24h c'est simple avec le CycleLayout[?]. Quelque'un porrait nous aider? Salutations Speedoxx007
kioneoranga Posté(e) le 13 octobre 2016 Signaler Posté(e) le 13 octobre 2016 Salut tout le monde en fait àdéfaut d'avoir une modification de code pour tenir compte de la température extérieure, il est possible de modifier le calcul des cycles afin que si la température de l'eau passe en dessous de zéro on augmente le cycle de la pompe de la sorte Donc au de làde 0 cela tourne 24/24, c'est une solution intermédiaire. cycleLayout[-25]=6cycleLayout[-10]=6cycleLayout[-8]=6cycleLayout[-5]=6cycleLayout[-3]=6cycleLayout[-1]=6cycleLayout[0]=1cycleLayout[1]=0.1cycleLayout[8]=0.2cycleLayout[10]=0.25cycleLayout[14]=0.5cycleLayout[19]=1cycleLayout[23]=2cycleLayout[25]=3cycleLayout[26]=3.5cycleLayout[30]=4cycleLayout[35]=5
speedoxx007 Posté(e) le 14 octobre 2016 Signaler Posté(e) le 14 octobre 2016 Hello Je suis d'accord mais l'eau -8 ou est gelée donc je pense que il n'y a pas besoin d'eesayer de faire tourner la pompe à une eau de -25 dègrés . Enfin c'est mon avis.
Messages recommandés