Intégration Degrés-Jours de Chauffage et de Refroidissement

Bonjour :wave:

Je suis heureux de vous présenter ma nouvelle intégration custom : Heating & Cooling Degree Days (Degrés-Jours de Chauffage et de Refroidissement) pour Home Assistant.

Je me suis inspiré de la méthode décrite par le service DegreeDays.

Merci à @Neuvidor pour ses suggestions et ses retours d’expérience.

:thermometer: Qu’est-ce que c’est ?

Cette intégration calcule les degrés-jours de chauffage (DJC/HDD) et les degrés-jours de refroidissement (DJR/CDD) à partir des mesures de température extérieure de votre installation (si vous n’avez pas de mesure de la température extérieur, vous pouvez également utiliser un service météo qui vous fourni la température extérieur en °C ou °F). Les degrés-jours sont des indicateurs qui permettent de quantifier les besoins énergétiques de votre domicile.

Pour les non-initiés :

  • Un degré-jour de chauffage mesure de combien de degrés et pendant combien de temps la température extérieure est inférieure à une température de base
  • Un degré-jour de refroidissement mesure de combien de degrés et pendant combien de temps la température extérieure est supérieure à une température de base

La température de base correspond à la température moyenne de votre intérieur.

:sparkles: Fonctionnalités principales

  • Calcul précis des DJC/HDD et DJR/CDD basé sur vos mesures de température
  • Affichage des statistiques quotidiennes, hebdomadaires et mensuelles
  • Configuration flexible des capteurs (activez uniquement ceux dont vous avez besoin)
  • Méthode de calcul avancée par intégration numérique pour une précision optimale
  • Support des unités en Celsius et Fahrenheit

:bar_chart: Comment ça peut vous être utile ?

Cette intégration est particulièrement intéressante pour :

  • Analyser votre consommation énergétique en la normalisant par rapport aux conditions météorologiques
  • Comparer l’efficacité énergétique de votre logement d’une année sur l’autre
  • Estimer vos besoins en chauffage ou climatisation en fonction des tendances climatiques
  • Suivre les variations saisonnières et leur impact sur votre consommation

:wrench: Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

L’installation est simple via HACS :

  1. Ajoutez ce dépôt personnalisé : https://github.com/alepee/hass-heating_cooling_degree_days ou utilisez le bouton ci-dessus
  2. Recherchez « Heating & Cooling Degree Days » dans HACS
  3. Installez et redémarrez Home Assistant
  4. Ajoutez l’intégration depuis le menu Paramètres → Appareils et services

:memo: Vos retours sont les bienvenus !

C’est une première version stable (du moins selon mes premiers tests), mais aimerais vos retours, idées d’amélioration ou signalements de bugs. N’hésitez pas à me contacter ici sur le forum ou à ouvrir une issue sur GitHub.

Vous pouvez trouver la documentation complète et le code source sur GitHub : alepee/hass-heating_cooling_degree_days

Merci d’avance pour vos retours et j’espère que cette intégration sera utile à la communauté !


L’intégration est compatible avec Home Assistant 2024.1.0 et versions ultérieures.

7 « J'aime »

Hello,

En cliquant sur le bouton d’instalation, on a le message :

Dépôt alepee/hass-heating_cooling_degree_days introuvable

1 « J'aime »

:thinking:

Etrange je n’ai pas le souci de mon côté. Et via ce lien?

Bonjour, et merci pour l’intégration, je teste.
La température de base doit être en °C ou en °F ? (65 proposé de base)

Merci.

Edit : le choix de l’unité est juste en dessous :wink:

1 « J'aime »

Oui, j’ai pas vraiment pris le temps de soigner l’onboard :sweat_smile:

Merci pour cette intégration installée et rapidement testée…
plutôt simple et efficace, avec quand même des pistes d’amélioration :

  • Le 65°C par défaut c’est potentiellement une petite expérience douloureuse à la première installation car :
    • une fois que c’est validé (on clique rapidement sans faire attention comme d’habitude) on se retrouve avec de DJ aberrant (logique) qu’on ne peut pas modifier sans supprimer et recréer les précédents.
    • mais quand on recommence l’opération (suppression/recréation) les valeurs aberrantes précédentes reviennent dans l’historique (il faut pour éviter le pb veiller à d’abord supprimer les valeurs dans outils de dévt avant de recréer les sensors mais après les avoir supprimé…). Bref pas hyper simple sachant que toute l’analyse sera faussé par des valeurs aberrantes non éditables par ailleurs.
  • pourquoi ne pas mettre 18°C par défaut ? (de toute façon le système SI devrait être prioritaire)
  • ce serait bien d’avoir la possibilité d’activer un input sensor de ratio d’absence (je pars 2 sem en décembre, mes DJC devraient être divisés par 2) → par mois ça ne paraît pas trop compliqué à gérer (avec une valeur par défaut à 0 absence pour ceux qui ne souhaitent pas le gérer/modifier) et ce serait un vrai plus pour l’analyse.
    évidement on peut toujours le faire manuellement avec un 2ème et un 3ème sensors pour gérer les les absences et un template sensor sur la base du DJC existant…
  • pourquoi avoir choisi de faire une intégration (c’est pratique c’est vrai), un template sensor aurait peut-être suffit ? Je pose surtout la question par rapport aux questions que je me pose pour mon package smartRecovery dans lequel j’ai tout un paquet de template sensors et je chercher toujours à comprendre les bonnes approches pour quels besoins entre package, intégration, blueprint, hacs, etc…

