Aller au contenu

Heating & Cooling Manager (PID HC3)


Felig

Messages recommandés

Bonjour Jojo,

 

Non ce n'est pas du tout saugrenu. J'ai les mêmes messages que toi de temps en temps donc je comprends.

 

Ta première suggestion est ajoutée dans le version ci-jointe.

 

Ta deuxième suggestion est un peu compliquée à faire, donc j'ai pris une option plus simple: en cas d'absence de remontée, soit les radiateurs sont éteints, soient ils continuent à chauffer au rythme qui existait avant la perte de remontée. Pour basculer entre ces deux comportements, il faut utiliser l'option HMCF.turnOffNoTemp (à rajouter dans ton fichier config):

 

  HMCF.checkDelayTemp = true      -- warn if temperature has not been updated for some time 
  HMCF.maxDelayTemp   = 8*60      -- max delay between 2 temperature updates (minutes)
  HMCF.turnOffNoTemp  = true      -- turn off heaters if max delay is exceeded

Si HMCF.turnOffNoTemp = false, alors les radiateurs ne s'éteindront plus en cas d'absence de remontée.

 

J'ai aussi augmenté le délai par défaut de 8h à 12h.

 

Je n'ai pas eu le temps de bien tester, donc est-ce que tu peux tester la version jointe sur une pièce pendant quelques semaines stp ?

HCM v520.16.lua

Modifié par Felig
Lien vers le commentaire
Partager sur d’autres sites

Waw quelle réaction rapide.

