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.
En l’ajoutant sur Z2M, je constate qu’il m’a créé une entité climate
sur HA :
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
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.
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’actionturn_on
sur le switch - Si aucun des climate a son
hvac_action
à la valeur heat, lancé l’actionturn_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 :
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
Dans la première colonne, je regarde si les têtes sont en chauffage actif régulièrement toutes les 10 secondes.
Si c’est le cas, alors je regarde si le thermostat est inactif (colonne 2).
Si c’est bien le cas, alors je l’active (colonne 3).
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.
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.
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).