Refactoriser sa logique domotique dans Home Assistant pour plus de clarté et de fiabilité

Rédacteur : LaRedac
3 juin 2025

Introduction

Dans un projet Home Assistant centré sur l’optimisation d’un chauffe-eau solaire, une logique complexe avait été mise en place au fil des besoins. Dix automatisations étaient actives, accompagnées de plusieurs helpers (input_boolean, sensors temporaires), pour gérer différents cas : heures creuses, surproduction, activations forcées, coupures planifiées, etc.

Cette structure s’est rapidement avérée difficile à maintenir, sujette aux conflits et peu lisible. Ce contexte a motivé une refonte globale, que nous détaillons ici.

Constat de complexité excessive

Symptômes observés

  • Plusieurs automatisations se chevauchaient sur les mêmes périodes.
  • Le même appareil (chauffe-eau) était contrôlé par jusqu’à 5 automatisations différentes.
  • Des helpers à usage temporaire (production_moyenne_matin, production_suffisante_matin) persistaient dans le temps sans utilité claire.
  • Certains capteurs (comme sensor.production_matin_0_23) étaient redondants avec d’autres entités existantes.

Conséquences

  • Difficulté à déterminer quelle automatisation était responsable d’un comportement.
  • Risque de conflit entre actions opposées (ex. allumage/arrêt simultanés).
  • Déclenchements multiples ou inutiles (absence de condition sur l’état courant du switch).

Objectif de la refonte

  • Regrouper la logique en un nombre limité d’automatisations claires.
  • Éliminer les helpers non essentiels.
  • Séparer distinctement les logiques horaires, de production, de secours, et de priorité.
  • Améliorer la lisibilité et la débuggabilité.

Solution mise en œuvre

Nouvelle structure en 4 automatisations principales

1. Gestion chauffe-eau solaire

  • Se déclenche à 13h.
  • Vérifie la production cumulée et la météo.
  • Désactive les automatismes « surplus » pour 2 heures si la journée ne s’annonce pas ensoleillée.

2. CE – Surplus solaire

  • Allume le chauffe-eau si on injecte > 2 kW depuis 5 minutes.
  • L’éteint si on consomme > 2 kW (donc retour à l’import réseau).
  • Ajout de conditions sur l’état du switch pour empêcher les répétitions.

3. CE – Extinctions programmées & reset

  • Déclenche à 07h, 17h et 00h.
  • À 07h et 17h : coupe le chauffe-eau sauf s’il est en mode forcé (input_boolean.chauffe_eau_forcage).
  • À 00h : reset du compteur d’heures de chauffe.

4. CE – Secours heures creuses

  • À 23h, vérifie que le chauffe-eau a tourné moins de 4h depuis 7h.
  • Si c’est le cas, l’allume jusqu’à 7h.

Suppression des automatisations suivantes

  • Allumer chauffe-eau à 13h
  • Allumer chauffe-eau à 23h si prod insuff
  • Éteindre chauffe-eau à 7h / 17h (intégré à l’automatisation unique)
  • Détecter production moyenne / suffisante matin (remplacé par sensor dédié)

Suppression des helpers

  • input_boolean.production_moyenne_matin
  • input_boolean.production_suffisante_matin
  • sensor.production_matin_0_23 (remplacé par sensor officiel envoy)

Unification des conditions

  • Les triggers numériques utilisent toujours des seuils clairs (above: 2 ou below: 2).
  • Les conditions vérifient toujours l’état courant pour éviter les redondances.

Bilan de la refonte

Cette refonte a permis :

  • Une logique plus lisible et maintenable.
  • Moins de risques de conflits ou de comportements inattendus.
  • Un gain notable en compréhension pour tout nouvel intervenant.

Si vous hésitez sur la structure idéale de vos automatisations ou si vous accumulez des déclencheurs dispersés, n’hésitez pas à nous contacter pour un audit ou une aide à la refonte.

0 commentaires

Soumettre un commentaire

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

Voir aussi…

Merci, votre message a bien été envoyé

Nous avons bien reçu votre demande. Nous revenons vers vous au plus vite avec une réponse claire et des premières orientations.

Si votre demande est urgente

contactez-nous par message sur WhatsApp.

WhatsApp