VOUS ÊTES ICI: Accueil » Blog » Domotique » Eedomus » MAJ – Gestion d’un chauffage centrale via l’eedomus
Eedomus

MAJ – Gestion d’un chauffage centrale via l’eedomus

En début d’année, je vous avais proposé un article sur la domotisation de mon chauffage centrale basé sur une chaudière à gaz. A l’époque j’avais basé ma programmation sur un système de tout ou rien aussi appelé une régulation par Hystérésis.

Il existe un très bon article à ce sujet sur domotique-store.fr sur lequel je vais m’appuyer pour vous expliquer un peu le fonctionnement car je le trouve vraiment bien fait et il m’a permis de mieux assimiler certains principes et surtout d’affiner ma programmation, je vous invite donc à le consulter aussi si vous souhaitez mieux comprendre les principes de la régulation d’un chauffage centrale.

La méthode de régulation par Hystérésis (ou Tout ou rien):
schéma de principe:

graph chuff

Quelques explications

Lorsque la température mesurée dans la maison descend sous la température de consigne (généralement 0,5° en dessous), l’eedomus commande l’allumage du chauffage. Lorsque la température est supérieure à la consigne (généralement 0,5°), l’eedomus demande alors l’arrêt du chauffage.

Ce système de régulation du chauffage peut créer des écarts / oscillations de température d’autant plus importants que vos radiateurs et votre pièce auront d’inertie, ce qui risque d’occasionner un manque de confort pour les habitants et une sur-consommation.

Alors oui et non car la prise en charge de la régulation par les scènes programmées dans l’eedomus permettent tout de même de limiter la surconsommation mais il est vrai qu’au niveau du confort il existe une autre méthode qui est beaucoup plus performante.

Il s’agit de la méthode de régulation de type PID soit Proportionnel Intégral Dérivé. C’est justement le principe de l’algorithme du thermostat virtuel de l’eedomus. Son principe est le suivant:

La méthode de régulation de type PID:
schéma de principe:
graph chuff pid

Explication du schéma

La régulation PID est la solution la plus performante pour réguler une chaudière. Le thermostat virtuel de l’eedomus va gérer la chaudière via des cycles dont la durée peut varier en fonction de l’inertie du système de chauffage (inertie de la chaudière + inertie des radiateurs + inertie des pièces).

Plus la température mesurée sera en dessous de la température de consigne, plus la chaudière sera activée un grand pourcentage du temps de chaque cycle. Plus la température mesurée se rapprochera de la température de consigne, plus le pourcentage de temps ou la chaudière sera activée diminuera. C’est ce que l’on appelle le système proportionnel.

Le système est aussi capable de s’auto-corriger grâce à des formules « Intégrale » et « Dérivée » et ainsi améliorer la régulation en « apprenant » le comportement des radiateurs et de la pièce afin de stabiliser le plus possible la température.

De ce fait, ce système est à la fois plus économique et surtout plus confortable que le système de type « tout ou rien » à hystérésis.

Voyons à présent un peu plus en détail l’algorithme de régulation de l’eedomus.

Petite explication de l’algorithme du thermostat virtuel de l’eedomus:

Un algorithme mixte
L’algorithme proposé est un mixte entre une boucle ouverte (que l’on utilise dans les grands bâtiments, où la mesure de la température intérieure est complexe) et une boucle fermée (les systèmes de type PID, Proportionnel Intégral Dérivé).
Boucle ouverte = T x différence entre la consigne et la température extérieure
Boucle fermée = C x différence entre la mesure intérieure et le consigne
Pourquoi un système mixte ?
Les systèmes PID conviennent lorsque la mesure (de la température intérieure) est continue et immédiate. Lorsque les températures sont mesurées toutes les 20 / 40 minutes, le retard introduit un risque de mauvaise décision (oscillation).

Par ailleurs, la consommation de chauffage dépend très directement de la température extérieure, et l’information de température apporte un gain de stabilité et de robustesse dans l’algorithme. La température extérieure est plus facilement connue que la température intérieure (lieu de la mesure, nombreuses pièces, …), disponibilité par la météo.
Si la boucle ouverte apporte de la robustesse, la boucle fermée apporte la finesse sur le réglage fin de la température.
Idéalement, nous introduisons 30% à 60% de boucle ouverte (et le complément en boucle fermée)
Ce complément de boucle ouverte permet également de stabiliser la température avec un simple « P » (sans être obligé d’introduire un terme intégral).

L’algorithme pour le calcul de la puissance en fonction des températures est :

