Smart Thermostat - le chauffage contrôlé par PID

C’est ça. Air/Air. Et en + c’est bien moins énergivore. (Daikin Stylish, pilotable via HA)

Tu le pilote comment ton split ? avec l’intégration daikin à travers leur cloud ? Merci

L’intégration Daikin qui travaille en local.

Bienvenue au club. Moi, c’est la même, mais PAC air/air Mitsubishi piloté par Airzone

Tiens, pour ce que ça vaut, j’ai trouvé cette vidéo de 10 mins hyper claire sur l’explication de ce qu’est un PID… C’est en anglais, mais très abordable. Il y a également dans la vidéo des liens vers d’autres vidéo courte qui expliquent plus précisément les variables des PID et même leur tuning. PID Controller Explained - YouTube

Bonjour,
J’ai lu tous les échanges ci-dessus mais je ne vois pas très bien comment implanter ce système de thermostat dans ma configuration qui ne doit pas être unique.
J’ai des vannes thermostatiques Danfoss Zwave dans chaque pièce et un receiver on/off pour contrôler ma chaudière.
Dans Jeedom, j’utilise l’application thermostat qui envoie les températures de consigne à mes vannes en fonction des besoins (et non pas une instruction on/off). Pour chauffer, la température de consigne est mise à 28. Pour arrêter, la température de consigne est mise à 12. Ce qui ouvre ou ferme les vannes en fonction du besoin dans chaque pièce. J’ai ensuite un scénario qui teste les thermostats. Si un thermostat est en statut « chauffage », il ordonne à mon receiver de lancer la chaudière. La chaudière s’arrête quand aucun thermostat n’est en mode « chauffage ». Dans mes thermostats, j’ai 4 modes : absent, confort, éco et manuel avec des températures target différentes pour les 3 premiers modes et des scénarios qui placent le thermostat dans le mode désiré en fonction de mes absences et/ou des tranches horaires. Le mode manuel est géré à l’aide de Snips qui me permet de demander oralement une température target à un thermostat.
Mon idée serait de créer un switch virtuel que le mettrais dans le heater. Je testerais le passage de off à on et inversement. S’il est en « on », un script enverrait la consigne 28 à ma vanne et démarrerait la chaudière. S’il est « off », il enverrait la consigne 12. Et via une automatisation, je testerais si tous les switchs virtuels sont en off ce qui enverrait l’instruction d’éteindre la chaudière.
Que pensez-vous de cette approche ?
Mais je ne vois pas encore comment je peux dire au smart thermostat HA qu’il faut être en mode absent, en mode confort ou en mode eco. Je ne vois pas non plus comment gérer le mode manuel (sauf si je peux mettre une variable dans le mode boost-temp par exemple).
Je vous en remercie d’avance.
Pascal

Rebonjour,
J’ai testé mon idée avec le switch virtuel et cela fonctionne par contre mon thermostat ne se met pas en chauffe avec la configuration :

  - platform: smart_thermostat
    name: "Thermostat salon"
    heater: switch.virtual_chauffage_salon
    target_sensor: sensor.temperature_porte_salon
    min_temp: 10
    max_temp: 26
    ac_mode: False
    target_temp: 19
    keep_alive:
      seconds: 60
    precision: 0.1
    away_temp: 14
    eco_temp: 18
    boost_temp: 22
    comfort_temp: 20
    # home_temp: 21
    # sleep_temp: 17
    # activity_temp: 20
    kp : 75
    ki : 0.001
    kd : 70000
    pwm : 00:15:00

image

Merci d’avance.
Pascal

Il est indiqué « Éteint », donc il ne peut pas chauffer. Il faut le mettre en mode « Chauffe », et ensuite le statut à côté passera de « Inactif » en veille à « Chauffe » selon le besoin.

@M4dm4rtig4n, @Jonathan_y, j’ai une méthode dans les discussions sur le Github pour calculer les coefficients, mais en anglais :

Je n’ai pas trouvé le temps entre la fin d’année, le boulot et la crise sanitaire pour continuer la traduction et rédaction des tutos en français.

On peut soit se baser sur l’évolution de la température pendant l’autotune, soit utiliser le thermostat générique (genre depuis votre historique si vous l’utilisez avant le thermostat PID) qui fonctionne de la même façon, l’idée c’est de pouvoir mesurer la période et l’amplitude d’oscillation pour calculer les gains du PID.

1 « J'aime »

Faut que je passe un peu de temps sur le tuning, parce qu’actuellement l’hystérésis est à ch…

Bonjour @ScratMan,

Toujours à la recherche d’une solution pour mon poêle à pellet, j’ai réussi a récupérer l’attribut « control_output » pour envoyer cette info comme valeur de puissance à mon poêle.
Le problème est que le heater s’arrête après la période définie en « min_cycle_duration » et ce, même si la consigne n’est pas atteinte. Est-ce un mauvais paramétrage de mon coté?

Sinon j’essayerai de faire un fork de ton github en rajoutant une option sur ce point. à moins que définir un « min_cycle_duration » énorme suffise à ce que le heater s’éteigne uniquement si « hot_tolerance » est dépassé et se rallume uniquement si on descend en dessous de « cold_tolerance » ?

Merci pour ton aide.

Bonjour, le problème vient du mode de modulation.

Le thermostat est prévu pour moduler soit une puissance (avec pwm à 0 eu donc une chauffe 100% du temps, typique d’une modulation de vanne sur un chauffage en collectif) soit une durée (modulation on/off avec une puissance à 100%).

Dans ton cas tu mélanges les deux, ce qui fait que ça ne chauffe pas assez.
Sur un chauffage moderne type pompe à chaleur, chaudière à gaz à condensation ou à pellets, il y a généralement une modulation dite à loi d’eau, qui ajuste la température de sortie en fonction de la température extérieure afin de compenser les pertes thermiques (s’il fait plus froid dehors, on envoie plus d’énergie dans les tuyaux). Je pense que tu devrais plutôt utiliser cette fonction pour moduler la puissance du poêle, et utiliser le pwm du thermostat pour gérer son allumage uniquement.

Hello,
Tu as la même configuration que moi.
J’ai un système qui fonctionne mais qui manque de confort par moments.

Je viens de découvrir Smart thermostat, je vais creuser le sujet.
Je me suis aidé de mycanaletto qui m’a donné des pistes dans ses articles (au top son site, bravo à lui)

Si tu veux je peux partager mes configs si ça peut te donner des idées.

Merci, ce n’était effectivement que ça. Bonne continuation.

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.