Smart Thermostat - le chauffage contrôlé par PID

Super merci pour les infos, je vais pouvoir adapter mes flow NodeRED au mode service :slight_smile:
Good job pour ton taff en tt cas !

Et il y a aussi la gestion de la température extérieure en version bêta.

Bonjour,
Je possède un poêle a pellets que j’ai réussi a domotiser.
Ce poêle possède également 2 sorties d’air chaud canalisables.

Le poêle en lui même accepte des valeurs de puissance de 30 à 100%, par pas de 5%
Les canalisations, des valeurs de 0 à 5.

J’ai actuellement plusieurs automations qui calculent la puissance en fonction d’un coeff de chauffe, d’un coeff d’isolation, mais aussi d’un offset (pour gérer l’inertie du poêle. En gros un pourcentage de la puissance précédente est déduit de la puissance suivante).

J’ai du mal a trouver des valeurs correctes pour mes différents coefficients, et l’utilisation de ton intégration simplifierai beaucoup la maintenance, et m’éviterait les x automations qui gèrent tout de mon coté.

Penses tu que ce serait compatible?
Je pensais définir le heater sur un input_boolean, et utiliser ton output pour donner les différentes consignes de puissances.
Pour l’autotune, j’imagine que je dois désactiver ma régulation et définir la puissance à 100%?

Merci.

Hello @ScratMan , dit je viens de réactive smart_thermostat mais je n’ai pas de service « smart_thermostat » comme expliqué sur ton Github :confused:
Une idée de ce que j’aurai raté ?

Tu utilises qu’elle version ?
Les services pour gérer le PID et les preset ont été ajoutés sur la version 2021.11.9, la version 2021.12.4 est dispo, et une bêta 2021.12.5-beta4 est en cours de test avec un PWM auto ajustable et la prise en charge de la température extérieure.

EDIT : je bosser sur les mauvais fichier de conf, tt est bon en fait… sorry

Je suis en 2021.12.4 pourtant.

Voici un exemple de définition d’un de mes thermostats :

- platform: smart_thermostat
  name: sejour
  heater: switch.action_chauffage_sejour
  target_sensor: sensor.temp_sejour
  #  target_temp: 15
  min_temp: 7
  max_temp: 26
  ac_mode: false
  cold_tolerance: 0.3
  hot_tolerance: 0
  min_cycle_duration:
    seconds: 5
  keep_alive:
    minutes: 3
  initial_hvac_mode: "heat"
  #  away_temp: 16
  precision: 0.1
  kp: 5
  ki: 0.01
  kd: 500
  pwm: 00:15:00
  away_temp: 18
  eco_temp: 19
  boost_temp: 22
  comfort_temp: 21
  home_temp: 20
  sleep_temp: 7
  activity_temp: 23

@ScratMan bon je n’ai pas encore trouver la cause mais cette nuit à 2h du matin tt mes thermostat ce sont remis sur les valeurs du fichier et pas de ce que j’avais set via le service :confused:

EDIT : En attendant de trouver la cause, j’ai fait un flow nodered qui force tt les valeurs des preset_temp aux valeur de l’input number

Oui, j’ai vu le bug hier soir également, les températures choisies avec le service ne sont pas sauvegardées ni restaurées au redémarrage. C’est bizarre, ça marchait très bien il n’y a pas longtemps. Faut que je regarde ça, voir si c’est les dernières fonctions ajoutées qui ont cassé le système ou si c’est du à un update de Home Assistant.

Bonjour @ScratMan,
Merci beaucoup. Depuis le temps que j’en cherche un et que je repousse la mise en place. Je pense que le fait que ça tombe pendant les fêtes va me permettre de le mettre en place.
J’ai un système un peu spécial pour gérer l’allumage/extinction de ma chaudière (que je peux détailler si vous voulez) mais je ne pense pas que ça pose problème.

bonsoir a tous
Merci pour ce tutoriel clairement génial
Cependant je suis un peu perdu est ce que certains d’entre vous utilise des HEATZY
car j’ai l’impression que cela ne marche pas du moins c’est peu réactif
PS: si quelqu’un peux éclaircir le PID ca m’aiderai bcp

Bon je viens de tester et activer l’ Autotune en mode « ziegler-nichols » et j’ai des fonctionnements très aléatoire :

Style j’ai une consigne à 16°C et le chauffage s’enclenche à 18°C.

Pour le coup j’ai l’impression qu’il prend la température set dans le yaml et non pas la température que j’ai set via le service :confused:

Petite note Rapide qui ne retire rien aux excellents échanges très pointus ci dessus
et a la qualité de la solution « PID »

PID c’est pas un peu sophistiqué, pour du chauffage ? (pour exemple, c’est ce que je mets sur des fours de traitement thermique pour des pièces Aéronautiques : Overshoot = rebut)

bref, j’ai suivi les conseils de argonaute" tuto sur le TPI

Perso, j’ai implanté le TPI, et ça marche plutôt très bien chez moi (c’est vrai, avec quelques oscillations de +/- 0.2°C au lieu de +/- 0.6 comme avant (mais pas de tuning a faire des paramètres type PID)
et pas de yaml (tout se fait par des automatisations depuis un excellent Blueprint

ci dessous avant / apres

2 « J'aime »

Bon maintenant je n’arrive même plus à set les information du PID via le service :confused:
Et plus aucun chauffage ne démarre.

Pour info j’avais fait l’update vers la 2021.12.6 (Hazard ou Réalité ? :smiley: )
Bref tt est HS chez moi depuis cette aprem :confused:

Tu es toujours en mode Autotune, c’est pour ça que ça ne marche pas. Retire l’autotune du YAML et redémarre.

Effectivement je m’était rater sur une modif, je comprend mieux le caractère « beta » de autotune, ca m’a tt pété :smiley:

@ScratMan tu as des infos/tuto qui peuvent aider à la configuration des « kp, ki, kd, pw » parce que pour moi c’est assez obscur comme truc…

1 « J'aime »

bonjour
Merci pour ce tutoriel ca ma permis de découvrir une gestion de chauffage que je connaissais pas
cependant, je comprends pas comment déterminer le PID car j’ai beau lire cela ne me semble pas simple
Est ce que tu pourrais eclairer ma lanterne

Merci

Perso je n’ai pas poursuivi dans le PID car j’ai un reversible qui déborde bien et finalement depuis son installation les convecteurs servent peu…

c’est quoi un reversible

Cela doit être une climatisation réversible ou techniquement un pompe à chaleur air/air faisant du froid et du chaud :wink:

1 « J'aime »