Domotiser une ancienne chaudière mazout : Gestion du thermostat

Introduction

Ma maison était équipée d’une chaudière mazout datant de 1985. J’avais en projet de la « domotiser », ce projet est le début de cette réalisation. Début car depuis, j’ai remplacé cette ancêtre par une chaudière gaz à condensation.

L’installation reste cependant identique car je conserve le thermostat « bête » (2 fils avec un relai) et des sondes de températures externes à la chaudière.

Désolé, cet article n’est pas terminé, mais la plupart des informations sont disponibles.

Grâce à Home Assistant, j’ai pu domotiser certains radiateurs via des vannes robotisées Eurotronic Spirit Z-Wave Plus.

Malheureusement, ces vannes ne chauffent réellement que si la chaudière envoie de l’eau chaude dans le circuit. Pour cela la chaudière doit être allumée et son circulateur doit tourner. Rien d’extraordinaire mais du coup, les vannes sont insuffisantes quelque soit leur programmation.

C’est là qu’intervient ce projet. L’idée est d’améliorer le thermostat historique, placé dans le salon. Celui-ci, malgré un système de programmation hebdomadaire, modes confort antigel et autres, n’est qu’un interrupteur.

Car au final, il suffit de dire « chauffe » via le thermostat pour que la chaudière envoie de l’eau chaude dans le circuit, en la chauffant au besoin. Tout ce qu’il est nécessaire, avec la chaudière en mode manuel (cad commandée par le thermostat uniquement), est de connecter le circulateur.

Note : Cet article ne couvre pas la configuration des vannes thermostatiques.

Attention!

Les fils qui arrivent au thermostat sont en 230V car c’est l’alimentation du circulateur. Néanmoins le thermostat lui-même fonctionne sur piles. Néanmoins, tout cela peut potentiellement incendier une maison, pensez-y.

Requis

Afin d’arriver à mon but, voici ma liste au père-noël :

  • Intégration du contrôle dans mon instance locale de Home Assistant;
  • Remontée des informations de températures de l’eau en entrée et sortie pour vérifier le bon fonctionnement de la chaudière;
  • Contrôle de l’alimentation générale de la chaudière pour forcer des on/off (j’ai également des climatisations réversibles);
  • Contrôle du circulateur (bypass du thermostat historique) pour envoyer de l’eau chaude vers n’importe quelle pièce;
  • Non-invasif, pas de modification dans le câblage interne de la chaudière ou pour démonter ces modifications;
  • Résilient, une intervention manuelle reste possible sur le thermostat historique, en cas de panne de la domotique par exemple;
  • Sûr, je n’ai pas envie de faire brûler la maison;
  • Ergonomique, s’agissant d’un élément de vie important, un utilisateur lambda doit être capable de savoir ce que le boîtier fait.

Voilà qui établit certaines limites.

Mon approche aura pour but:

  • D’embarquer la partie domotique dans un boîtier similaire à une boîte à fusibles classique mais dédiée à la domotique, placée près de la chaudière pour être invisible depuis les pièces de vie;
  • D’avoir, l’électronique fonctionnant en basse tension (3.3V-5V), un transformateur fiable et capable de piloter les 2 relais d’alimentation et thermostat ainsi que l’écran;
  • De proposer une interface d’informations sur le boîtier en plus du logiciel domotique. J’avais justement des écrans OLED de 0.96″ dans le coin.

Schéma général

Ci-dessous, une vue d’ensemble de comment tout cela peut fonctionner. Ca semble assez chargé, mais c’est en réalité divisé en 6 parties plutôt simples:

  1. Les radiateurs sont contrôlés individuellement grâce aux vannes Eurotronic Spirit Z-Wave Plus;
  2. Le thermostat est complété par un premier relais, qui simule le mode « chauffe »;
  3. L’alimentation générale est contrôlée par un second relais;
  4. La température de l’eau est mesurée par 2 sondes DS18B20 (eau entrante et eau sortante), simplement glissée sous l’isolant des tuyaux;
  5. L’écran de 0.96″ donne les informations de base (températures, états des relais);
  6. Et finalement le Wemos D1 Mini gère toute la partie chaudière ainsi que la connexion WiFi.

Composants

Les éléments constitutifs de notre installation sont ainsi :

  1. Un serveur Home Assistant avec MQTT : Le cerveau du système avec l’interface sur smartphone;
  2. Un microcontrôleur Wemos D1 mini : Idéal car Wi-Fi, qui ne coûte quasi rien et qui s’interface facilement avec le monde réel;
  3. Des thermomètres DS18B20 (OneWire) : Un sur chaque tuyau d’eau, ils donneront les mesures de température avec seulement 3 fils, et extensibles au boiler si besoin;
  4. Un module de 2 relais : Les relais serviront d’interrupteurs pour l’alimentation de la chaudière et la commande de thermostat;
  5. Un écran OLED (I2C) : Petit, il sert à afficher les informations de température et statuts des relais;
  6. Un transformateur au format rail DIN : Avec 3A et 5W, c’est idéal pour alimenter facilement le tout. Bonus, avec une LED intégrée, on voit d’un coup d’œil si le tout est sous tension;
  7. Finalement un coffret électrique avec rail DIN : Pour accueillir tout ce monde en sécurité.

