Bono2007 49 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Nico 2 170 Signaler ce message Posté(e) 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... Partager ce message Lien à poster Partager sur d’autres sites
Bono2007 49 Signaler ce message Posté(e) 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... Partager ce message Lien à poster Partager sur d’autres sites
Bono2007 49 Signaler ce message Posté(e) 15 octobre 2016 -- Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Bono2007 49 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites