Plugin thermostat : tentative de mieux prendre en compte l'inertie des radiateurs

J’ai vu la nouvelle maj et il y a ces 2 options : Seuil de cycle où le chauffage est considéré comme chaud (%) et Offset à appliquer si le radiateur est considéré chaud (%). Dans mon cas je dois mettre quoi pour bien comprendre ?

On etait parti sur un offset de 25% donc je dois mettre ca dans Offset à appliquer si le radiateur est considéré chaud

mais pour l’autre on le determine comment ? Seuil de cycle où le chauffage est considéré comme chaud (%)
Si je mets 100 ca veut dire que si le premier cycle fait 100 il applique l’offset de 25 ? par contre si le premier cycle est à 90 il ne l’applique pas ?

Bonsoir,
j’ai testé la nouvelle option, et voici ce que ça donne :

[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Thermostat::pull => mode smart : Array (     [thermostat_id] => 103     [smartThermostat] => 1     [next] => Array         (             [date] => 2019-12-17 17:15:00             [event] => Array                 (                 )              [consigne] => 19             [calendar_id] => 75             [cmd] => 871             [type] => mode             [schedule] => 2019-12-17 16:30:00         )  )
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : next info : Array (     [date] => 2019-12-17 17:15:00     [event] => Array         (         )      [consigne] => 19     [calendar_id] => 75     [cmd] => 871     [type] => mode     [schedule] => 2019-12-17 16:30:00 )
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Type mode envoi de la commande : 871
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Debut calcul temporel
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Reprogrammation automatique : 2019-12-17 17:28:00
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Smart schedule
[2019-12-17 16:30:10][DEBUG] : [maison][chauffage principal] : Plugin agenda detecté
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Temp in : 17.5 - Temp out : 8 - Consigne : 19
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Direction : 1
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Power calcul : (1.5 * 44.41) + (11 * 2.29) + 0 = 91.805
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Smartstart duration : 53.2469 à 2019-12-17 17:15:00 programmation : 2019-12-17 16:22:00
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Smart start end
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Temp in : 17.5 - Temp out : 8 - Consigne : 19
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Direction : 1
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Power calcul : (1.5 * 44.41) + (11 * 2.29) + 0 = 91.805
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Cycle duration : 53.2469
[2019-12-17 16:30:11][DEBUG] : [maison][chauffage principal] : Action chauffage

[2019-12-17 17:23:05][DEBUG] : [maison][chauffage principal] : Action stop
[2019-12-17 17:28:05][DEBUG] : [maison][chauffage principal] : Debut calcul temporel
[2019-12-17 17:28:05][DEBUG] : [maison][chauffage principal] : Reprogrammation automatique : 2019-12-17 18:26:00
[2019-12-17 17:28:05][DEBUG] : [maison][chauffage principal] : Smart schedule
[2019-12-17 17:28:05][DEBUG] : [maison][chauffage principal] : Plugin agenda detecté
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Temp in : 18.3 - Temp out : 7.8 - Consigne : 15
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Direction : 1
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : La temperature est supérieure à la consigne de plus de 1.5°C je ne fais rien
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Smartstart non pris en compte car la durée 0
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Smart start end
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Begin auto learning
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Last power ok, check what I have to learn, last state : heat
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Last state is heat
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Last temps in < at current temp in
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : New coeff heat indoor : 45.17193627451
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Temp in : 18.3 - Temp out : 7.8 - Consigne : 19
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Direction : 1
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Power calcul : (0.7 * 45.17) + (11.2 * 2.29) + 0 = 57.267
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Previous cycle at 100%, apply offset : -40%
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Cycle duration : 10.01486
[2019-12-17 17:28:06][DEBUG] : [maison][chauffage principal] : Action chauffage

Premier cycle à 92%, donc l’offset s’applique comme prévu au deuxième cycle (j’ai paramétré le seuil de cycle à 60%). Par contre l’offset s’applique en totalité (40%). J’ai donc sans doute mal expliqué mon idée : en gros, comme les 8 derniers % du cycle, le radiateur a continué à dissiper de la chaleur même s’il était éteint, je pensais que l’offset pourrait être de 32 % (les 40% qui s’appliquent si le cycle précédent est à 100%, moins les 8% sans chauffe du cycle précédent, soit 40 - 100 + 92 = 32). Et pour que cet offset ne devienne pas négatif pour les cycles avec une chauffe courte, je proposais de faire max(0, [offset pour les cycles à 100%] - 100 + % de chauffe du cycle précédent).
Encore une fois, si c’est trop tiré par les cheveux, il ne faut pas hésiter à me le dire :wink: !

Bonjour Loïc,

Quelques soucis de mise en page dans le plug-in qui ne rend pas très explicite le remplissage du nouveau champ.

Peux tu intégrer stp des retours à la ligne pour que le champ à remplir se retrouve bien en face de la nouvelle ligne « Offset lors d’un second cycle à 100% (% du cycle) »

Merci d’avance,.

Déjà corrigé dans la dernière mise à jour. Merci.

Pourquoi pas j’avoue que j’ai aucune idée de l’impact de ce genre de truc sur l’apprentissage et autre, je viens de faire le changement en beta (disponible immediatement)

Bonjour,
ok merci, je repasse en beta, et je regarde la réaction sur le fonctionnement et sur l’apprentissage (je suppose que ça doit plutôt avoir un effet bénéfique sur l’apprentissage, vu que ça enlève ou ça limite un paramètre « inexpliqué », mais à confirmer !). Je te tiens au courant !

Pas de problème, c’est bien le moins que je puisse faire ! J’essaie de m’y mettre demain soir.

Bonsoir Loïc,
les premiers tests semblent hyper concluants !
Voici une capture d’écran :
thermostat3

Et les logs correspondants :


[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Thermostat::pull => mode smart : Array (     [thermostat_id] => 74     [smartThermostat] => 1     [next] => Array         (             [date] => 2019-12-18 17:45:00             [event] => Array                 (                 )              [consigne] => 19.5             [calendar_id] => 75             [cmd] => 607             [type] => mode             [schedule] => 2019-12-18 16:58:00         )  )
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : next info : Array (     [date] => 2019-12-18 17:45:00     [event] => Array         (         )      [consigne] => 19.5     [calendar_id] => 75     [cmd] => 607     [type] => mode     [schedule] => 2019-12-18 16:58:00 )
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Type mode envoi de la commande : 607
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Debut calcul temporel
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Reprogrammation automatique : 2019-12-18 17:55:00
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Smart schedule
[2019-12-18 16:58:05][DEBUG] : [salle d eau][chauffage salle d eau] : Plugin agenda detecté
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 17.6 - Temp out : 10 - Consigne : 19.5
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (1.9 * 38) + (9.5 * 1.1) + 0 = 82.65
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Smartstart duration : 47.1105 à 2019-12-18 17:45:00 programmation : 2019-12-18 16:58:00
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Smart start end
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 17.6 - Temp out : 10 - Consigne : 19.5
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (1.9 * 38) + (9.5 * 1.1) + 0 = 82.65
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Cycle duration : 47.1105
[2019-12-18 16:58:07][DEBUG] : [salle d eau][chauffage salle d eau] : Action chauffage

[2019-12-18 17:55:06][DEBUG] : [salle d eau][chauffage salle d eau] : Debut calcul temporel
[2019-12-18 17:55:06][DEBUG] : [salle d eau][chauffage salle d eau] : Reprogrammation automatique : 2019-12-18 18:52:00
[2019-12-18 17:55:06][DEBUG] : [salle d eau][chauffage salle d eau] : Smart schedule
[2019-12-18 17:55:06][DEBUG] : [salle d eau][chauffage salle d eau] : Plugin agenda detecté
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 18.4 - Temp out : 9.9 - Consigne : 18.5
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (0.1 * 38) + (8.6 * 1.1) + 0 = 13.26
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Smartstart duration : 7.5582 à 2019-12-18 19:30:00 programmation : 2019-12-18 19:22:00
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Next smart schedule date : 2019-12-18 19:22:00
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Smart start end
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 18.4 - Temp out : 9.9 - Consigne : 19.5
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (1.1 * 38) + (9.6 * 1.1) + 0 = 52.36
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Previous cycle at 82.65%, apply offset : -60% + 17.35
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Cycle duration : 5.5347
[2019-12-18 17:55:07][DEBUG] : [salle d eau][chauffage salle d eau] : Action chauffage

[2019-12-18 18:52:05][DEBUG] : [salle d eau][chauffage salle d eau] : Debut calcul temporel
[2019-12-18 18:52:05][DEBUG] : [salle d eau][chauffage salle d eau] : Reprogrammation automatique : 2019-12-18 19:49:00
[2019-12-18 18:52:05][DEBUG] : [salle d eau][chauffage salle d eau] : Smart schedule
[2019-12-18 18:52:05][DEBUG] : [salle d eau][chauffage salle d eau] : Plugin agenda detecté
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 19.2 - Temp out : 9.8 - Consigne : 18.5
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (-0.7 * 38) + (8.7 * 1.1) + 0 = -17.03
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Smartstart non pris en compte car la durée 0
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Smart start end
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Temp in : 19.2 - Temp out : 9.8 - Consigne : 19.5
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Direction : 1
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Power calcul : (0.3 * 38) + (9.7 * 1.1) + 0 = 22.07
[2019-12-18 18:52:06][DEBUG] : [salle d eau][chauffage salle d eau] : Cycle duration : 12.5799
[2019-12-18 18:52:07][DEBUG] : [salle d eau][chauffage salle d eau] : Action chauffage

En résumé : un premier cycle à 82%, un deuxième qui s’ajuste pour tenir compte du précédent, et la consigne est atteinte à 0,1°C prêt !
Merci encore.
Je m’attaque au tuto et au texte pour la doc demain soir (réunion ce soir …)

Bonjour, les cycles du matin se sont eux aussi parfaitement déroulés, avec une précision au top !

Bonsoir Loïc, voici le texte que je te propose pour l’option « offset à appliquer si le radiateur est considéré chaud (%) » :
Offset à appliquer si le radiateur est considéré chaud (%) : à utiliser si votre système de contrôle du chauffage a une inertie non négligeable, que ce soit du fait des radiateurs, de la configuration de la pièce (distance entre le radiateur et la sonde de température) ou de la sonde de température elle-même (selon les modèles, leur réactivité est plus ou moins grande). La conséquence visible de cette inertie est un dépassement temporaire de la consigne lors des montées en température importantes (consigne qui passe de 15°C à 19°C par exemple). Ce paramètre correspond au décalage constaté entre la période de chauffe (= le chauffage est allumé) et la période où la température relevée par la sonde augmente, divisé par la longueur du cycle paramétrée. Par exemple, si on constate un décalage de 30 minutes entre le début de la chauffe et le début de l’élévation de température, et que la durée des cycles de chauffe est réglée sur 60 minutes, on peut mettre ce paramètre 50%. Ainsi, quand un cycle de chauffe à 100% est suivi par une autre chauffe, ce paramètre permet de prendre en compte la chaleur générée par le radiateur au premier cycle mais non encore mesurée par la sonde pour le calcul du deuxième cycle, en diminuant d’autant sa puissance de chauffe. La puissance du deuxième cycle sera alors diminuée de 50% par rapport au calcul réalisé en fonction de la température mesurée par la sonde.

Je continue demain !

1 « J'aime »

Top merci beaucoup je l’ai ajouté dans la doc ca sera en ligne dans la prochaine stable

Petite question, ca ne serait pas possible d’integrer ce parametre pour qu’il soit calculé dans l’apprentissage ?

Non l’apprentissage c’est matematique j’ai 2 équation a 2 inconnu ca marche mais 2 équations a 4 inconnues ca marche plus

Bonjour Sylvouille,
Merci pour ton apport très appréciable.
Il y a un second champ qui est apparu : « Seuil de cycle où le chauffage est considéré comme chaud (%) ».
Que doit-on mettre dans ce champ stp ?

Bonjour,
je prévois de faire un mot pour la doc et un tuto sur le forum, si tout se passe bien ce soir ou ce week-end :wink: !

2 « J'aime »

Salut à tous.
Est-ce que cette nouvelle fonction aide également si j’ai des radiateur rayonnant sans inertie car la dans mon salon la première chauffe dépasse toujours de presque 1 °c ma consigne, qui ensuite redescend fortement avant de relancer un cycle.

Bonjour, comme je le mettais un peu plus haut, même pour les radiateurs avec peu d’inertie, il peut y avoir un certain délai entre la période de chauffe et l’élévation de la température constatée par la sonde (position de la sonde par rapport au radiateur, délai de prise en compte de la température de la pièce par la sonde …). J’ai par exemple constaté que mes sondes de température Nodon (protocole Enocean) étaient bien plus réactives qu’un Aeotec multisensor … Donc si le radiateur chauffe pendant toute la durée du cycle, la température de la pièce prise en compte pour calculer le nouveau cycle peut être sous-évaluée … Et donc provoquer une chauffe trop importante.

Salut,

Je suis intéressé aussi par un tuto car j’ai pas dû faire comme il faut :smiley:

J’ai des radiateur à bain d’huile, j’ai configuré des cycles de 30min, et j’ai mis dans cette nouvelle option 80% du cycle, avec -40% d’offset.

Hier il m’a fait 2 cycles de 100% d’affilé, et une autre fois un cycle de 100%, puis 80% :smiley:

Bonjour, je viens de le publier dans la même section du forum :wink: . Cet offset là doit être mis en positif : si tu veux que la puissance soit diminuée de 40%, il faut mettre 40 et non -40. C’est sans doute de là que vient le problème … Mais en soit, ce n’est pas impossible que le deuxième cycle soit à 100% : si le calcul brut donne 150 % de temps de chauffe nécessaire, alors tu auras 150 - 40 = 110 → 100% de chauffe sur le deuxième cycle.

Hello,

Je remonte un peu ce sujet.
Il serait intéressant de collecter quelques valeurs types de configuration en fonction des chauffages et des surfaces.

On peut voir des grandes catégories :
PAC réversible, chauffage à inertie fluide, sèche, poêle.

Dans le cas d’un PAC pour ma part, j’ai l’impression que des valeurs de cycle de 30min sont bonnes (j’en doute) mais je n’ai aucune idée du % de durée où considéré qu’il est chaud car j’ai des fois des températures trop supérieures en cas de chauffe dans certaines pièces, dans d’autres tout est bien maitrisées.

Un thermostat Ici avec un cycle à 30min ou 60min (à gauche):

Un autre thermostat qui n’atteint pas son objectif dans la durée impartie (30min de cycle) :

Un autre qui « surchauffe » (premier palier à gauche) et encore à la sortie (cycle de 60min puis 30 configuré) :

Un autre qui n’arrive pas à atteindre la température dans le délai (grande surface) mais régule bien (30 min de cycle) :

Bref, quelques bases de départ seraient intéressantes pour orienter le lecteur lors de la mise en place je pense.

J’ai l’impression au cours de mes lectures que des cycles longs pour les radiateurs à inerties sont à privilégier
60/90min pour des inerties sèches
45/60min pour des inerties fluides
30/45min pour des PAC (sauf erreur ?)

Le 15 est à bannir j’ai aussi l’impression.

Le % du « chaud » considéré semble adapté pour des pièces de petites surfaces avec capteur de température à inertie. De même sur les pièces à grande surface (dans mon cas, j’ai multplié les capteurs pour avoir une image fidèle).