Puissance (entre 0 et 100% du temps) = C x (différence entre la consigne et le température intérieure actuelle) + T x (différence entre la consigne et le température extérieure).
Les valeurs par défaut : C = 0,6 et T = 0,01 conviennent en général. Elles correspondent à une puissance installée de 100W/m2 et une isolation moyenne. Elles peuvent être ajustées (et T augmenté jusqu’à l’isolation du bâtiment Ubat rapporté à la puissance, jusqu’à 0,03).
Pour un chauffage de 1000 Watts, une consigne de 21°C, une température actuelle de 20°C, et une température extérieure de 11°C
‘P = 0,6 * (21 – 20) + 0,01 * (21 – 11) = 0,7 : le chauffage va chauffer à 70% de sa puissance (soit environ 700 W).
L’utilisation d’un pourcentage permet une pilotage plus doux qu’un simple ON/OFF. Si un ON/OFF est préféré, il suffit de mettre C=40 et T=0.

 

Les coefficients T et C

Afin d’obtenir le réglage optimal de votre régulation, il convient de calculer au mieux les coefficients, un peu d’explication tiré de la doc eedomus:

Le coefficient propositionnel (noté C) est choisi de manière empirique à 0,6 :
il indique une puissance du chauffage à 60% si la température est inférieure de 1°C à la consigne
la puissance est à 100% si la température est à 1,7°C sous la consigne.
Le dimensionnement des chauffages (en Europe tempérée) est conçu pour être au maximum lorsqu’il fait -10°C dehors (en moyenne sur la journée). Un chauffage à la puissance maximale est de nature à ramener la température à la consigne rapidement. La cible qui est visée est de ramener la température en 1 heure environ.
L’isolation des bâtiments est actuellement définie par un facteur Ubat (le nom change de nom, historiquement, la lettre K était utilisée pour les déperditions thermiques, nous appelons T ce coefficient dans l’interface). Une valeur Ubat = 3 Watt/Kelvin/m2 correspond environ à une consommation de 150 kWh/an/m2 (qui est une moyenne des bâtiments actuels, même si la réglementation vise 50 kWh/an/m2 dans le neuf).
Une valeur de Ubat = 3 W/K/m2
La puissance maximale (nominale) du chauffage est d’environ 100 Watt / m2.
Le coefficient à utiliser T est donc de 3 / 100 = 0,03.
Nous choisissons volontairement une valeur inférieure (33%, soit 0,01, nous aurions pu prendre 50%), pour éviter une surchauffe des bâtiments bien isolés (Ubat = 1) et une surchauffe en intersaison, ou une surchauffe en cas d’apport solaire important.
Pour les bâtiments existants, la régulation est donc à 30% par la boucle ouverte, mais pour les bâtiments bien isolés, la boucle ouverte peut représenter 60% ou 90%.
La boucle fermée, en simple P permet la régulation fine suivant les conditions de la journée, les apports (solaire, cheminée, cuisine), etc…

En gros vous prenez votre dernier relevé de consommation de gaz et vous le divisez par la surface de votre maison, vous obtenez votre consommation en kWh par an et par m², si par exemple vous êtes proche des 150kWh votre coefficient T est de 0.03.

 

Passons à présent à la mise en oeuvre

Cette gestion automatique s’appuie sur deux périphériques z-wave, un relais Fibaro FGS221 et un thermomètre ST814.
mteriel

J’utilise ici un FGS221 car c’est ce que j’avais sous la main à ce moment la mais un FGS211 fait tout a fait l’affaire ou bien même un relais qubino qui couplé a une sonde de température pourra même vous indiquer la température de votre local chaufferie dans votre eedomus. Pour le relevé de température, j’utilise un ST814 mais tout autre sonde de température peut faire l’affaire mais partant du principe que c’est sur cette sonde que l’algorithme va s’appuyer, il faut tout de même utiliser une sonde très fiable. Le ST814 est réputé très fiable et il est vrai que son relevé de température est exacte, encore faut il bien le positionner dans la pièce a vivre pour une régulation optimale. Il est conseillé de placer votre sonde au mur à environ 1m50 de hauteur loin des radiateurs et a proximité du centre de la pièce.

Le système présenté ci-dessous est entièrement autonome, il permet entre autre:

  • de s’adapte aux conditions de présence
  • de tenir compte des moments d’aération du domicile
  • d’anticiper le gel de l’installation
  • de gérer plusieurs phases dans la journée

Avant de commencer, je vous conseille de créer une pièce dédiée à cet usage pour ma part, j’ai créer une pièce « chaufferie ».

pour arriver à ce résultat, il faut commencer par créer une programmation « zone de chauffage » et la configurer ainsi:
zone-chauffage-desc2