il me reste à voir comment l’utiliser pour analyser mes consos automatiquement corrigées du climat (un bout de script en exemple sur le git serait pas mal non plus… bon j’arrête les requêtes :see_no_evil: )

EDIT: la gestion des absences n’est finalement pas si cruciale si on utilise les DJC à la semaine c’est peut-être pas si mal en fait… autant ne pas compliquer trop quelque chose qui marche bien.

1 « J'aime »

Merci, je vient de l’installer sans soucis.

Si possible, tu pourrais faire un readme dans ton github en français ?
je lit bien l’anglais mais certains non et comme mon Home Assistant est en français, mes entitées sont DJC & DJR et non HDD & CDD, donc regarder la doc et sa conf est « confusing »

Merci pour vos messages @roumano et @ebz :pray: ça m’aidera pour savoir comment orienter la suite :slight_smile:

Je reprendrai la liste quand j’aurai un peu de temps pour ce sujet. Mais je pense effectivement changer la valeur par défaut. Pourquoi 18 au passage et pas 19?
Je pense également créer une entité number avec la T° Base, ça permettra de faciliter sa modification sans devoir repasser par la config.

2 « J'aime »

Parceque la réglementation thermique demande de chauffer à 19°C et que par convention on considère qu’à partir de 18°C extérieur les apports gratuits compensent forcément le 1°C qui manque… Ce n’est jamais expliqué mais c’est pour ça que depuis la RT88 (et peut-être avant, mais je ne suis pas assez vieux) on travaille systématiquement en DJU en base 18 en France :slight_smile:

1 « J'aime »

J’aimerais pouvoir comparer l’info donné par l’intégration (°C·d) avec ma consommation de chauffage (exprimer en kWh/an ou par mois ou … )
Est-il possible que l’intégration le fasse ou éventuellement quelle formule appliqué ?

Merci d’avance et bonne journée

c’est aussi ce que je disais, un petit template sensor en modèle serait bienvenu.

Rq c’est +tôt facile à faire chacun pour vérifier au cours de l’année

conso réelle [kWh] / DJC_réel [°C.jour]

EDIT > cette formule simplifiée est parfaite pour suivre la déviation par rapport à la moyenne en kWh consommé par rapport kWh en fonction du climat

Avec :

  • Conso réelle : à chacun de récupérer le bilan de ses capteurs
  • DJC_réel : donné par l’intégration fournie par @alepee

EDIT 2 (je me suis emmêlé les pinceaux dans la 1ère explication): si on veut une conso normalisée on peut compléter la formule avec →

Conso normalisée [kWh] = (conso réelle [kWh] / DJC_réel [°C.jour]) x DJC_théorique [°C.jour]

Avec DJC_théorique : un tableau de valeur annuel officiel pour ta localisation qu’on peut trouver un peu partout, le tableau des valeurs par département issues de météo France (climat normalisé actuel 2012-2022) : https://deperditiondechaleur.fr/web/content/828 (source)

bon, 4 sensors créés ( ParamètresEntréescréer une Entrées → ) en test :

  • 2 utility meters Compteur de services pour la conso totale de chauffage par jour et par semaine : chauffage_par_jour et chauffage_par_semaine
  • 2 template sensors → Modéliser un capteur avec la formule (idem pour par jour) :
{{ (states('sensor.chauffage_par_semaine') | float / 
states('sensor.hdd_weekly') | float)
if states('sensor.hdd_weekly') | float >0
else 0}}

l’unité kWh/°C/h et la classe d’état mesure pour garder l’historique et les stats
à voir ce que ça donne

Ça me fait plaisir que vous abordiez le sujet, car c’est bien ce à quoi j’aimerais arriver :slight_smile:.

Je compte le faire en plusieurs étape. Première étape, avoir un calcul fiable des DJU, la seconde permettre de faire le rapport entre consommation énergétique et DJU.

Premier problème auquel il faut que je remédie, les calcul des DJC/DJR sont fait à minuit en compilant les données de la journée, ça implique donc que le DJC/DJR du 2 mars est basé sur les relevé du 1er. J’aimerais remédier à ça pour rendre les lectures plus simple et éviter les incohérence à l’usage.

Je vous tiendrai au courant dès que j’aurai avancé sur le sujet.

1 « J'aime »

Capture d'écran 2025-03-26 174919

Oui, pareil.

Existe-t-il un autre moyen de l’installer ?

Manuellement, mais ça ne devrai pas coincer comme ça :thinking:
Peux-tu partager un peu plus de contexte ? Un screen record de ce que tu fais peut-être ? Sinon on peut prendre quelques minutes en visio pour mieux comprendre ce qui se passe.