Domotique

J’automatise mon chauffage électrique avec Home Assistant

Après avoir domotisé mes chauffages électriques grâce aux excellents modules de chez NodOn. J’automatise mon chauffage électrique via Home Assistant

Le besoin

Dans mon logement j’ai uniquement des radiateurs électriques, un dans le salon et dans la chambre, j’ai aussi un sèche-serviettes électrique dans la salle de bains. Tous sont utilisables via un fil pilote via les modules radiateurs de chez NodOn que j’ai déjà présenté en vidéo.

Mon besoin est simple, je souhaite chauffer mon logement à une certaine température selon la présence, des horaires et mon plan tarifaire en cours. Je suis récemment passé sur un contrat Tempo, donc chauffer en heures pleines, les jours rouges, c’est non !

Configuration sur Home Assistant

Je saute la partie où je connecte mes modules NodOn, le sujet à déjà été abordé. Pour gérer le chauffage, le meilleur reste selon moi les thermostats. Il existe plusieurs intégrations tel que Versatile Thermostat que j’ai essayé pendant un moment mais qui ne m’a pas du tout convaincu. Le thermostat s’éteint sans raison alors que la température cible n’est pas du tout atteinte. J’ai donc cherché ailleurs et plus simple : generic thermostat, proposé officiellement par Home Assistant et qui fonctionne parfaitement.

Le principe du thermostat est simple, il va allumer et éteindre le radiateur grâce au fil pilote afin de stabiliser la température selon une tolérance définie, 0,3 degré en dessous et au-dessus de la température cible dans mon cas.

Vous l’aurez compris, ici je parle de thermostat virtuel, pas physique. Ils se créent dans Home Assistant directement. Pour faire fonctionner un thermostat virtuel, il y a besoin de

  • Un module connecté en fil pilote sur le radiateur
  • Un capteur de température
image

MODULE CHAUFFAGE FIL PILOTE CONNECTÉ ZIGBEE 3.0 – NODON

aqara t1

CAPTEUR DE TEMPÉRATURE ET D’HUMIDITÉ ZIGBEE 3.0 TEMPERATURE AND HUMIDITY SENSOR T1

Pour les prix du matériel requis, compter environ 60€ par radiateur.

La configuration du thermostat dans le fichier configuration.yaml de Home Assistant. Voici un template avec les informations à changer selon votre installation et besoin.

climate:
  - platform: generic_thermostat
    name: Salon # Nom du thermostat
    heater: switch.radiateur_salon # module fil pilote nodon 
    target_sensor: sensor.temp_salon_temperature # capteur de température
    min_temp: 15 # Température minimum du thermostat
    max_temp: 21 # Température maximum du thermostat
    ac_mode: false
    target_temp: 17 # Température cible par défaut
    cold_tolerance: 0.3
    hot_tolerance: 0.3
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1

Il faut bien sûr redémarrer Home Assistant pour prendre en compte les modifications apportées dans le fichier configuration.yaml.

Ma configuration me permet d’avoir un thermostat par pièce, ce qui est très pratique.

Créer l’entité switch

Depuis une mise à jour récente de Zigbee2MQTT, l’entité switch pour allumer et éteindre le module NodOn a disparu, nous sommes obligés de faire une bidouille comme expliqué dans la vidéo liée à l’article. Voici le code pour l’entité switch. Créer à partir d’un interrupteur input_boolean.

switch:
  - platform: template
    switches:
      radiateur_salon:
        value_template: "{{ is_state('input_boolean.radiateur_salon', 'on') }}"
        turn_on:
          action: input_boolean.turn_on
          entity_id: input_boolean.radiateur_salon
        turn_off:
          action: input_boolean.turn_off
          entity_id: input_boolean.radiateur_salon

Automatisation horaire

Ces automatisations horaires me permettent de réduire la température cible du thermostat à 16°c pendant la nuit sur la chambre et le salon.

Capture decran 2024 03 09 a 09.19.37
Capture decran 2024 03 09 a 09.20.34

Les thermostats se rehaussent à 19°C pendant la journée.

Automatisation EDF Tempo

Le but ici est de désactiver complètement les radiateurs pendant les heures pleines en jours rouges. Pour connaître l’état du plan tarifaire en cours j’utilise un module LiXee ZLinky.

LIXEE – MODULE TIC VERS ZIGBEE 3.0 POUR COMPTEUR LINKY (LIXEE ZLINKY)

Capture decran 2024 03 09 a 09.25.33

Je désactive aussi mon déshumidificateur, afin de consommer le moins possible.

Capture decran 2024 03 09 a 09.26.10

J’ai aussi une automatisation qui me permet de réactiver les thermostats lors de la fin du jour rouge. Et j’ai également une automatisation “pare-feu” qui désactive automatiquement les thermostats lorsqu’on est en HPJR.

Capture decran 2024 03 09 a 09.29.33
Capture decran 2024 03 09 a 09.30.18

Mes automatisations de présences

J’éteins mes thermostats lors de mon absence à mon domicile. Pour la gestion des automatisations basées sur la géolocalisation j’utilise HomeKit qui est raccordé sur Home Assistant. Plus tard, je pense basculer sur un système de tracker Bluetooth.

Capture decran 2024 03 09 a 09.33.40

Automatisation de la Salle de Bains

La salle de bains est la seule pièce que je gère via le module NodOn directement sans passer par un thermostat. Ici j’allume le chauffe-serviettes uniquement le matin pendant 1h.

Capture decran 2024 03 09 a 09.36.12
Capture decran 2024 03 09 a 09.36.39