1- sélectionnez le thermomètre de température intérieur
2- Sélectionner la sonde de température extérieur
3- indiquez vos coefficients C & T
4- cochez les ouvertures a prendre en compte pour la pause du système.

[box type= »info »] Pour l’option 4, à cocher uniquement si vous n’utilisez pas ma fonction détection ouvertures. Je vous recommande tout de même ma fonction qui est plus souple et paramétrable.[/box]

 

Astuce

Par défaut, seul le périphérique virtuel « température extérieur » est disponible pour le thermomètre extérieur. Pour utiliser votre propre sonde extérieur pour encore plus de précision il faut le rendre sélectionnable dans la liste déroulante.
Pour cela, rendez vous dans les paramètres de votre sonde puis dans le paramètres de gestion des pièces:
param piece

puis cochez la case en extérieur correspondant à la pièce ou se trouve votre sonde:
param piece 2

Votre sonde est à présent sélectionnable dans la liste:
ex

 

Créez ensuite un nouveau périphérique « état » nommé « Phase chauffage » configuré comme suit:
etat chauff

affectez lui les phases suivantes:

valeur

Créez ensuite un nouveau périphérique « état » nommé « Phase mémoire » et affectez lui les phases suivantes:
memoire_2

Créez ensuite un nouveau périphérique « état » nommé « Etat ouvertures » et affectez lui les phases suivantes:
ouvertures

Si vous avez suivi mon conseil et avez créé tout ces périphérique dans une pièce « chaufferie », il peut être intéressant d’avoir également dans cette pièce les différentes températures de la maison. Pour cela je vous donne ma petite astuce qui permet de conserver le périphérique d’origine dans sa pièce d’origine et de dupliquer sa valeur dans un état virtuel qui lui sera dans votre pièce « chaufferie ».
temperatures

 

Pour cela, créez un périphérique virtuel par températures à dupliquer que vous configurez ainsi:
periph_temp

Créez un actionneur HTTP « trait temp ». C’est cet actionneur qui va permettre de copier la valeur des périphériques de température d’origine.
trait

Affecter lui les valeurs suivantes:

valeurdescurltypeparametres
0import temp inthttp://192.168.x.x/apiGET/set?action=periph.value&periph_id=xxxx&value=[LAST_VALUE PERIPH_ID=yyyy]&api_user=xxx&api_secret=xxxx
1import temp exthttp://192.168.x.x/apiGET/set?action=periph.value&periph_id=xxxx&value=[LAST_VALUE PERIPH_ID=yyyy]&api_user=xxx&api_secret=xxxx
/set?action=periph.value&periph_id=xxxx&value=[LAST_VALUE PERIPH_ID=yyyy]&api_user=xxx&api_secret=xxxx
xxxx = code api du périphérique virtuel « Temp maison » dans la pièce chaufferie
yyyy = code api du périphérique thermomètre dans la pièce d’origine
xxx = votre api_user
xxxx = votre api_secret

Configurez ensuite une nouvelle règle qui permettra d’exécuter l’actionneur pour mettre a jour la température de la maison dans la pièce chaufferie:
import temp

Adoptez le même raisonnement pour les autres températures à importer dans la pièce « chaufferie ».

Tout nos périphériques sont à présent en place dans notre chaufferie, passons à présent à la programmation de l’intelligence qui fera fonctionner cette petite machinerie en complète autonomie, pour cela détaillons les actions a réaliser par phase.

chauff_HGLa phase Hors Gel
Comme son nom l’indique, cette phase permet de mettre le système en hors gel. J’avais créer cette phase mais je ne l’ai jamais réellement utilisée étant donnée que je joue sur les phases « suspendue » et « désactivé » que nous verrons plus loin.

chauff_jourLa phase Journée
Cette phase est une des phases récurrentes avec confort et nuit, elle permet de placer la maison a une consigne de « 19°C » pour les heures de non présence.
Pour ma part,  le système active cette phase à 9h00, 13h00 et 18h30 si nous sommes présents (pas forcement à la maison mais simplement pas absent sur plusieurs jours) et si le systeme est sur une phase différente de désactivé, matin froid ou retour en cours:
etat journée

l’activation de la phase journée déclenche la règle de consigne journée: (un test sur les ouverture est opéré au cas ou, nous détaillerons cette fonctionnalité plus loin).
cons_jour

chauff_confortLa phase Confort
Seconde phase récurrente de la journée qui fonctionne sur le même principe, elle est activée par le système à 6h00, 11h00 et 16h00 suivant les mêmes conditions.
etat confort

l’activation de la phase confort déclenche la règle de consigne confort:
cons conf

chauff_nuitLa phase Nuit
Troisième phase récurrente de la journée, elle permet de placer le chauffage en mode nuit pour maintenir une température de 16°C mini:
etat nuit

La consigne nuit:
cons nuit

chauff_nuit_froideLa phase Nuit froide
Cette phase permet de déclencher le chauffage si la température sous combles passe sous les 2°C (partie non isolée), cela peut permettre d’anticiper les fortes chutes de températures ou de protéger vos installations techniques qui pourraient se situer dans ces parties. ce cas peut aussi s’appliquer a un garage. Nous allons donc programmer le chauffage 1/2h toutes les 2h via les états suivants:

nuit froid on

nuit froid off

La consigne nuit froide associée:
consigne nuit froit on

consigne nuit froid off

chauff_desactiveLa phase Desactivé
Cette phase est manuelle, elle permet tout simplement de passer le système en off pour les saisons ou le chauffage n’est pas requis. le système test cet état dans les différents règles pour savoir si il peut ou non opérer des changement.

chauff_susprenduLa phase Suspendu
Cette phase permet de gérer la pause du système en fonction des ouvrants. Cette fonction a été implémentée dans la MAJ eedomus de février 2014 mais je vous présente tout de meme mon astuce qui permettait cette fonctionnalité avant qu’elle ne soit implémenté en natif. (ma solution permet de mettre en pause le système et sauvegarder son état avec une temporisation, je ne sais pas si cette tempo est prise en compte en natif, à tester).

Le principe de gestion des ouvertures:
Nous avons vu plus haut la déclaration du périphérique « Etat ouvertures », créons une maro dans ce périphérique:
fenetre

Créons la règle qui permettra d’activer cette macro en cas d’ouverture:

macro

Créons à présent la règle qui stop la macro si l’ouvrant est refermé avant la fin de la macro:
macro2

La règle qui relance le système en fonction de la phase en mémoire confort:
rallume fen ferm

La règle qui relance le système en fonction de la phase en mémoire journée:
rallume fen jour

Détail du périphérique « phase mémoire »:
Ce périphérique permet de relancer le système dans la bonne phase suite à une interruption pour ouverture. Les phases enregistrée en mémoire sont les phases récurrentes confort, journée et nuit.

Règle de mise en mémoire de la phase confort:
mem conf

Règle de mise en mémoire de la phase journée:
meme jour

Règle de mise en mémoire de la phase nuit:
mem nuit

Alors effectivement, j’ai mis en place ce système il y a 2 ans, depuis eedomus a évolué, il est possible de mutualiser les actions plutôt que de mettre des règles en parallèles comme ici, mais ma config fonctionne bien et est fiable, je n’ai donc pas encore fait évolué vers les nouvelles possibilités. Il est également possible de bénéficier directement de cette fonction directement en natif depuis l’update de février 2014, je mettrai de tuto a jour quand j’aurais fait évolué mon système vers cette nouvelle fonctionnalité.

chauff_ecoLa phase Eco
Cette phase se synchronise avec le périphérique « présence » de l’eedomus., Très simplement, si vous partez en vacances, vous placer le statut de présence sur absent et le système passe le chauffage en mode eco:
eco

La consigne Eco:
cons eco

chauff_matin_froidLa phase Matin froid
Cette phase correspond au matin d’octobre ou d’avril, périodes ou normalement les chauffages sont hors gel mais ou les matins peuvent être un peu friqués. Elle permet donc de palier a cette situation en activant le chauffage si nécessaire uniquement le matin. Cette phase est activé manuellement:

 

La règle de désactivation matin froid:
matin froid on

matin froid off

Voila c’est terminé, vous possédez à présent un système de pilotage de votre chauffage central complètement automatisé et optimisé pour un confort maximal et une consommation maîtrisée.

 

Les lien utiles


Domotiser son chauffage central – domotique-stor.fr
Programmation du thermostat virtuel – Doc eedomus
Algorithme eedomus – Doc eedomus

Acheter les périphériques utilisés dans cet article


Micromodule commutateur double Z-Wave FGS-221 – Fibaro

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE

A propos de cet auteur

Aurélien Brunet

Aurélien Brunet

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 avec ma première box domotique l'eedomus associée à un raspberrypi et quelques développements personnels. Depuis, je test, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog pour améliorer votre quotidien dans la smart home!

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE
close-link
NOEL 2 DOMO-BLOG

Venez Jouer
avec nous !

Cette année Noel sera connecté
JOUER
#Noel2DOmoBlog
close-link