Smart Thermostat - le chauffage contrôlé par PID

Bonjour à tous,
Merci ScratMan pour ton travail, je l’utilise depuis décembre et ca marche du tonner.
J’ai une question concernant KE, comment le calcul-t’on?
Je suis passé par l’autotune pour obtenir mais PID, ça s’est très bien passé, mais j’ai installé un netatmo dehors que j’ai défini en outdoor-sensor, mais KE etant toujours à zero, forcément il n’influe en rien.
Et pour complique la chose, j’aurai des ke différents entre mes thermostats :wink:
Merci d’avance pour vos réponses

Un Ke de 0,6 semble être une bonne base de départ.

Bonjour,

J’utilise ce thermostat depuis quelques semaines et je suis très content !

J’avais deux questions. La première rejoint la question juste au dessus concernant le Ke. Tu confirmes que l’autotune ne donne pas le Ke ?
Quand tu dis qu’un Ke de 0,6 est un bon début comment en suite est-ce que l’on peut savoir si il faudrait l’ajuster ?

La seconde question est le suivante. Sur une zone j’ai trois radiateurs différents pilotés pour le moment par le même signal / fil pilote. Pour éviter les pics de consommation je souhaiterais que quand le pwm est à moins de 33% ils ne chauffent pas le trois en même temps mais chacun 1/3 du temps à un moment différent.

Est-ce que c’est quelque chose de faisable en l’état actuel ?
Et si non est-ce que c’est quelque chose auquel tu aurais déjà pensé ?

Bonjour a tous
Je débute et
Cela m’intéresse cependant quel type de controleur utilisez vous moi pour le moment je suis avec des zbmini sonoff et diode de redressement associée a un thermostat stat d’ambiance xiaomi
Est ce que cela fonctionnerai?
Merci a tous

Bonjour ScratMan,
Merci pour ta réponse rapide.
Ok je vais tenter avec 0.6 de KE, ensuite dans quel sens dois-je aller:
Dois-je augmenter KE dans le cas d’une salle mal isolée ou dois-je le diminuer?
Merci d’avance

Salut

si Ke est le gain sur les écarts de température: interne-externe alors j’ai fait un petit post ici:
https://forum.hacf.fr/t/gestion-de-bout-en-bout-du-chauffage/4897/354

Si tu n’as pas de mesure de puissance consommée, c’est plus compliqué.
En effet, prendre le % d’allumage multiplié par la puissance max du radiateur fonctionne si le radiateur est au max durant l’allumage. C’est loin d’être le cas si ton radiateur à une limite en température.

Pour un PID, il n’est pas nécessaire d’avoir un Ke super précis car l’intégrale jouera le même rôle.
Par contre, il faut noter que ce gain intervient dans la stabilité du système. Pour moi, sur la stabilité, il joue le même rôle que le gain proportionnel donc il faut diminuer d’autant le gain proportionnel.

Bonjour
je découvre ce thermostat qui me parait intéressant pour gérer ma chaudière, je m’interroge cependant sur son applicabilité pour la gestion individuelle de chaque pièce: j’ai actuellement des vannes thermostatiques sur mes radiateurs qui déclenchent la chaudière quand une vanne a une ouverture supérieure x% ou si l’ouverture moyenne est supérieure à y%

si je mets en place un thermostat PID par pièce, tout risque de se télescoper, non? une vanne va demander une consigne de 20% et une autre de 50%, ça va forcément foirer ou je me trompe?

Bonjour. Si on utilise des vannes thermostatiques, il vaut mieux avoir une circulation d’eau chaude semi permanente = une vanne est ouverte, même un peu, donc on chauffe. Sinon on ouvre à fond les vannes et on fait du PWM ON/OFF de la chaudière.

Pour le moment je ne gère pas d’avoir un seul switch commun pour tous les thermostats, donc le risque avec un contrôle direct d’une chaudière par plusieurs thermostat est que les temps minimum de chauffe ou d’arrêt ne soient pas respectés. Il faut donc une logique externe.

