Accueil » Domotique » Home Assistant » Comment configurer la gestion intelligente du chauffe-eau avec Home Assistant ?
Home Assistant

Comment configurer la gestion intelligente du chauffe-eau avec Home Assistant ?

mode-gestion-pilotage-chauffe-eau-domotique-home-assistant-calendrier

Les amis, dans un précédent guide je vous expliquais comment installer un module domotique dans le tableau électrique pour prendre le contrôle du chauffe-eau tout en conservant le fonctionnement historique de déclenchement via le compteur Linky.

home-assistant-guide-pilotage-chauffe-eau-sheely-module-pro

Économisez de l’énergie et de l’argent avec la domotique pour le chauffe-eau

Nous vous en parlions hier, cette année encore votre chauffe-eau va cesser de fonctionner le temps de midi si vous êtes sur un abonnement en heures creuses et que le pays se trouve dans une situation de tension sur le…


Dans ce guide, je vous explique comment procéder à la mise en place et au câblage du module Shelly pro 1 dans le tableau électrique pour donner à la domotique le contrôle sur la gestion du Linky pour le chauffe-eau. Je vous exposais par la même occasion comment la domotique Home Assistant peut permettre une gestion fine via son dashboard avec une section dédiée au chauffe-eau.

Comme toujours avec HA, le tableau de bord domotique de pilotage du chauffe-eau peut facilement prendre forme avec un design attractif et un accès direct à toutes les informations ainsi qu’au pilotage simplifié de ce dernier.

code yaml du tableau de bord à copier coller dans votre HA disponible au téléchargement en fin de guide – © domo-blog

Vous avez été nombreux à me demander plus d’information sur ce design et plus particulièrement sur la gestion du mode de gestion automatisé que j’utilise avec Home Assistant.

Le guide du jour va donc vous donner toutes les étapes pour mettre en place, vous aussi, un mode de gestion automatisé de votre chauffe-eau dans la domotique Home Assistant.

Matériel nécessaire

Pour rappel, dans le précédent guide je vous expliquais comment installer le module Shelly Pro 1 pour prendre le contrôle du chauffe-eau.

Mais également l’utilisation du module domotique Zigbee Owon à pince ampèremétrique pour disposer de la donnée de consommation du chauffe-eau. Mais cela peut aussi être un second module Shelly, le Shelly EM qui permet aussi la lecture de consommation via une pince ampèremétrique.

Enfin, il y a aussi les informations de téléinformation qui sont utilisées dans ce guide, notamment pour le suivi de la période “heures creuses” ou “heures pleines”. Pour cela, j’utilise le module Zigbee Lixee mais cela peut aussi être un module TIC autres comme nous vous en expliquons la mise en oeuvre ici.

Les entités à créer

Tout d’abord, vous allez devoir créer les différentes entités qui vont permettre la gestion du chauffe-eau, ainsi que les retours d’informations.

Etat CE

Pour déterminer l’état du chauffe-eau, nous allons simplement utiliser une entité basée sur l’information de consommation du chauffe-eau.

Pour créer l’entité Etat CE, ouvrez le fichier configuration.yaml et repérez la section “template sensors” ci-dessous.

template:
  - sensor:

Si elle n’existe pas, créez la section template sensor, puis ajoutez simplement le code suivant à votre fichier. Bien entendu, vous veillerez à remplacer “sensor.owon_compteur_power_l1” par le nom de l’entité correspondant à votre module de suivi de consommation du chauffe-eau.

# Etat du CE         
    - name: "CE state"
      state: 
          {% set conso = states('sensor.owon_compteur_power_l1') | float %}
      
          {% if conso | float > 5 %} ON
          {% elif conso | float < 5 %} OFF
          {% endif %}

Contact CE

L’entité Contact CE est tout simplement l’entité correspondante au contact relai du module Shelly Pro qui pilote le chauffe-eau.

Tarif en cours

L’entité tarif en cours est une autre entité qui permet de disposer de l’information sur la tarification en cours sur le compteur Linky. Pratique et utile, l’information est extraite des informations de téleinformation, collectées et envoyées au système domotique par le module Lixee. Pour afficher l’information dans le suivi de gestion du chauffe-eau, créez simplement une seconde entité dans le fichier configuration.yaml toujours sous la section template.

# Tarification EDF
    - name: "Tarif en cours"
      state: >
          {% if is_state('sensor.lixeee_active_register_tier_delivered', 'HC..') %}
            Heures Creuses
          {% else %}
            Heures Pleines
          {% endif %}

Mode CE

Nous voici à présent dans le module le plus intéressant, celui qui va nous permettre de gérer de manière intelligente le chauffe-eau. Dans mon cas, j’ai voulu pouvoir gérer différents cas via ce mode. (Auto, Eco, Vacances, Weekend et OFF).

