Piloter un boiler Atlantic avec un Shelly 1PM Gen4 et Home Assistant

Câblage 3×230 V sans neutre, mesure réelle de la puissance, intégration locale et heures creuses wallonnes 2026.

Nicolas · 14 juillet 2026

Retour d’expérience documenté. Ce guide décrit l’installation finale réellement retenue pour un boiler Atlantic 200 L — 2200 W — 230 V, alimenté sur un réseau belge 3×230 V sans neutre, avec un Shelly 1PM Gen4 et Home Assistant.
La particularité essentielle est que le courant du boiler traverse directement la sortie O du Shelly. C’est indispensable pour obtenir la puissance et l’énergie réelles : le Shelly 1PM Gen4 mesure la charge raccordée à O, et non un courant simplement repris sur les bornes L.

1. Résultat final

L’architecture obtenue est la suivante :

Architecture générale
Architecture générale

Le système permet :

Ce qui est confirmé et ce qui doit encore être vérifié sur place

Élément Statut
Boiler Atlantic, 200 L, 2200 W, 230 V, code visible 154320
Réseau 3×230 V sans neutre
Courant nominal Environ 9,6 A à 230 V
Module Shelly 1PM Gen4, 16 A
Mesure de puissance Uniquement sur la sortie O
Montage final Sans contacteur : boiler directement derrière O
Entrée SW Non utilisée, laissée vide
Protection requise Disjoncteur bipolaire max. 16 A, courbe B ou C, ≥ 6 kA selon Shelly
Entité de commande HA Probablement switch.boiler_etage, à confirmer dans votre registre d’entités
Entités de puissance/énergie Leur identifiant exact doit être copié depuis Home Assistant

2. Le point technique décisif : où le Shelly mesure-t-il ?

Le Shelly 1PM Gen4 possède trois bornes L, deux bornes N, une entrée SW et une sortie O.

Les bornes multiples L et N servent à l’alimentation et au repiquage. Elles ne constituent pas un compteur traversant indépendant. Le schéma interne officiel place l’ampèremètre dans le chemin de la sortie O.

Cela explique le comportement observé lors du premier montage avec le contacteur Hager ES220 :

La solution finale a donc consisté à retirer le contacteur du circuit de puissance et à raccorder directement la phase du boiler à O. Lorsque le thermostat réclame de la chaleur, la mesure attendue est désormais de l’ordre de 2,0 à 2,6 kW, selon la tension réelle et la résistance de chauffe.

3. Sécurité et limites

Cette installation manipule du 230 V entre deux phases actives. Une erreur peut provoquer électrocution, incendie ou détérioration du boiler et du Shelly.

Règles impératives

  1. Faire réaliser ou valider le câblage par une personne qualifiée.
  2. Couper le disjoncteur bipolaire du circuit et le consigner avant toute intervention.
  3. Vérifier l’absence de tension avec un appareil adapté ; ne pas se fier à l’état OFF du Shelly.
  4. Ne jamais appeler le conducteur raccordé à N « neutre » dans cette installation : il s’agit de L2, une phase active.
  5. Identifier physiquement les conducteurs L1, L2 et PE, sans se fier uniquement aux couleurs.
  6. Utiliser une protection amont conforme aux exigences du Shelly : maximum 16 A, courbe B ou C, pouvoir de coupure minimal 6 kA, classe de limitation 3.
  7. Installer le Shelly dans un coffret électrique fermé, propre et accessible, avec maintien des câbles et sans contact direct avec la mousse isolante.
  8. Respecter la température ambiante documentée du Shelly, limitée à 40 °C. Un grenier peut dépasser cette valeur en été.
  9. Utiliser des conducteurs et raccords adaptés au circuit, avec embouts lorsque nécessaire.
  10. Conserver la terre du boiler en liaison directe ; elle ne traverse jamais le Shelly.

Attention : coupure monopolaire en fonctionnement normal

Le Shelly coupe uniquement L1. L2 reste raccordée directement au boiler. Le boiler peut donc encore présenter une tension dangereuse par rapport à la terre lorsque le Shelly est OFF.

Le Shelly OFF est une commande fonctionnelle, pas un dispositif d’isolement. Le seul moyen de rendre le circuit sûr pour une intervention est de couper le disjoncteur bipolaire et de contrôler l’absence de tension.

Point de contrôle sur la tension

Une capture de l’application a montré environ 250,8 V. La documentation du Shelly indique une alimentation 110–240 V AC et une tension de commutation maximale de 240 V AC. La tension doit être contrôlée avec un multimètre approprié. Si une valeur durablement supérieure à la plage documentée est confirmée, demander l’avis de Shelly et d’un électricien avant de considérer le montage permanent.

4. Matériel utilisé

Équipement Caractéristique Rôle
Boiler Atlantic 200 L, 2200 W, 230 V Production d’eau chaude
Relais/compteur Shelly 1PM Gen4 Commande, puissance, énergie
Protection Disjoncteur bipolaire C16, ≥ 6 kA Protection du circuit et du Shelly
Coffret Coffret électrique adapté Protection mécanique et isolation
Bornes Borniers ou connecteurs adaptés Répartition L2 et raccordements
Câble Section validée pour le circuit, généralement 2,5 mm² Alimentation du boiler
Réseau Wi‑Fi local Liaison vers Home Assistant
Supervision Home Assistant + intégration Shelly Automatisation et historique

Le Shelly accepte des conducteurs de 0,5 à 4 mm², demande un dénudage de 6 à 7 mm et annonce un couple maximal de 0,4 Nm sur ses bornes. Respecter la notice du fabricant et la nature exacte des conducteurs utilisés.

5. Schéma de câblage final

Schéma de câblage 3×230 V
Schéma de câblage 3×230 V

5.1 Repérage logique

Le schéma utilise les noms fonctionnels suivants :

5.2 Correspondance avec le câblage réellement décrit

Dans l’installation photographiée :

Ces couleurs sont propres à cette installation et ne doivent pas être reproduites aveuglément ailleurs.

5.3 Raccordement borne par borne

Borne Raccordement
Shelly L L1 en provenance du disjoncteur bipolaire
Shelly N L2 en provenance du disjoncteur bipolaire
Shelly O conducteur vers la première borne d’alimentation du boiler
Shelly SW vide
Boiler, autre borne L2 direct
Boiler, terre PE direct

5.4 Pourquoi le contacteur Hager ES220 n’apparaît plus

Le contacteur était électriquement utile pour décharger le relais du Shelly, mais il empêchait le 1PM de mesurer la résistance du boiler : seule sa bobine était visible sur O.

Le montage final documenté ici privilégie :

Cette décision impose en contrepartie le respect strict de la protection C16, de la température ambiante et du montage en coffret.

6. Première boucle de vérification : matériel

Avant de remettre sous tension :

7. Mise en service et configuration du Shelly

7.1 Première connexion

Deux méthodes sont possibles :

  1. ajouter le module avec l’application Shelly Smart Control ;
  2. se connecter au point d’accès Shelly1PMG4-…, puis ouvrir 192.168.33.1.

Configurer le Wi‑Fi local, puis réserver une adresse IP dans le routeur ou attribuer une IP statique cohérente avec le réseau.

7.2 Paramètres recommandés

Dans l’interface locale :

7.3 Protections logicielles facultatives

Le Shelly permet de configurer une limite de puissance et de courant. Ces limites ne remplacent jamais le disjoncteur.

Pour un boiler de 2200 W, une valeur d’alerte autour de 3000 W et une limite de courant conservatrice peuvent servir de protection supplémentaire, mais elles doivent être déterminées après mesure de la tension et du courant réels. Éviter un seuil trop proche de la consommation normale, surtout si la tension réseau est élevée.

7.4 Pourquoi SW reste vide

SW est uniquement une entrée de commande physique. Le Shelly est alimenté par L1 et L2, puis commandé par l’application ou Home Assistant. Il n’a pas besoin d’une phase sur SW pour être considéré comme allumé.

Un bouton pourrait être ajouté ultérieurement entre L1 et SW, mais il ne fait pas partie du montage final documenté.

8. Validation électrique et validation de la mesure

8.1 Test OFF

  1. remettre sous tension le disjoncteur ;
  2. attendre le démarrage du Shelly ;
  3. laisser le relais OFF ;
  4. vérifier une puissance proche de 0 W.

Le Shelly lui-même consomme moins de 1 W selon sa documentation. Une petite valeur résiduelle peut apparaître selon l’affichage et l’état du circuit.

8.2 Test ON avec demande de chauffe

  1. mettre le Shelly ON ;
  2. s’assurer que le boiler n’est pas déjà complètement chaud ;
  3. observer la puissance.

Résultat attendu lorsque la résistance chauffe :

8.3 Comprendre les différents états

Relais Shelly Puissance Interprétation
OFF ≈ 0 W Boiler coupé par Home Assistant/Shelly
ON ≈ 0 W Boiler alimenté, thermostat satisfait ou sécurité ouverte
ON ≈ 2,0–2,6 kW Résistance en chauffe
ON ≈ 2 W avec contacteur Seule la bobine du contacteur est mesurée : ancien montage

8.4 Contrôle thermique

Pendant une chauffe complète :

Refaire un contrôle visuel et thermique après quelques cycles et après une période chaude dans le grenier.

9. Intégration dans Home Assistant

Home Assistant prend en charge les quatre générations de Shelly et peut découvrir automatiquement le module. Les appareils Gen2+ utilisent le protocole RPC et communiquent directement sur le réseau local ; le cloud Shelly n’est pas requis.

9.1 Ajout automatique

Dans Home Assistant :

  1. ouvrir Paramètres → Appareils et services ;
  2. rechercher la carte Découvert correspondant au Shelly ;
  3. cliquer sur Configurer ;
  4. attribuer la zone appropriée, par exemple Grenier ou Étage.

9.2 Ajout manuel

Si le module n’est pas découvert :

  1. Paramètres → Appareils et services ;
  2. Ajouter une intégration ;
  3. choisir Shelly ;
  4. saisir l’adresse IP locale du module.

9.3 Entités à identifier

Les identifiants exacts dépendent du nom attribué au module et de l’historique du registre d’entités. Rechercher boiler ou shelly dans Outils de développement → États.

Il faut retrouver au minimum :

Le guide et les fichiers YAML utilisent par défaut :

switch.boiler_etage
sensor.boiler_etage_power
sensor.boiler_etage_energy

Remplacer ces identifiants s’ils diffèrent dans votre installation.

9.4 Entités désactivées par défaut

Pour les Shelly Gen2+, Home Assistant peut désactiver par défaut :

Depuis la page de l’appareil, ouvrir la liste des entités, afficher les entités désactivées et activer au minimum la température interne si elle est utile pour surveiller le coffret du grenier.

10. Heures creuses wallonnes applicables depuis 2026

Depuis le 1er janvier 2026, ORES indique les plages suivantes pour le tarif bihoraire :

Période Horaire
Heures pleines 07:00–11:00 et 17:00–22:00
Heures creuses 11:00–17:00 et 22:00–07:00

Ces plages sont identiques les sept jours de la semaine. Le week-end n’est donc plus entièrement en heures creuses comme en 2025.

Le guide encode ces horaires. Vérifier néanmoins sur la facture annuelle que le point de fourniture est bien en régime bihoraire et que la mise à jour 2026 du compteur a été appliquée.

11. Automatisation Home Assistant

Le fichier prêt à adapter est fourni ici :

home-assistant/automation_heures_creuses.yaml

11.1 Logique retenue

L’automatisation :

Le thermostat Atlantic reste responsable de la demande de chauffe. Pendant une plage creuse, le switch peut donc être ON alors que la puissance reste à 0 W parce que l’eau a atteint la consigne.

11.2 YAML complet

# Remplacer switch.boiler_etage si l'entité porte un autre identifiant.
# Plages ORES/Wallonie applicables depuis le 1er janvier 2026 :
# heures creuses tous les jours de 11:00 à 17:00 et de 22:00 à 07:00.

- id: boiler_etage_heures_creuses_wallonie_2026
  alias: "Boiler étage - heures creuses Wallonie 2026"
  description: >-
    Alimente le boiler pendant les heures creuses wallonnes 2026 et le coupe
    pendant les heures pleines. Un allumage manuel hors heures creuses est
    immédiatement annulé.
  mode: single

  triggers:
    - trigger: time
      at:
        - "07:00:00"
        - "11:00:00"
        - "17:00:00"
        - "22:00:00"

    - trigger: homeassistant
      event: start

    # Resynchronisation après le redémarrage ou la reconnexion du Shelly.
    - trigger: state
      entity_id: switch.boiler_etage
      from: "unavailable"

    - trigger: state
      entity_id: switch.boiler_etage
      from: "unknown"

    # Garde-fou : interdit un allumage manuel pendant les heures pleines.
    - trigger: state
      entity_id: switch.boiler_etage
      to: "on"

  conditions: []

  actions:
    - variables:
        is_off_peak: >-
          {% set m = now().hour * 60 + now().minute %}
          {{ (660 <= m < 1020) or (m >= 1320) or (m < 420) }}

    - choose:
        - conditions:
            - condition: template
              value_template: "{{ is_off_peak | bool }}"
          sequence:
            - action: switch.turn_on
              target:
                entity_id: switch.boiler_etage
      default:
        - action: switch.turn_off
          target:
            entity_id: switch.boiler_etage

11.3 Installation via l’interface

  1. ouvrir Paramètres → Automatisations et scènes ;
  2. créer une nouvelle automatisation vide ;
  3. ouvrir le menu à trois points ;
  4. choisir Modifier en YAML ;
  5. copier le contenu de l’élément d’automatisation sans le premier tiret de liste si l’éditeur l’exige ;
  6. remplacer switch.boiler_etage par l’identifiant réel ;
  7. enregistrer ;
  8. exécuter manuellement l’automatisation pour vérifier son comportement.

11.4 Installation dans automations.yaml

Ajouter le bloc complet du fichier fourni à automations.yaml, puis :

  1. vérifier la configuration ;
  2. recharger les automatisations ;
  3. contrôler les traces de l’automatisation.

11.5 Fuseau horaire

Dans Paramètres → Système → Général, vérifier que Home Assistant utilise Europe/Brussels. Les heures du YAML sont interprétées dans le fuseau de Home Assistant et suivent automatiquement les changements heure d’été/heure d’hiver.

12. Capteurs de statut facultatifs

Le fichier suivant ajoute :

home-assistant/template_sensors.yaml

Avant utilisation, remplacer l’entité de puissance par l’identifiant réel.

# À intégrer sous la clé `template:` de configuration.yaml, ou dans un fichier
# inclus par votre configuration. Le premier capteur ne dépend d'aucune entité.
# Pour le deuxième, remplacer sensor.boiler_etage_power par l'entité de puissance réelle.

template:
  - binary_sensor:
      - name: "Heures creuses Wallonie 2026"
        unique_id: heures_creuses_wallonie_2026
        icon: mdi:clock-check-outline
        state: >-
          {% set m = now().hour * 60 + now().minute %}
          {{ (660 <= m < 1020) or (m >= 1320) or (m < 420) }}

      - name: "Boiler étage en chauffe"
        unique_id: boiler_etage_en_chauffe
        icon: mdi:water-boiler
        availability: "{{ has_value('sensor.boiler_etage_power') }}"
        state: "{{ states('sensor.boiler_etage_power') | float(0) > 100 }}"

13. Dashboard Home Assistant

Le fichier Mushroom est fourni ici :

home-assistant/dashboard_mushroom.yaml

Il affiche :

Remplacer les identifiants d’entités avant de coller le YAML.

# Carte Mushroom. Adapter les trois entity_id aux entités réellement créées
# par l'intégration Shelly : switch, puissance instantanée et énergie totale.

type: vertical-stack
cards:
  - type: custom:mushroom-template-card
    entity: switch.boiler_etage
    primary: Boiler étage
    secondary: >-
      {% set p = states('sensor.boiler_etage_power') | float(0) %}
      {% set m = now().hour * 60 + now().minute %}
      {% set hc = (660 <= m < 1020) or (m >= 1320) or (m < 420) %}
      {% if is_state('switch.boiler_etage', 'off') %}
        Coupé — {{ 'heures creuses' if hc else 'heures pleines' }}
      {% elif p > 100 %}
        Chauffe en cours — {{ p | round(0) }} W
      {% else %}
        Alimenté — thermostat satisfait
      {% endif %}
    icon: mdi:water-boiler
    icon_color: >-
      {% set p = states('sensor.boiler_etage_power') | float(0) %}
      {% if is_state('switch.boiler_etage', 'off') %}
        grey
      {% elif p > 100 %}
        orange
      {% else %}
        blue
      {% endif %}
    tap_action:
      action: more-info

  - type: entities
    title: Mesures du boiler
    entities:
      - entity: switch.boiler_etage
        name: Alimentation
      - entity: sensor.boiler_etage_power
        name: Puissance instantanée
      - entity: sensor.boiler_etage_energy
        name: Énergie totale
      - entity: binary_sensor.heures_creuses_wallonie_2026
        name: Période tarifaire

  - type: history-graph
    title: Puissance — dernières 24 heures
    hours_to_show: 24
    entities:
      - entity: sensor.boiler_etage_power
        name: Boiler étage

14. Ajout au tableau de bord Énergie

Si le Shelly fournit directement une entité d’énergie totale compatible :

  1. ouvrir Paramètres → Tableaux de bord → Énergie ;
  2. aller dans Appareils individuels ;
  3. ajouter le capteur d’énergie du boiler ;
  4. vérifier l’unité, généralement kWh ;
  5. attendre le prochain cycle statistique.

Si seule une puissance en watts est disponible, Home Assistant peut créer un capteur d’énergie par intégration mathématique de la puissance. Le Shelly 1PM fournit normalement une énergie native ; privilégier cette entité pour éviter un calcul redondant.

15. Deuxième boucle de vérification : Home Assistant

16. Dépannage

Symptôme Cause probable Action
Environ 2 W seulement Bobine d’un contacteur sur O Le boiler doit être directement derrière O pour être mesuré
Relais ON, 0 W Eau chaude, thermostat satisfait Vérifier après consommation d’eau chaude
Relais ON, 0 W en permanence Mauvais câblage, sécurité thermique, résistance Couper et faire diagnostiquer
Shelly indisponible Wi‑Fi faible, IP modifiée Réserver l’IP, vérifier le signal
L’automatisation ne démarre pas Mauvais entity_id Copier l’identifiant réel dans Outils de développement
Mauvais horaires Fuseau incorrect Régler Europe/Brussels
Le boiler s’allume hors HC Autre automatisation ou horaire Shelly natif Désactiver les schedules/timers concurrents
Le boiler ne repart pas après coupure Action au démarrage OFF et HA non synchronisé Vérifier le trigger de retour depuis unavailable
Puissance anormalement haute Tension élevée ou défaut Couper, mesurer et faire contrôler
Shelly trop chaud Coffret chaud, mauvais serrage, mousse, surcharge Couper immédiatement et corriger l’installation
Énergie absente du dashboard Mauvaise classe/statistique Choisir l’entité d’énergie native compatible

17. Fiabilisation pour une installation durable

Électricité

Réseau

Home Assistant

18. Température de l’eau : ce qui est disponible et ce qui ne l’est pas

Le boiler possède son thermostat et sa sécurité thermique, mais leur mesure n’est pas exposée à Home Assistant. Le Shelly remonte :

La puissance permet de savoir si le boiler chauffe, mais pas de connaître précisément la température de l’eau.

Le Shelly 1PM Gen4 dispose d’une interface pour add-on et sa documentation prévoit une sonde DS18B20 avec l’add-on compatible. Une sonde ne doit jamais être introduite dans la cuve sans emplacement prévu par le constructeur. La solution non invasive consiste à mesurer la température sur le tuyau de sortie, sous une isolation thermique ; cette valeur reste une approximation et dépend du débit.

19. Références officielles

  1. Shelly Knowledge Base — Shelly 1PM Gen4 : caractéristiques, sortie mesurée O, charge résistive, 16 A, protection externe, température et câblage.
    https://kb.shelly.cloud/knowledge-base/shelly-1pm-gen4
  2. Shelly Knowledge Base — interface web du 1PM Gen4 : Wi‑Fi, action au démarrage, protections, schedules et add-on DS18B20.
    https://kb.shelly.cloud/knowledge-base/shelly-1pm-gen4-web-interface-guide
  3. Home Assistant — intégration Shelly : découverte, ajout manuel, communication RPC locale et entités Gen2+.
    https://www.home-assistant.io/integrations/shelly/
  4. Home Assistant — déclencheurs d’automatisation.
    https://www.home-assistant.io/docs/automation/trigger/
  5. Home Assistant — consommation des appareils individuels dans le tableau Énergie.
    https://www.home-assistant.io/docs/energy/individual-devices/
  6. ORES — nouvelles plages du tarif bihoraire depuis le 1er janvier 2026.
    https://www.ores.be/comprendre-ma-facture/bihoraire/

Questions

Une question sur ce montage ? Laissez-la ci-dessous — pas besoin de compte, juste un nom. J'y réponds directement.


Voir aussi : Syclope HydroTouch dans Home Assistant · toutes les publications.