Après tout dépend de l’âge de la chaudière. Si c’est un modèle récent à condensation, la gestion est déjà très fine, avec des modulations de puissance, de temps de chauffe et de vitesse de circulation de l’eau ; et donc si les thermostats d’origine sont bons, mon thermostat n’apportera rien de plus.

Bonjour
merci de ton retour, il confirme ce que je pensais.
La chaudière a une quinzaine d’années et n’est pas très évoluée, donc pas optimal de ce point de vue, mais a priori pas trop moyen d’optimiser plus que ce que je fais déjà

Bonjour,

Je continue de faire des essais avec ton thermostat PID, mais j’ai du mal a trouver des valeurs fonctionnant bien.

Dans l’idéal, je cherche une grande amplitude du pourcentage de chauffe, mais une descente relativement rapide de ce dernier.
Le poêle a pellet que je possède n’est pas une chaudière, il n’y a pas de radiateurs.

Actuellement j’utilise ton thermostat pour définir la puissance, et je gère l’allumage / extinction via automations, en fonction de la différence température de consigne - température réelle.

Ce qu’il faut prendre en compte, c’est qu’il y a une grosse inertie. Entre le moment ou le poêle s’allume et la chauffe effective, il y a une bonne vingtaine de minute. Par contre l’inverse est également vrai, quand le poêle s’éteint, il continue de chauffer pendant le même laps de temps. D’où l’intérêt de baisser rapidement la puissance, et de la réaugmenter sans monter trop haut si la température ne monte pas assez.

Actuellement mes réglages sont :

    keep_alive:
      seconds: 30
    kp: 38
    ki: 0.005
    kd: 110000
    ke: 0.3
    pwm: 0
    sampling_period: 00:02:00

A température = consigne, la puissance est toujours de 80%.
Avec une température supérieure de 1° par rapport à la consigne (arrêt géré hors thermostat), la puissance est d’environ 50%.
L’idée serait d’être en dessous des 50% une fois la consigne atteinte.
Je viens de modifier les paramètres en :

    keep_alive:
      seconds: 30
    kp: 35
    ki: 0.005
    kd: 55000
    ke: 0.3
    pwm: 0
    sampling_period: 00:02:00

Que me conseillerais tu comme valeurs?

Si vraiment je n’arrive pas à trouver des valeurs qui me conviennent, je repasserai sur mes anciennes automations, mais celles ci ne définissaient la puissance qu’en fonction des différences température, consigne, extérieur, et ne prenaient pas en compte l’erreur. (et donc, parfois je me retrouvait avec une température ayant beaucoup de mal à monter au delà d’une certaine valeur car puissance trop faible, a cause par exemple d’un fort mistral, problème que je n’ai plus avec ton composant)

Merci beaucoup.

Il faut ajuster le Kd pour que quand la température commence à monter plus vite ça coupe rapidement la modulation de puissance.

avec simple thermostat dans le yaml tu peux mettre directement genre away_temp: input_number… ?
Car le generic thermostat vient d’évoluer et gérer enfin plus de preset ! (peut etre le debut d’ameliorations plus conséquentes …)

As tu fait marché le smart thermostat ? c’est assez complexe je trouve pour trouver les paramètres. J’ai relu pleins de fois les infos de ce topic

Bonjour,

Dans la description il est indiqué que l’utilisation d’un relais est déconseillé.
Pour quelles raisons est-ce que c’est déconseillé ? Usure radiateur ? Usure relais ? Perturbations électriques à la coupure ?

Merci

Un relais, c’est comme un interrupteur. Ça fait des étincelles quand ça commute, usant les contacts à la longue. Et plus la puissance qui passe est élevée, plus ça fait des étincelles balaises et plus ça les use. Donc on déconseille d’en utiliser pour du chauffage électrique. Mieux vaut utiliser un film pilote pour la commande et laisser le radiateur gérer le on/off

Salut @JeromGo
si le relais ou le radiateur sont de qualité, la commutation on/off a lieu lorsque la phase passe par zéro ou très proche ce qui évite l’envoie d’harmoniques dans le courant et, je pense (là ce n’est que mon avis), les étincelles car le radiateur est en pur résistif.
Pour les relais évidement pas un interrupteur mais de l’électronique type opto-coupleur qui alimente un triac comme
http://electro.train.blog.free.fr/public/electronique/MOC3031_32_33_41_42_43_-M_Fairchild.pdf