Il s’agit d’une entité liste à créer sous Paramètres/Appareils et services/Entrées. Puis indiquez-y les différentes valeurs.

Venons-en à présent aux automatismes liés à cette entité.

Mode Auto correspond au mode qui laisse la main au compteur Linky, c’est-à-dire que ce mode laisse le contact du Shelly fermé de sorte à ce que les ordres envoyés par le compteur activent et désactivent la chauffe. C’est le mode “Bypass” dirons-nous.

Rien de particulier à faire sur sélection de ce mode, si ce n’est s’assurer que le contact du module Shelly est bien fermé.

alias: CE Activation shelly sur select mode Auto
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.mode_ce
    to: Auto
condition: []
action:
  - service: homeassistant.turn_on
    data: {}
    target:
      entity_id: switch.chauffe_eau_shelly_switch_0
mode: single

Mode Eco correspond à un mode qui suspend l’activation du chauffe-eau sur les heures creuses du midi. Cela revient finalement à reproduire la “désactivation virtuelle” instaurée par Enedis le temps de l’hiver pour moins consommer à l’échelle du pays pour éviter les périodes sous tension (sans mauvais jeu de mot)…

Une première automatisation déclenchée à 11h s’assure que le mode est bien sur Eco pour ouvrir le contact du Shelly

alias: CE désactivation 11h00 sur mode ECO
description: ""
trigger:
  - platform: time
    at: "11:00:00"
condition:
  - condition: state
    entity_id: input_select.mode_ce
    state: Eco
action:
  - service: homeassistant.turn_off
    data: {}
    target:
      entity_id: switch.chauffe_eau_shelly_switch_0
mode: single

Et une seconde automatisation referme le contact à 20h pour permettre la chauffe de l’eau quand les heures creuses de la nuit arrivent.

alias: CE activation 20h00 sur mode ECO
description: ""
trigger:
  - platform: time
    at: "20:00:00"
condition:
  - condition: state
    entity_id: input_select.mode_ce
    state: Eco
action:
  - service: homeassistant.turn_on
    data: {}
mode: single

Mode Vacances fonctionne de paire avec une autre entité. En effet, le mode vacances va induire l’interruption de la chauffe, mais il nous faut aussi indiquer au système quand relancer la chauffe (date du retour). Pour ce faire, nous créons une nouvelle entité “Retour” qui va permettre de renseigner la date de retour afin de programmer la remise en route automatique du chauffe-eau par le système domotique.

Pour créer cette entité de sélection de date, rendez-vous sous Paramètres/Appareils et services/Entrées puis créez une nouvelle entrée Date et/ou heure.

Ce qui nous permet alors de disposer d’une nouvelle entité “Retour” sous la gestion du chauffe-eau. Nous verrons juste après comment elle agit sur le système.

Voyons maintenant le fonctionnement du mode vacances. La sélection du mode vacances exécute une première automatisation qui agit sur le module Shelly Pro pour ouvrir le contact (interrompre la chauffe jusqu’à nouvel ordre).

alias: CE stop chauffe sur mode vacance
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.mode_ce
    to: Vacances
condition: []
action:
  - service: homeassistant.turn_off
    data: {}
    target:
      entity_id: switch.chauffe_eau_shelly_switch_0
mode: single

Vient ensuite la nécessité de définir une date de retour qui déclenchera la remise en route du chauffe-eau. C’est ici que nous utilisons notre entité “Retour” pour définir cette date.

Le fait de choisir une date de retour permet à une seconde automatisation de programmer la remise en route dans le calendrier home assistant. Il faut donc créer un nouveau calendrier dédié à la gestion du chauffe-eau. Pour cela, rendez-vous dans Paramètres/Appareils et services, puis créez le calendrier “CE”.

Détaillons maintenant l’automatisation liée à la définition de la date de retour. L’automatisation ci-dessous est déclenchée dès qu’une nouvelle date est sélectionnée dans l’entité Retour. Puis l’automatisation utilise cette date pour créer un nouvel évènement dans le calendrier du système domotique à 22h00, la veille du retour.

alias: CE Programmation retour calendrier
description: Création de l'evennement dans le calendrier
trigger:
  - platform: state
    entity_id:
      - input_datetime.retour
condition: []
action:
  - service: calendar.create_event
    data:
      summary: Rallumage du CE
      start_date_time: >-
        {{ (states('input_datetime.retour') | as_datetime | as_local -
        timedelta(hours=2)).isoformat() }}
      end_date_time: >-
        {{ (states('input_datetime.retour') | as_datetime | as_local -
        timedelta(hours=1)).isoformat() }}
    target:
      entity_id: calendar.ce
mode: single

Tout de suite après sélection de la date de retour de vacances, un nouvel évènement apparaît dans le calendrier internet de la domotique Home Assistant la veille du jour de retour indiqué. Le but étant de permettre la reprise de la chauffe pendant les heures creuses de la nuit qui précède le retour. Ainsi, pas de marche forcée sur les heures pleines et surtout de l’eau chaude à dispo dès le passage de la porte !

