Featured image of post Chauffage Connecté

Chauffage Connecté

Je mets en place une solution de chauffage connectée.

Information

Édit du 31/01/2025

J’ai simplifié mon automatisation. Cet article a donc été adapté en conséquence.

Problèmes

J’ai un thermostat dans mon salon qui pilote l’arrivée d’eau dans les différents radiateurs de mon logement. Ces derniers sont équipés de têtes thermostatiques permettant de gérer individuellement leurs niveaux de chauffage.

Le thermostat s’active quand son capteur de température est en dessous de la consigne (température cible). Les radiateurs ne peuvent donc s’activer que lorsqu’il fait froid dans le salon !

De ce fait, si j’ai besoin de chauffé une seule pièce uniquement (autre que le salon), cela m’impose les étapes suivantes :

  • Fermer les têtes thermostatiques des autres pièces
  • Augmenter la consigne du thermostat au-delà de la température du salon

À partir de là, le radiateur de la pièce chauffe tant que la température cible du salon n’as pas été atteinte. Comme le radiateur du salon ne chauffe pas, sa chauffe indéfiniment !

Bref, ce n’est idéale comme solution. Mais bon, cela me donne un prétexte pour expérimenter des trucs.

Recherches

Remarque

Cet article présente un raisonnement logique, ce qui n’as pas été réellement le cas.
En effet, j’ai d’abord tenté de réaliser une copie du thermostat avec le côté connecté en plus. J’avais réussi, mais physiquement, le système n’était pas intégrable convenablement.
Je ferais peut-être un article sur cela. Bien que cela soit un échec, la solution pourrais être utile pour d’autres.

J’ai donc besoin trouver des solutions pour les sujets suivants :

  • Connaitre les pièces qui ont besoin de chauffage
  • Piloter les radiateurs à distance
  • Commander l’activation du thermostat

Solutions

Pilotage des radiateurs

Pour actionner une tête thermostatique à distance, il faut tous bêtement une tête thermostatique connectée. J’en ai donc acheté une pour tester et comprendre le fonctionnement.
J’ai pris un Sonoff TRVZB car c’était le moins cher 🐀 et le pas trop moche des têtes compatibles Zigbee2MQTT (Z2M). J’ai pris en Zigbee pour la faible consommation qu’engendre le protocole. Il fonctionne avec trois piles AA.

Sonoff TRVZB

En l’ajoutant sur Z2M, je constate qu’il m’a créé une entité climate sur HA :

HA Climate

Information

Post-ajout, la tête est en mode “Éteint”. Il faut la passer en mode “Chauffage” pour qu’il fonctionne.

Lorsque la valeur de l’attribut current_temperature (température mesurée) est 1° en dessous de celle de temperature (qui correspond à la consigne), hvac_action passe dans l’état heat. Cela a pour effet d’ouvrir la vanne afin que l’eau circule dans le radiateur jusqu’a ce que la consigne soit atteinte.
Bingo ! J’ai résolu mes deux premiers sujets !

Pilotage du thermostat

En ouvrant et analysant mon thermostat, je comprends que :

  • Il est alimenté en 230 V
  • Que son action de mise en/hors service est assuré par un contact sec

Thermostat EBERLE Instat +3R7

Du coup, pour remplacer cela, il me faut juste un relais connecté. J’avais un Shelly 1 Gen1 qui trainait donc j’ai pris celui-là.
Il n’est plus en vente mais vous pouvez sans soucis opter pour sa version actuelle.

Mon nouveau thermostat : Shelly 1 Gen1

Avertissement

Le relais du thermostat initial est de 16 A.
Dans le cas d’une chaudière à eau, pas besoin d’autant (~5 A) mais pour les chauffages électriques, c’est indispensable !
J’ai pris le Shelly 1 car son relais est aussi à 16 A.

Automatisation

Logique

Mon installation finale comporte quatre têtes thermostatiques et un relais.

Il faut maintenant que je traduise la logique suivante :

  • Si au moins un radiateur est en chauffe, allumer le thermostat
  • Si tous les radiateurs ne sont pas en chauffe, éteindre le thermostat

En terme plus technique :

  • Si un des climate a son hvac_action à la valeur heat, lancé l’action turn_on sur le switch
  • Si aucun des climate a son hvac_action à la valeur heat, lancé l’action turn_off sur le switch

Du coup, l’allumage consiste à valider les attributs avec un OU logique et l’extinction par un ET.

Voici donc le résultat sur Node-RED :

Automatisation chauffage sous Node-RED

Remarque

Faire ainsi me permet indirectement de gérer les cas d’indisponibilités.
Dans ces cas-là, on considère que le chauffage n’est pas actif pour ces entités.

Allumage

Partie allumage

Dans la première colonne, je regarde si les têtes sont en chauffage actif régulièrement toutes les 10 secondes.

Node-RED : Exemple de poll state

Si c’est le cas, alors je regarde si le thermostat est inactif (colonne 2).

Node-RED : Exemple de current state

Si c’est bien le cas, alors je l’active (colonne 3).

Node-RED : Exemple de call service

Extinction

Partie extinction

Toutes les 10 secondes, je consulte le status de chaque tête. Dès qu’une est en mode de chauffage actif, le flow ne vas pas plus loin.

Node-RED : Exemple de inject

Node-RED : Exemple de current state

Si toutes les têtes sont bien inactives, je regarde si le thermostat est actif (colonne 3) et je l’éteins si c’est le cas (colonne 4).

Résultat

En fonction depuis plus d’une semaine, le système fonctionne correctement.
J’ai donc enfin un système de chauffage précis.

HA : climates & history-graph

Il ne me reste plus qu’à inventer des automatismes pour ajuster automatiquement les consignes.
J’ai comme idées d’utiliser, soit un planning, soit une gestion en fonction des présences dans mon logement (ou un mix des deux).

Généré avec Hugo
Thème Stack conçu par Jimmy