Jérémy Taunay

🪪 Be smarter everyday 🏮 Less is more 🐧 IT Guy 👟 Runner

13 Comments

  1. c’est bon j’ai réussi à débloquer la situation,
    même si je ne suis pas au bout, j’ai fais un grand pas ,-)

  2. Bonjour Jeremy,
    je suis perdu dans l’automatisation du chauffage,
    trop d’éléments à trouver (que je ne trouve pas 🙂
    Pourrais tu mettre le code de l’automatisation du chauffage , que j’essaye de comprendre où ce trouve les éléments que tu utilises

  3. Salut Jérémy, merci beaucoup pour ton article & video qui m’ont beaucoup motivé et aidé.
    J’ai tout acheté en fonction de ton tutoriel et quelle fut ma frustration lorsque je ne suis pas arrivé à configurer les thermostats !
    En effet, j’ai la version plus récente (2024.10.x) de HA et il faut noter que la syntaxe YAML a changé pour les switchs.
    voici le détail
    —- YAML —-
    – platform: template
    switches:
    chauffage_salon:
    value_template: “{{ is_state(‘input_boolean.chauffage_salon’, ‘on’) }}”
    turn_on:
    action: input_boolean.turn_on
    target:
    entity_id: input_boolean.chauffage_salon
    turn_off:
    action: input_boolean.turn_off
    target:
    entity_id: input_boolean.chauffage_salon
    —- END YAML—-

  4. bonjour,
    j’ai apprécié ta vidéo mais elle date de 9 mois déjà (le temps passe trop vite lol),
    je vais très prochainement passer le pas de la domotique et j’aurais 1 petite question :
    tu utilises le NodOn Fil Pilote Zigbee SIN-4-FP-21
    mais est ce que le SIN-4-1-21 (sans fil pilote) associé à un thermostat n’offrirait pas les mêmes services ?
    Son avantage serait de pouvoir intégrer le tableau électrique avec un boitier rail.
    Cordialement et merci pour tes vidéos

    1. Bonjour François,
      Oui ça passe vite, l’hiver vient !
      Pour moi le SIN-4-FP-21 peut être aussi mis dans un boîtier rail. Aucune idée si le SIN-4-1-21 peut être utilisé, je n’ai pas pu faire l’expérience.

    2. merci de la réponse
      Oui, le SIN-4-FP-21 peut être mis dans un rail dans le tableau, mais dans ce cas il faut que le fil pilote aille jusqu’au tableau.
      Cordialement

  5. Bonjour Jeremy, merci pour cette vidéo très claire et instructive.

    Je réfléchi effectivement à mettre en place un système de pilotage de mes radiateurs électriques en raison de la loi obligeant une telle gestion au 02 /01/27.

    N’ayant aucune solution domotique à ce jour, il me semble que ce serait une bonne solution associée à une box sous home assistant.

    Je souhaiterais par contre qu’il soit également possible de piloter manuellement et par exception les radiateurs (si pas accès à l’application).

    J’ai l’impression qu’avec les modules intégrés dans le mur ce ne serait pas possible. Confirmés tu ? Y aurait-il des solutions de contournement ?

    Il me semble qu’une solution basée sur des modules heatzy ou konyxs ecosy le permettrait. As-tu un avis sur la question ? Est- ce que ce ces solutions seraient compatibles avec home assistant ?
    Ou est-ce que le choix de home assistant n’est pas à privilégier dans mon cas ?

    Merci pour ton retour.

    1. Bonjour pierre
      Tu peux les contrôler manuellement avec n’importe quel type de bouton zigbee par exemple relié à Home Assistant.
      Je n’ai pas pu expérimenter les Heatzy, il me semble que mon collègue sur YouTube le journal de Thomas en a chez lui. IL a fait une vidéo sur le sujet.
      Je pense que Home Assistant n’est pas forcément le choix de la simplicité si le besoin de domotique est simplement pour les radiateurs. Ce n’est pas une solution Plug & Play, il y a un travail de recherche à faire selon vos connaissances informatiques/domotique 😉

  6. Salut Jérémy,
    Merci pour ta vidéo, elle m’a bien aidé à réaliser l’installation chez moi.
    Je te partage mon code, j’ai réussi à le faire sans créer de input_boolean :
    climate:
    – platform: generic_thermostat
    name: Salle de Bain # Nom du thermostat
    heater: switch.radiateur_salle_de_bain_switch # Module fil pilote pour le radiateur de la salle de bain
    target_sensor: sensor.capteur_sdb_temperature # Capteur de température dans la salle de bain
    min_temp: 15 # Température minimum du thermostat
    max_temp: 24 # Température maximum du thermostat
    ac_mode: false
    target_temp: 19 # Température cible par défaut
    cold_tolerance: 0.3
    hot_tolerance: 0.3
    min_cycle_duration:
    seconds: 5
    keep_alive:
    minutes: 3
    initial_hvac_mode: “off”
    away_temp: 12
    precision: 0.5

    switch:
    – platform: template
    switches:
    radiateur_salle_de_bain_switch:
    friendly_name: “Radiateur Salle de Bain”
    value_template: “{{ is_state(‘select.rad_sdb_pilot_wire_mode’, ‘comfort’) }}”
    turn_on:
    – service: select.select_option
    target:
    entity_id: select.rad_sdb_pilot_wire_mode
    data:
    option: “comfort”
    turn_off:
    – service: select.select_option
    target:
    entity_id: select.rad_sdb_pilot_wire_mode
    data:
    option: “off”

Leave a Reply

Your email address will not be published. Required fields are marked *