En fait les radiateurs de ma SdB sont toujours éteints (= mode Eco à 18°C), sauf 45 min par jour (mode confort à 28°C = fonctionne plein pot. Ce n'est pas du PID ...), donc ta proposition ne conviendra pas pour mon utilisation.

Je sais que ma seconde suggestion est plus facile à écrire qu'à programmer.

Comme le mode Confort ou Eco est déterminé par un calendrier Google,  ne pourrait-on pas simplement utiliser le paramètre

HMCF.error.manual = false|true -- false c'est le fonctionnement actuel

et true empêche de basculer sur Off, et permet  de continuer de changer les modes comme s'il n'y avait jamais eu d'erreur.

 

Maintenant, je ne comprends pas ce que tu dis :

Il y a 2 heures, Felig a dit :

HMCF.checkDelayTemp = true -- warn if temperature has not been updated for some time

le fonctionnement actuel, c'est False ?

Comme le radiateur sera éteint (96,8% du temps) il restera donc éteint...

 

Et si je mes ce paramètre à false,  est-ce que le régulateur continuera de répondre aux ordres (comme side rien n'était) ?

Il y a 2 heures, Felig a dit :

HMCF.turnOffNoTemp = true -- turn off heaters if max delay is exceeded

en fait il est paramétrable par ?

Il y a 2 heures, Felig a dit :

HMCF.maxDelayTemp = 8*60 -- max delay between 2 temperature updates (minutes)

 

Il y a 2 heures, Felig a dit :

Je n'ai pas eu le temps de bien tester

Quelles sont les modifs apportées outre le log de ma prmu§re suggestion ? Lesp3 paramètres sont nouveaux ?

Lien vers le commentaire
Partager sur d’autres sites

Ok. J'avais une autre solution en tête qui est plus simple à programmer: le % sera ajusté en fonction du thermostat

- à 17° ou en-dessous le % sera égal à 0

- à 24° ou au-dessus le % sera égal à 100%

C'est simpliste mais c'est mieux que de couper dans ton cas de figure.

 

Pour répondre à tes questions:

HMCF.checkDelayTemp = true -- warn if temperature has not been updated for some time

Si ce paramètre est false, le délai de la dernière remontée ne sera jamais vérifié (pas de warning, pas d'action). Ce n'est pas un nouveau paramètre, il était déjà dans le programme principal.

Le fonctionnement actuel c'est 'true' (valeur par défaut).

HMCF.maxDelayTemp = 12*60 -- max delay between 2 temperature updates (minutes)

Oui c'est pour paramétrer le délai pour les warning et l'action éventuelle. Ce n'est pas un nouveau paramètre, il était déjà dans le programme principal.

J'ai juste modifié la valeur par défaut de 8h à 12h.

HMCF.turnOffNoTemp = true -- turn off heaters if max delay is exceeded

C'est un nouveau paramètre. Si ce paramètre est true, c'est le fonctionnement actuel. Si tu le met à false, on aura le comportement que j'ai décrit ci-dessus (100% à 24°, 86% à 23°, 71% 22°, etc.)

 

J'ai du modifier un peu la structure du programme. Il y a maintenant deux méthodes pour calculer le % d'activité, et le dépassement du délai ne rend plus la température mesurée invalide. C'est pour ça que ça mérite quelques tests.

 

 

HCM v520.16.lua

Modifié par Felig
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Salut,

J'ai enfin trouvé le temps de faire des tests.

Les modifs apportées semblent ok, sauf pour les erreurs.

Voici ma config (j'ai mis un délais de 1 min pour avoir rapidement des résultats)

  HMCF.checkDelayTemp = true      -- warn if temperature has not been updated for some time 
  HMCF.maxDelayTemp   = 1--2*60      -- max delay between 2 temperature updates (minutes)
  HMCF.turnOffNoTemp  = false      -- turn off heaters if max delay is exceeded

dès que j'ai sauvé la config, j'ai reçu ce mail :

[WARNING] Chauf_Bureau_Radiateur : No temp. update since 10m 46s

dans un premier temps, je pensais qu'il s'agissait d'une erreur, mais en fait non, car j'imagine qu'il regarde la propriété "lastChanged" dans le JSON. Et comme eslle  avait changé il y a plus d'1 min => ok :60:

mais quand j'ai repassé le paramètre à 12h, re-warning (ok) mais je message pas ok :

 

[WARNING] Chauf_Bureau_Radiateur : No temp. update since 19m 51s

 

J'aurais bien vu un message comme ça :

[WARNING] Chauf_Bureau_Radiateur : No temp. update since 10m 46s (alert if > HMCF.maxDelayTemp )

et

[WARNING] Chauf_Bureau_Radiateur : temp update ok (last update 19m 51s ago (alert if < HMCF.maxDelayTemp ))

sinon impec, car même quand en alerte, je peux encore modifier la consigne, et il agit suivant le mode prédéfini. Cela répond donc à mon besoins.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour Maître :13:

J'avais fait quelques tests rapides avec la régulation de mon bureau.

Fort de cette expérience positive, je l'ai mis dans la salle de bains, et là j'ai du à nouveau faire preuve d'imagination vis-à-vis de ma femme.

Voici la description des soucis:

1) malgré une modification de la température mesurée

42zj.png

j'avais une erreur qui arrivait :

[WARNING] Chauf_SdBRdC_Radiateur : No temp. update since 8h 00m

et le radiateur ne fonctionnait plus sur la solution de replis que tu as mise en place (d'où les explications fumeuses que j'ai du trouver ...)

Comme la sonde de température est une AeonTec aerq, je me suis dit que cela devait être le wakeup ...

2) par défaut le wakeup est de 43200s (=12h) - c'est long mais ça me va.

et, le régulateur passe sur OFF (ce serait cool que l'on puisse passer en solution de replis pour des erreur "compatibles")

Voici le message d'erreur:

9pzr.png

En fait, le messaage d'eereur devrait être adapté. Dans ce cas, il faudrait :

addHeater : 'wakeup'is out of lange [MinRange, MaxRange]

et pour la seconde ligne :

'wakeup' set to MaxRange sec

 

Ce ne sont que des suggestions, tu auras peut-être une autre/meilleure idée ?

 

Lien vers le commentaire
Partager sur d’autres sites

oups, je viens de voir ma faute de frappe (car je me disais bien qu'il ne pouvait pas s'agir d'une erreur)

C'est 'wakeUp' et pas 'wakeup' ...

Mais du coup où puis-je modifier les limites, car j'aimerais bien 43200

0q74.png

?

Merci

Lien vers le commentaire
Partager sur d’autres sites

j'ai fait c'est quelques mofifw dans le code, en espérant que ce soit ok

vers ligne 1590 :     maxWakeUp           = 46800,     -- max duration (sec) of wakeUp      (Default: 46800 = 13 h)

vers ligne 620 :     if abortOnErr and item.wakeUp > self.HMCF.maxWakeUp then

vers ligne 718 :     if item.wakeUp then checkRange("wakeUp", item.wakeUp, 0, self.HMCF.maxWakeUp) end

 

et du coup ma config

  HM:addHeater({id=162, wakeUp = 43200})

est acceptée.

 

Je verrai demain matin si mon radiateur chauffe.

Lien vers le commentaire
Partager sur d’autres sites

Salut Jojo,

 

Tu peux confirmer que tu as bien le paramètre suivant dans le fichier config de ta salle de bain:

  HMCF.turnOffNoTemp  = false      -- turn off heaters if max delay is exceeded

Sinon pour le paramètre wakeUp, j'avais mis une valeur max pour permettre au cycle PID de se synchroniser avec celui du capteur de température. Mais ce n'est pas strictement nécessaire, du moment que la sonde envoie des mises à jour en cas de changement de température. Par contre il faut que le délai d'avertissement sur l'absence de remontée de température soit toujours supérieur au temps de réveil. C'est ce que j'ai modifié dans la version jointe (si tu peux la tester).

 

 

HCM v520.18.lua

Lien vers le commentaire
Partager sur d’autres sites

salut,

Je te confirme que dans ma config j'ai bien

 HMCF.turnOffNoTemp  = false 

Dans cette version dois-je encore préciser le wekaUp time ?£

 

Merci et bon dimanche ensoleillé

Lien vers le commentaire
Partager sur d’autres sites

J'ai implémenté ta nouvelle version,  et pas de chauffage ce matin.

Mais je ne comprends rien, car pas d'erreur au niveau de ton régulateur :

skpt.png

Mais je vois ceci dans l'historique de la HC3 :

151a.png

 

alors que je (crois) n'ai rien demandé et ne vois rien à propos du régulateur.

 

???

Lien vers le commentaire
Partager sur d’autres sites

Il y a 13 heures, Felig a dit :

c'est mieux si tu le précises.

 

Sorry, je ne l'avais pas précisé, car pour moi c'était évident de suivre tes instructions ...

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...