Sinon la fiche constructeur d’un de mes radiateurs me dit que « la coupure du radiateur trop fréquente endommage le circuit électronique » (« endommage » et non « peut endommager »).

Bonjour à tous,

Merci @ScratMan , j’ai l’impression de retrouver l’excellent thermostat Jeedom dans ton travail (Thermostat qui au demeurant m’a fait économiser pas mal de €€€ dans mon ancien appart avec chaudière Gaz et forte inertie). J’étais toujours impressionné de voir le thermostat démarrer 3, 4h en avance et me donner la température de consigne pas loin à la minute prêt au dixième de décimale prêt…

Bref HS.

Question entité « Climate ». Dans ma maison, j’ai une PAC Daikin supporté par HASS sous forme de Climate. Je voudrai essayer ton controlleur car le Daikin me semble un peu basique.
Est ce possible de faire gérer à une entité Climate une autre entité Climate sans se prendre les pieds dans le tapis ?

Ma première difficulté à aider de générer un « switch on / off from climate » dont voiçi le code (trouvé sur le forum hass)

- platform: template
  switches:
    smart_thermostat_daikin:
      friendly_name: "Smart Thermostat Daikin"
      value_template: "{{ not is_state('climate.daikinap', 'off') }}"
      turn_on:
        service: climate.turn_on
        target:
          entity_id: climate.daikinap42951
      turn_off:
        service: climate.turn_off
        target:

          etity_id: climate.daikinap

Ma seconde difficulté est de faire fonctionner les 2 ensembles :sweat_smile:.

J’imaginai donner une consigne très élevée à l’entité Daikin (25°C par exemple) pour l’avoir toujours en chauffe et qu’elle ne coupe pas d’elle même

Sauf que dès lors que je fais une demande « plausible »
Smart Thermostat => Chauffe => 21°C
Daikin => Chauffe => 25°C

Je me retrouve avec des comportements étranges où la PAC recoît forcément un OFF au bout de quelques minutes (< 3min)

[Smart Thermostat Daikin](http://hass.local/logbook?start_date=2022-04-01T17%3A00%3A00.000Z&end_date=2022-04-01T18%3A00%3A59.000Z#) 
éteint par le service homeassistant.turn_off 
19:36:03 - Il y a 16 heures

[PAC](http://hass.local/logbook?start_date=2022-04-01T17%3A00%3A00.000Z&end_date=2022-04-01T18%3A00%3A59.000Z#) 
éteint par le service homeassistant.turn_off 
19:36:03 - Il y a 16 heures

Une idée de la faisabilité de chose ?

Une pompe à chaleur ne se pilote pas en on/off, mais en modulation de puissance. De base le thermostat module via un PWM en faisant des on/off périodiques, mais ça n’est donc pas compatible. Sauf à pouvoir donner un pourcentage de puissance à la pompe à chaleur, et dans ce cas tu peux récupérer l’attribut control_output du thermostat qui correspond au pourcentage de puissance calculé par le PID.

Clair et précis :D. Je n’ai pas accès à un contrôle de puissance (température only);
Merci pour ta réponse.

Je vais m’en donc m’en tenir à une utilisation sur mes radiateurs

Hello @ScratMan !

Peut-on imaginer utiliser ton thermostat par PID avec un poêle à granulés dont on peut piloter :

  • l’allumage & l’extinction
  • la puissance (de 1 à 5)
  • les 3 ventilations (pièce principale + 2 zones), chaque ventilateur de 1 à 6

Hello @ScratMan,

Dit avec l’intégration native du « Scheduler » dans HA, tu pense que ce serait compliqué d’intégrée un mode temporelle dans ton thermostat ?

Le but serait d’anticiper automatiquement l’allumage du chauffage pour arriver à température à l’heure souhaité et ainsi éviter de devoir anticipé l’allumage des chauffages et potentiellement chauffer trop tôt ou trop tard :confused:

Je ne dit pas que c’est facile, mais ce serait tellement bon :stuck_out_tongue: