Si vous avez reçu un email d'Enedis annonçant la modification de vos plages d'heures creuses, votre automation Home Assistant basée sur des horaires fixes risque de ne plus être correcte. La réforme HC Phase 2 (second semestre 2026) déplace les créneaux pour 9,3 millions de foyers supplémentaires — parfois vers une plage diurne 11h-17h en été. La solution pérenne : lire le champ PTEC ou LTARF directement depuis le signal TIC du Linky, créer un binary_sensor.heures_creuses dans Home Assistant, et brancher tous vos appareils sur ce déclencheur unique.

Pourquoi vos règles HC en horaires fixes vont casser en 2026

La réforme Enedis Phase 2 (second semestre 2026) redistribue les plages horaires HC pour 9,3 millions de foyers supplémentaires. Un timer codé en dur dans votre automation Home Assistant — par exemple 22:00 → 06:00 — ne suivra pas ces changements automatiquement. Vos appareils continueront de tourner hors HC, sans économie sur la facture.

La réforme CRE TURPE 7 se déploie en deux phases :

  • Phase 1 (novembre 2025) : 1,7 million de foyers ont déjà vu leurs créneaux HC modifiés, selon le communiqué Enedis de novembre 2025.
  • Phase 2 (H2 2026) : 9,3 millions de clients supplémentaires sont concernés. Pour certains, un créneau journée 11h-17h s'ajoute ou remplace partiellement la plage nocturne — particulièrement adapté à la recharge de véhicule électrique et au lave-vaisselle en été.

Un timer ne sait pas ce qu'Enedis a décidé pour votre compteur. Le signal TIC de votre Linky, lui, le sait en temps réel.

Est-ce que les heures creuses changent avec la réforme Enedis 2026 ?

Oui. La réforme CRE TURPE 7 déployée par Enedis en deux phases (Phase 1 : novembre 2025, 1,7 M de clients ; Phase 2 : second semestre 2026, 9,3 M supplémentaires) redistribue les créneaux HC. Certains foyers verront leurs heures creuses partiellement basculer vers une plage diurne (11h-17h) en remplacement ou en complément de la plage nocturne traditionnelle.

Lire le signal HC depuis le Linky : PTEC vs LTARF

Le Linky envoie en temps réel le champ tarifaire actif sur son interface TIC — PTEC en mode historique 1200 bauds, LTARF en mode standard 9600 bauds. Cette valeur change automatiquement au passage HC/HP, quelle que soit la plage horaire définie par Enedis. C'est ce champ qu'il faut exposer dans Home Assistant — jamais un timer codé en dur.

Quel module pour récupérer les heures creuses du Linky dans Home Assistant ?

Deux solutions coexistent selon votre équipement. Le ZLinky V2 de Lixee (Zigbee) expose directement l'entité sensor.linky_ptec dans ZHA ou Zigbee2MQTT, sans configuration YAML. L'ESP32 avec ESPHome lit le TIC en mode historique (1200 bauds, champ PTEC) ou en mode standard 9600 bauds (champ LTARF), selon le firmware de votre compteur.

ZLinky V2 (Zigbee) — mode historique 1200 bauds

Le ZLinky V2 de Lixee se branche directement sur le port TIC du Linky. En quelques minutes, l'entité sensor.linky_ptec apparaît dans ZHA ou Zigbee2MQTT avec les valeurs suivantes :

  • HC.. — Heures Creuses (mode historique standard)
  • HC.D — Heures Creuses de jour (créneau diurne réforme CRE)
  • HP.. — Heures Pleines
  • HP.D — Heures Pleines de jour

Aucune configuration YAML n'est nécessaire : l'intégration Zigbee de Home Assistant gère tout. C'est la solution recommandée si vous n'avez pas encore de module TIC. Note : le nom exact de l'entité (sensor.linky_ptec) dépend du nom que vous avez donné au device lors du pairing — vérifiez dans Outils de développement → États en cherchant "ptec" si vous ne la trouvez pas.

Bug Zigbee2MQTT 2.6.3 : depuis Z2M 2.6.3, un bug connu peut figer sensor.linky_ptec sur N/A, sans mise à jour au passage HC/HP. Ce bug n'affecte pas ZHA ni les installations ESPHome. Si vous êtes concerné, consultez le thread HACF dédié (workaround connu : downgrade Z2M 2.6.2 ou attente du correctif officiel).

Meilleur choix
Lixee ZLinky V2

Lixee ZLinky V2

Zigbee 3.0 · Auto-alimenté · Mode standard · Routeur · Linky Ready

Voir sur Domadoo Stock France · SAV français
Voir sur Amazon Livraison Prime · Retour 30 jours

ESP32 + ESPHome — mode historique TIC (1200 bauds)

Si vous utilisez un ESP32 câblé sur le TIC du Linky via le composant ESPHome teleinfo, le champ PTEC est exposé de la même façon. Les valeurs sont identiques à celles du ZLinky — vous utilisez exactement le même template binary_sensor décrit dans la section suivante.

ESP32 + ESPHome — mode standard 9600 bauds

En mode standard 9600 bauds (disponible sur les Linky récents configurables via l'application Enedis), le champ actif est LTARF au lieu de PTEC. Son libellé contient "HC" quand vous êtes en heures creuses. Le tuto complet pour activer et configurer ce mode est disponible dans le guide Teleinfo Linky mode standard — adaptez le template YAML ci-dessous si vous utilisez ce mode.

Comment savoir si je suis en heures creuses avec Linky ?

Dans Home Assistant, une fois le sensor.linky_ptec configuré (ZLinky ou ESPHome), la valeur affichée change en temps réel au passage HC/HP. En heures creuses, elle prend la valeur HC.. en mode historique, ou contient "HC" en mode standard. Vérifiez dans Outils de développement → États en filtrant sur votre entité Linky.

Créer le binary_sensor.heures_creuses dans Home Assistant

Un binary_sensor template centralisé évite de dupliquer la condition tarifaire dans chaque automation. Si Enedis ajoute une valeur PTEC ou déplace vos créneaux, vous modifiez un seul endroit dans votre configuration. Toutes vos automations continuent de fonctionner sans changement.

Ajoutez ce bloc dans votre configuration.yaml (ou dans un fichier inclus via !include) :

# Mode historique — ZLinky V2 ou ESPHome TIC 1200 bauds
template:
  - binary_sensor:
      - name: "Heures Creuses"
        unique_id: heures_creuses_linky
        state: >
          {{ states('sensor.linky_ptec') in ['HC..', 'HC.D'] }}
        device_class: power
        icon: >
          {% if states('sensor.linky_ptec') in ['HC..', 'HC.D'] %}
            mdi:battery-charging-low
          {% else %}
            mdi:currency-eur
          {% endif %}

Si vous êtes en mode standard 9600 bauds (champ LTARF), remplacez la condition state par :

state: >
  {{ 'HC' in (states('sensor.linky_ltarf') | upper) }}

Après un redémarrage de Home Assistant, le capteur binary_sensor.heures_creuses passe à on à l'entrée en HC et à off à la sortie. Testez la condition dans Outils de développement → Modèle avant de créer vos automations.

Automatiser le chauffe-eau avec les heures creuses Linky

Pour piloter un chauffe-eau sur les heures creuses, installez un Shelly Plus 1PM en coupure série sur l'alimentation. Il remplace ou complète un contacteur HC défaillant, et Home Assistant prend le contrôle complet. L'automation est directe : deux déclencheurs sur l'état du binary_sensor.heures_creuses.

Comment automatiser le chauffe-eau avec les heures creuses Linky ?

Connectez un Shelly Plus 1PM sur l'alimentation du chauffe-eau. Dans Home Assistant, créez deux automations : la première déclenche sur binary_sensor.heures_creuses → true et appelle switch.turn_on ; la seconde déclenche sur → false et appelle switch.turn_off. Le chauffe-eau suit exactement les vraies HC du Linky, quelle que soit leur plage horaire réelle.

automation:
  - alias: "Chauffe-eau ON — entrée en HC"
    trigger:
      - platform: state
        entity_id: binary_sensor.heures_creuses
        to: "on"
    action:
      - action: switch.turn_on
        target:
          entity_id: switch.shelly_chauffe_eau

  - alias: "Chauffe-eau OFF — sortie des HC"
    trigger:
      - platform: state
        entity_id: binary_sensor.heures_creuses
        to: "off"
    action:
      - action: switch.turn_off
        target:
          entity_id: switch.shelly_chauffe_eau

Mode boost manuel : ajoutez un input_boolean.boost_chauffe_eau comme condition d'exception dans l'automation d'arrêt. Si le boost est actif, le Shelly reste allumé indépendamment du signal HC — utile la veille de départ en vacances ou pour une douche improvisée en HP.

Meilleur choix
Shelly Plus 1PM

Shelly Plus 1PM

Relais WiFi 16A · Mesure énergie · Boîte 55 mm · Gen2 · Certifié Works with HA

Voir sur Domadoo Stock France · SAV français
Voir sur Amazon Livraison Prime · Retours gratuits

Étendre aux autres appareils : lave-vaisselle, lave-linge, recharge VE

Le binary_sensor.heures_creuses est un déclencheur réutilisable sans limite. La même logique s'applique à n'importe quel appareil piloté par une prise connectée ou un relais Shelly : lave-vaisselle, lave-linge, chargeur de véhicule électrique. Un seul capteur maître, N appareils en cascade — sans dupliquer la moindre condition tarifaire.

Lave-vaisselle et lave-linge

La méthode la plus simple pour différer le démarrage d'un lave-vaisselle ou lave-linge : activez la fonction départ différé de l'appareil réglée au maximum, puis coupez l'alimentation via le Shelly. À l'entrée en HC, le Shelly remet l'alimentation et l'appareil démarre immédiatement.

Pour détecter la fin de cycle, surveillez la puissance mesurée par le Shelly. Quand elle chute sous 5 W (cycle terminé), une automation coupe l'alimentation pour éviter la consommation en veille. Selon les retours de la communauté HACF, ce pattern fonctionne de manière fiable sur la plupart des appareils des grandes marques.

Recharge de véhicule électrique en HC

Pour les bornes OCPP, l'add-on OCPP (HACS) expose des services HA pour démarrer et arrêter la charge. L'automation suit le même schéma : déclencheur binary_sensor.heures_creuses → on, action ocpp.charge_point_start. Pour une prise P17 ou un Shelly branché en série sur une prise de recharge non intelligente, vérifiez la capacité en ampères du relais choisi (le Shelly Plus 1PM supporte 16A en continu).

Désactiver l'automatisation à la demande

Ajoutez un input_boolean.mode_hc_auto comme condition dans chaque automation pour pouvoir tout suspendre d'un toggle depuis le dashboard :

condition:
  - condition: state
    entity_id: input_boolean.mode_hc_auto
    state: "on"

Blueprint HACF "Heures Creuses" : configuration en 5 minutes

La communauté HACF a publié un blueprint "Heures Creuses" qui encapsule toute la logique de déclenchement multi-appareils. Il prend en entrée l'entité HC, une liste d'appareils à piloter, et gère les redémarrages après coupure avec un délai configurable — idéal pour éviter les appels de courant simultanés si vous pilotez chauffe-eau, lave-vaisselle et VE au même moment.

Import : dans Home Assistant, allez dans Paramètres → Blueprints → Importer un Blueprint et collez l'URL du forum HACF (forum.hacf.fr/t/blueprint-heures-creuses/19592). Le blueprint apparaît dans la liste et vous permet de créer une automation configurée via l'interface graphique.

Variables principales :

  • sensor_heures_creuses : sélectionner binary_sensor.heures_creuses
  • appareils_cibles : liste des entités switch à piloter
  • delai_redemarrage : délai en secondes entre chaque mise sous tension (30s recommandés par les retours HACF pour éviter les pics)

Blueprint vs YAML manuel : le blueprint couvre 90 % des cas. Optez pour le YAML si vous avez besoin de conditions avancées — température actuelle du chauffe-eau via sonde ESPHome, niveau de batterie du VE, priorité entre appareils selon la puissance solaire disponible, ou mode vacances actif.

Ajouter le suivi HP/HC dans le tableau de bord Énergie HA

L'utility_meter de Home Assistant comptabilise séparément la consommation en HC et en HP. Couplé au cost sensor de l'Energy Dashboard, il mesure vos économies réelles après déplacement d'usages — et vous montre combien la réforme vous a fait gagner ou perdre ce mois-ci.

Comment configurer l'utility_meter Home Assistant pour séparer HC et HP ?

Ajoutez une entrée utility_meter dans configuration.yaml avec deux tarifs (HC et HP). Deux automations font basculer le tarif actif selon l'état du binary_sensor.heures_creuses. Les sensors sensor.conso_electrique_hc et sensor.conso_electrique_hp apparaissent dans l'Energy Dashboard pour calculer le coût par tranche tarifaire.

# configuration.yaml
utility_meter:
  conso_electrique:
    source: sensor.index_conso_totale   # entité index de votre ZLinky ou ESPHome
    tariffs:
      - HC
      - HP
# automations.yaml — bascule du tarif (syntaxe HA 2022.9+)
- alias: "Utility meter — passage HC"
  trigger:
    - platform: state
      entity_id: binary_sensor.heures_creuses
      to: "on"
  action:
    - action: select.select_option
      target:
        entity_id: select.conso_electrique
      data:
        option: HC

- alias: "Utility meter — passage HP"
  trigger:
    - platform: state
      entity_id: binary_sensor.heures_creuses
      to: "off"
  action:
    - action: select.select_option
      target:
        entity_id: select.conso_electrique
      data:
        option: HP

Une fois configuré, associez un prix HC et un prix HP dans Paramètres → Energy → Coût de l'électricité. Le tableau de bord Énergie affiche alors votre consommation et votre coût réel, séparés par tranche tarifaire. Pour aller plus loin avec les graphiques de suivi, consultez le guide Dashboard Énergie Home Assistant.

En résumé

La réforme Enedis Phase 2 (H2 2026) rend les timers fixes obsolètes pour des millions de foyers. La chaîne complète : ZLinky V2 ou ESPHome pour exposer le champ PTEC (ou LTARF) → template binary_sensor.heures_creuses dans HA → automations sur ce capteur unique pour piloter chauffe-eau, lave-vaisselle et VE en cascade. Le blueprint HACF simplifie l'installation si vous gérez plusieurs appareils sans avoir à écrire de YAML. Et si vos plages HC changent à nouveau dans six mois, votre configuration Home Assistant n'aura rien à modifier : elle suit le signal du compteur, pas votre calendrier.

Meilleur choix
Shelly Plus 1PM

Shelly Plus 1PM

Relais WiFi 16A · Mesure énergie · Boîte 55 mm · Gen2 · Certifié Works with HA

Voir sur Domadoo Stock France · SAV français
Voir sur Amazon Livraison Prime · Retours gratuits