Prototypage

Comme quasi tout projet DIY embarquant un ESP8266, c’est sur une breadboard que tout commence. Pour cela j’ai besoin de :

Breadboard

Après quelques tests, j’ai transféré le tout sur une protoboard. Comme je ne compte assembler qu’un seul boitier de ce style, ce n’est pas gênant de devoir y passer plus de temps que de raison.

Pour me faciliter la vie lors de la connexion du bus I2C pour l’écran OLED, j’ai inversé les pins D1/D2 via le micrologiciel. Les connexions sont ainsi :

Les terminaux servent ainsi à :

Micrologiciel

L’électronique est programmée via la librairie Homie. Cette librairie offre la possibilité d’automatiquement :

  • Connecter le module au WiFi, mais aussi se reconnecter;
  • Souscrire et pousser des informations sur le serveur MQTT;
  • Gérer des nœuds : Interrupteur, sondes de température;
  • Gérer l’affichage sur l’écran OLED.

Pour les personnes habituées aux librairies Arduino, autant dire que c’est d’une facilité sans nom car la plupart des librairies fonctionnent nativement.

Expliciter l’ensemble du code prendrait trop de temps mais voici l’essentiel :

  • Homie gère la configuration réseau au travail d’un portail captif;
  • Le code est structuré autour de fonctions setup et loop;
  • Un microcontrôleur physique héberge des Nœuds logiques;
  • Chaque nœud écoute et publie sur un topic MQTT spécifique;
  • Les nœuds matérialisent les composants physiques tels que relais et sondes de température ;
  • Homie gère les échanges avec le MQTT automatiquement;
  • Mon code restaure le dernier état déclaré des relais pour être résilient;
  • Finalement le code affiche un résumé des états sur l’écran OLED.

Vous retrouverez le code complet sur mon compte GitHub.

Exemple d’output du microcontrôleur dans Visual Studio Code.

Assemblage du boitier définitif

Le coffret final doit contenir :

J’ai utilisé des modèles 3D afin de créer le berceau pour le microcontrôleur ainsi que les fixations au rail.

Selon vos propres besoins, voyez ces modèles : https://www.thingiverse.com/tag:Dinrail

Installation : Pas encore finalisée

Attention lors de l’installation, vous touchez à du câblage 230v! Travaillez toujours avec l’électricité coupée, vérifiez avec un multimètre avant d’intervenir.

Connexion de l’alimentation du coffret

Pour un tel boitier, le plus rapide est de récupérer le câblage en sortie de boîte à fusibles de la chaufferie. Non seulement vous serez à côté de la chaudière, en particulier pour les sondes de température, mais vous bénéficiez des fusibles de protection.

Deviez le câblage des fusibles vers votre coffret. Nous verrons ci-dessous comment rétablir l’alimentation de la chaudière.

Interfaçage avec l’alimentation de la chaudière

Vous avez deux options en fonction du mode de fonctionnement par défaut (hypothèse de la domotique hors service) que vous souhaitez:

  1. Afin que la chaudière reste fonctionnelle en cas de panne de la domotique, vous pouvez connecter l’alimentation sur les bornes NC du relais;
  2. Pour contrôler uniquement la chaudière avec la domotique, et donc couper la chaudière en cas de panne de la domotique, il faut connecter les câbles sur les bornes NO du relais.

(comparaison des schémas de connexion)

Interfaçage avec le thermostat

Le thermostat et le relais sont à câbler en parallèle, permettant à l’un et l’autre de fonctionner ensemble. Néanmoins dès que l’un enclenche le circulateur, le second ne peut le couper. Par contre vous pouvez décider de couper l’alimentation générale de la chaudière.

Si vous voulez remplacer le thermostat, connectez uniquement les câbles venant de la chaudière. Le thermostat sera ainsi désactivé.

(photos installation + schéma)

Placement des thermomètres

C’est la partie la plus simple, cette installation est non-invasive.

Dans un monde parfait, vos tuyaux de chauffage sont isolés. Profitez-en pour glisser les sondes DS18B20 dessous. Grâce à l’isolation les températures de l’eau et contre le tuyau sont sensiblement identiques.

S’ils ne sont pas isolés, profitez-en pour le faire, c’est bon pour la planète et votre portefeuille.

(photos installation)

Mise sous tension

Plus qu’à remettre l’électricité ! Mais avant, vérifiez que tout est bien en place !

Après quelques secondes le WiFi sera connecté et l’écran affichera les données. Votre installation est terminée !

(photo installation définitive)

Configuration dans Home Assistant

La configuration consiste à créer 2 capteurs de température et 2 interrupteurs grâce à la plateforme MQTT puis à les ajouter à l’écran général.

Création des entités MQTT

Dans la configuration ci-dessous, mon module Wemos D1 Mini a l’identifiant bcddc2256bad. Il correspond au nom par défaut calculé depuis l’adresse MAC de la puce WiFi.

Attention quelques astuces :

  • Les relais, avec Homie, sont assignés avec un suffix /set au topic;
  • Comme je souhaite récupérer l’état des relais en cas de défaut, les valeurs sont gérées avec le flag « retain »;
  • Les entités relais et sondes sont de deux types distincts (switch et sensor).
switch:
  - platform: mqtt
    name: Chaudière
    icon: mdi:power
    optimistic: false
    retain: true
    command_topic: "devices/bcddc2256bad/switch-power/on/set"

  - platform: mqtt
    name: Circulateur
    icon: mdi:engine
    optimistic: false
    retain: true
    command_topic: "devices/bcddc2256bad/switch-circulator/on/set"

sensor:
  - platform: mqtt
    name: Eau en sortie
    unique_id: furnace_water_out
    device_class: temperature
    state_topic: "devices/bcddc2256bad/temperature-WaterOut/degrees"
    unit_of_measurement: "°C"

  - platform: mqtt
    name: Eau en entrée
    unique_id: furnace_water_in
    device_class: temperature
    state_topic: "devices/bcddc2256bad/temperature-WaterIn/degrees"
    unit_of_measurement: "°C"

Ajout à l’interface

Pour ajouter ces entités à l’écran d’accueil, j’ai choisi de les placer dans une page dédiée au chauffage.

Les entités de la chaudière sont disposées sur 2 lignes avec les sondes de températures puis les relais. Les autres entités correspondent aux vannes thermostatiques robotisées Z-wave. Les données affichées sont similaires à celle de l’écran OLED.

cards:
  - cards:
      - entity: sensor.eau_en_entree
        graph: line
        type: sensor
      - entity: sensor.eau_en_sortie
        graph: line
        type: sensor
    type: horizontal-stack
  - cards:
      - entity: switch.chaudiere
        hold_action:
          action: none
        show_icon: true
        show_name: true
        tap_action:
          action: toggle
        type: button
      - entity: switch.circulateur
        hold_action:
          action: none
        show_icon: true
        show_name: true
        tap_action:
          action: toggle
        type: button
    type: horizontal-stack
type: vertical-stack

Liste finale du matériel

Les prix pouvant varier fortement en fonction des marques et disponibilités, les prix sont à titre informatif, référez vous au site marchand pour le prix du jour.

Dans certains cas, les liens pointent vers des kits plus complets que nécessaires (protoboard, terminaux, cables etc). Le prix est donc à ajuster en fonction de ce que vous avez déjà et de ce que le kit contient réellement.

Serveur Home Assistant

Nécessaire pour héberger l’interface de gestion ainsi que le serveur MQTT.
Un ordinateur peut faire l’affaire mais une Raspberry Pi vous fera gagner en consommation électrique, en encombrement mais aussi en facilité de bidouille. En effet, en le gardant séparé de votre ordinateur, la RPi peut rester allumée 24/7 ou éteinte quand vous faites vos recherches sur un autre ordinateur.
Ajoutez un écran premier prix et un ensemble clavier/souris sans fil pour avoir un vrai ordinateur.

Réseau Z-wave Vannes thermostatiques

Optionnel, des vannes robotisées Z-wave, uniquement pour permettre un réglage par pièce de la température, en remplacement de vannes thermostatiques.

Je vous liste deux contrôleurs Z-wave, en USB ou GPIO pour RPi, un seul est nécessaire et à installer sur la machine hébergeant Home Assistant.

Si votre maison est grande ou si le contrôleur Z-wave est isolé (garage par exemple), je vous conseille fortement, même sans les utiliser, d’ajouter des prises Z-wave, celles-ci serviront de relais.

Boitier d’interfaçage de la chaudière

Nécessaire, c’est tout le sujet de cet article.

Poste Pièce Où acheter Prix approximatif
Boitier Coffret électrique 13 modules Amazon> 10-20€
Transformateur Module DIN 230V-5V AliExpress 10€
Contrôleur WiFi Wemos D1 Mini
Ecran I2C OLED 0.96″
Blocs terminaux à vis (2-3-4 pins) & protoboard
Résistance 4.7k ohm
AliExpress
AliExpress
AliExpress
AliExpress
4€
3€
5€ (kit)
4€ (kit)
Relais Module à 2 relais AliExpress 3€
Sondes Modules DS18B20 AliExpress 3€

Conclusion

J’ai trouvé ce projet très complet car il m’a permis de me remettre à Homie sur Wemos D1 Mini mais aussi à apprendre à intégrer tout cela dans un boitier standard avec rail DIN. C’était aussi l’occasion de tester la modélisation 3D, pour la fixation de l’électronique sur rail DIN.

Pour la partie Home Assistant, l’intégration des différents composants électroniques (relais, température) était intéressante pour rendre tout cela lisible et utilisable facilement.

Post Author: Shut

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *