Bono2007 Posté(e) le 12 octobre 2016 Signaler Posté(e) le 12 octobre 2016 Bonsoir, actuellement j'ai des têtes Hemeier électrothermiques, commandées par la Fibaro. Voilà une partie de mon code : Ici on prend la température de consigne ( en fcn de l'heure, vacances, gardes...) -- chParent local TParent=15; if (vacances and garde) then day="sunday";end; if (hour>0000 and hour<0700) then TParent=19;end; if (hour>2100 and hour<2300) then TParent=19.5;end; if (day=="saturday" or day=="sunday") then if (hour<0910) then TParent=19;end;end chParent.TPConsigne=TParent Plus loin, appel de la fonction Hemeier(chParent,0.3) La fonction Hemeier : prends la température réelle de la pièce ( 2 sondes, 1 en rfxcom via jeedom, passerelle et 1 en fgbs-001 + ds18b20 Si TP>TConsigne, la vanne est off, sinon vanne ouverte En complément, demande de chauffage mise à vrai function Hemeier(varName,h) if max(varName.TPZ,varName.TPJ) >=varName.TPConsigne-h then varName.maCommande="turnOff" else varName.maCommande="turnOn";demande=true;end if (demande) then fibaro:debug("demande ok") else fibaro:debug("demande off");end fibaro:call(varName.idFGS, varName.maCommande) end Suit un système bout de ficelle, mais obligatoire chez moi, la chaudière ayant un protocole eBus propriétaire et n'ayant pas d'entrée pour contact sec : Cette commande me permet d'utiliser mon Netatmo comme contact, et lance la chaudière si demande. if (demande) then ifttt("Netatmo22") else ifttt("NetatmoProgram");end; Globalement tout fonctionne bien, mais j'ai des bugs et des pb d'optimisation. Hier par exemple, ma chaudière a fonctionné plusieurs heures car la température d'une pièce où personne ne va était inférieure à la TP de consigne, mais ne montait pas, donc toujours en demande... Je cherche de l'aide, ne serait-ce que pour optimiser le code, voir si je peux fonctionner en pseudo-PID pour stopper par exemple la chaudière avant que la TConsigne soit atteinte ( ma tentative avec le h de la fonction Hemeier ) Toutes les idées sont bienvenues. Merci
pepite Posté(e) le 14 octobre 2016 Signaler Posté(e) le 14 octobre 2016 Salut, Tu as une scène par zone ? En fait la "demande" qui est restée est celle du dressing de Madame ? Peut-etre rajouter un test sur la duree de la demande ou/et sur la temperature ? et tu repasses ton varNme.commande à turnOff qqch comme ceci peut-etre, ce qui te permettrait si cela ne chauffe pas d'eteindre ta chaudiere local duree=x; demande=true; dureedemande=os.time(); if dureedemande > duree then if max(varName.TPZ,varName.TPJ) <=varName.TPConsigne-h then varName.maCommande="turnOff" end fibaro:call(varName.idFGS, varName.maCommande) end
Nico Posté(e) le 14 octobre 2016 Signaler Posté(e) le 14 octobre 2016 Mais la vraie question : Pourquoi la température n'est pas montée dans cette zone ? Il vaut mieux régler le souci àla source que de mettre des rustines...
Bono2007 Posté(e) le 15 octobre 2016 Auteur Signaler Posté(e) le 15 octobre 2016 @Nico : pb de wifi, si le wifi se coupe ( ça arrive rarement mais ça arrive ). @pepite : je vais étudier la question, pour l'instant j'arrive àne pas trop déclencher avec mon poële...
pepite Posté(e) le 15 octobre 2016 Signaler Posté(e) le 15 octobre 2016 si c'est du au wifi, tu ne peux pas ameliorer le signal ? Sinon, vive la buche lol Pour eviter tu vas vraiment etre obligee de faire un test quel qu'il soit pour arreter la chauffe
Bono2007 Posté(e) le 16 octobre 2016 Auteur Signaler Posté(e) le 16 octobre 2016 Non, c'est pas un pb de portée, juste un bug aléatoire de la freebox, ça arrive 2 fois l'an. Et du coup mon Netatmo n'enclenche pas.
Messages recommandés