Il reste une dernière automatisation à programmer qui rétablira la chauffe via le contact du Shelly Pro 1 quand l’évènement dans le calendrier sera atteint.

alias: CE Activation du contact selon calendrier
description: ""
trigger:
  - platform: calendar
    event: start
    offset: "0:0:0"
    entity_id: calendar.ce
condition: []
action:
  - service: homeassistant.turn_on
    data: {}
    target:
      entity_id: switch.chauffe_eau_shelly_switch_0
  - service: input_select.select_option
    data:
      option: Auto
    target:
      entity_id: input_select.mode_ce
mode: single

Mode Weekend est une version très proche au mode vacances. On peut soit, tout simplement l’utiliser de le même manière, soit définir une automatisation qui désactive le contact le vendredi soir, pour le réactiver le samedi soir. Mais ce mode est conditionné au fait que vous partez en week-end le vendredi. C’est selon les habitudes de chacun. Sinon, le mode vacances est beaucoup plus souple et dynamique. Que vous partiez 1, 2, 3 ou 4 jours, peu importe la durée du week-end, ce mode n’est pas figé et s’adapte.

Mode OFF est un mode qui est attaché à une automatisation qui coupe tout simplement la chauffe jusqu’à une date indéterminée. Je ne détaille pas cette automatisation qui est on ne peut plus simple à mettre en oeuvre. On peut d’ailleurs tout simplement réutiliser l’automatisation qui suspend la chauffe sur passage en mode vacances.

Conclusion

Vous avez à présent avec notre premier guide d’installation du module et ce guide complémentaire, toutes les informations pour déployer, vous aussi, une gestion automatique et intelligente de votre chauffe-eau dans le système domotique Home Assistant.

Si vous désirez disposer de mon design pour les cartes et le graphique de consommation sous votre Home Assistant, vous pouvez télécharger le code à copier-coller ici. Vous participez au passage au soutien du blog, alors merci !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

10 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • C’est très amusant et sympa. Je suppose que la finalité est de réaliser des économies sur sa facture et de “jouer” un peu avec. on téléphone. Personnellement j’ai opté pour une solution moins fun mais plus low tech. Un bête programmateur journalier mécanique sur la prise du cumulus. Il met en chauffe deux fois le cumulus aux heures creuses. Une fois tôt le matin pendant une heure. Une fois entre midi et deux pendant 45 minutes. Le ballon fait 300l. J’ai réduit ma conso de 0,5 centimes à 1 euro par jour (moyenne quotidienne de conso heure par heure d’après Hellowatt) . Investissement 15 euros. C’est parfait.

  • bonjour,
    dans mon cas,le me suis servi du shelly1plus,pour commander le contacteur du ballon d’eau chaude,et je me sers de l’application de shelly qui est très fonctionnelle pour programmer différentes heures de mise en route ,absence pour vacances etc….Le tout sur le Cloud
    ou en local en WiFi avec un simple smartphone.

  • Bonjour merci pour votre tutorial j’ai réussi a l’appliquer pour mon installation en l’adaptant a mon matériel mais je ne parviens pas a paramétré mon dashboard comme vous par exemple le bouton retour de mon coté n’affiche pas la date
    Pouvez-vous partagé les code de paramétrage des tuiles du dashbord bouton et graphique ?

      • J’utilise aussi mushroom cards j’ai chercher dans la doc une carte pour la date mais je n’est pas trouver
        actuellement j’utilise les cartes suivante :
        custom:mushroom-template-card
        custom:mushroom-light-card
        custom:mushroom-select-card

      • Il faut choisir une “entity-card” tout simplement
        ————————————
        type: custom:mushroom-entity-card
        entity: input_datetime.retour
        icon_color: deep-orange

  • Bonjour Aurélien,

    J’ai une installation similaire à la tienne
    J’ai perdu récemment mon thermostat et j’ai du le remplacer. Ca m’a donné l’idée d’ajouter une sonde de température. THS317-ET fonctionne bien avec Zigbee2MQTT, j’ai installé la sonde avec la sonde du thermostat que j’ai remplacé.
    Une idée comme ça 😉

construction et domotique
promos domotique
Choix box domotique
promos domotique

Matériel nécessaire

Pour rappel, dans le précédent guide je vous expliquais comment installer le module Shelly Pro 1 pour prendre le contrôle

Les entités à créer

Tout d’abord, vous allez devoir créer les différentes entités qui vont permettre la gestion du chauffe-eau, ainsi que les retours

Conclusion

Vous avez à présent avec notre premier guide d’installation du module et ce guide complémentaire, toutes les informations pour déployer,

  • Matériel nécessaire
  • Les entités à créer
  • Conclusion