Configuration poêle à pellet avec versatile thermostat

Bonjour à tous ! Cela faisait un moment que je n’avais pas participé aux échanges.

Depuis tout ce temps je viens d’équiper ma maison d’un poêle à pellet, et c’est tout nouveau pour moi, passant d’un système de chauffage classique électrique à ce nouveau système. J’ai un peu étudié avec mon ami gemini, et on en a conclu, ensemble, ce type de réglages.
Soucieux de les améliorer encore, je vous soumet un condensé de ce que j’ai pu comprendre et utiliser :

Le Matériel :

  • Poêle : Red Heating Melissa Air 7 XUP! (Groupe MCZ).

  • Pilotage : Contact sec (ON/OFF) via un module relais

  • Intégration : Home Assistant + Versatile Thermostat (VTherm).

  • Sonde : Capteur de température déporté via la station netatmo

La Philosophie du réglage : Contrairement à un radiateur électrique qui peut faire du PWM (ON/OFF rapide), un poêle à granulés a une inertie mécanique lourde :

  1. Phase d’allumage longue : 10 à 15 minutes avant de produire de la chaleur.

  2. Usure : La bougie d’allumage et la vis sans fin s’usent à chaque démarrage.

  3. Phase d’extinction : Nécessite un cycle de nettoyage/ventilation (cooling).

L’objectif de mes réglages est de lisser les cycles pour obtenir des chauffes longues et peu fréquentes (idéalement 2 par jour), plutôt que de multiples petits allumages.


Mes Réglages Versatile Thermostat (Type: Over Switch)

Voici les paramètres pour gérer cette inertie :

1. Gestion du Cycle

  • cycle_min: 90 minutes (1h30)

    • Pourquoi ? C’est la base de temps du calcul. Sur un cycle de 90 min, si VTherm demande 50% de puissance, le poêle chauffe 45 min et s’arrête 45 min. Une durée longue est vitale pour absorber les temps de démarrage/extinction.

2. Les Garde-fous

  • minimal_activation_delay_sec: 2700 (45 minutes)

    • Pourquoi ? C’est CRITIQUE. Le poêle mettant ~15 min à s’allumer, si on demande moins de temps, il s’éteindrait à peine la flamme apparue.

    • Résultat : Une fois allumé, je force le poêle à chauffer au moins 45 minutes (15 min allumage + 30 min chauffe réelle) pour que le foyer monte en température proprement.

  • minimal_deactivation_delay_sec: 1800 (30 minutes)

    • Pourquoi ? Une fois éteint, interdiction de rallumer avant 30 min. Cela laisse le temps au poêle de faire son cycle de nettoyage (cooling) complet et évite l’effet « yoyo » si la température oscille légèrement autour de la consigne.

3. Les Coefficients TPI

  • tpi_coef_int: 0.6

    • Analyse : Coefficient proportionnel. Si j’ai 1°C d’écart (Consigne - Réel), VTherm commande 1 * 0.6 = 60% du cycle (soit 54 min de chauffe). C’est un réglage assez réactif adapté à l’air pulsé.
  • tpi_coef_ext: 0.02

    • Analyse : Coefficient extérieur faible. L’influence de la température extérieure modifie peu la consigne, comptant sur l’isolation de la maison.

4. Sécurité

  • safety_delay_min: 60

    • Pourquoi ? Si la sonde extérieure ou intérieure ne répond plus pendant 1h, le système coupe tout par sécurité.

Le Réglage Physique sur le Poêle (Indispensable)

Pour que cela fonctionne avec un contact sec, le poêle doit être configuré spécifiquement (menus Red/MCZ) :

  1. Thermostat Externe : Activé (ON).

  2. Mode AUTO-ECO (ou Standby) : Activé (ON).

    • Explication : Sans ce mode, quand le contact s’ouvre, le poêle se mettrait juste au ralenti (modulation) sans s’éteindre. Avec ce mode, contact ouvert = extinction complète après temporisation.
  3. Temporisation d’arrêt (t arrêt Eco) : Réglée sur 5 minutes.

    • Sert de tampon pour éviter les extinctions sur micro-coupure.

Voici mes questions :

  • Utilisez-vous un cycle_min encore plus long (ex: 2h ou 3h) pour maximiser l’inertie ?

  • Comment gérez-vous le décrassage du brasier si vous chauffez toute la journée?

  • Qu’est ce que je pourrais encore améliorer ?

Merci à tous !

2 « J'aime »

Hello @frankb ,

Tout d’abord merci pour ce beau post. (et merci à @WarC0zes pour avoir déplacer le post).

Il faut que tu prennes connaissance de cette discussion : Minimum deactivation delay keeps the VTherm in Heating indefinitely · Issue #1375 · jmcollin78/versatile_thermostat · GitHub

Quelqu’un comme toi qui a utilisé à la fois le minimal_activation_delay_sec et le minimal_deactivation_delay_sec. Ca marche comme prévu, mais tu peux te retrouver dans des cas où ton poele ne va jamais s’éteindre et vice-versa ne va jamais s’allumer. (jamais = avec un très gros délai).

Suppose que tu rentres chez toi, le preset passe à Confort, le pourcentage de chauffe demandé est de 80%, alors on_time = 90min x 0.8 = 72 min, off_time=18 min (< 30 min) donc ton poele va chauffer 1,5h, puis tout le cycle d’après (donc 3 h), puis peut être tout le cycle (4,5h), jusqu’à ce que je on_percent soit de 33% (30min/90min).

Tu risques un effet de yoyo dans les températures qui va être très désagréable. Tu auras soit trop chaud, soit froid.

Je te propose plutot le réglage suivant:

  1. cycle de 20 min,
  2. minimal_activation_delay_sec : 6 min (> temporisation arrêt)
  3. Mode auto-eco qui permet de passer de ça chauffe beaucoup à ça chauffe doucement. Donc contact fermé pour avoir une bascule comfort/eco (et pas du on/off).

Tu mets le poele en route si il y en a besoin et tu laisses le Vtherm basculer de Comfort à Eco.

Ce qui est important c’est de ne pas stopper / arrêter tout le temps. C’est mauvais pour ton poele et pour ton confort.

Après le mieux c’est toujours de faire des essais mais soit présent avec les réglages que tu proposes. Tu risques la sur-chauffe (cf. post)

Hello !
Merci beaucoup d’avoir pris le temps de répondre @Jean-Marc_Collin et d’avoir créé un post directement, je n’ai pas osé :slight_smile:

Bon, effectivement d’après ce que tu dis, je suis à contre courant, enfin Gemini du moins, parce que je me suis beaucoup basé sur lui et ses conseils…

Si je comprends bien pour l’auto eco. Actuellement sur le poêle celui ci est sur ON, c’est à dire que si mon contact est fermé, il se met en route et chauffe. Si il s’ouvre, il s’arrête complètement.
Il faut donc que je le passe à OFF ? et du coup si mon contact sec s’ouvre il se passe quoi ? Le poêle se met en mode je chauffe doucement ? Et comment je peux arrêter le poêle ?

Actuellement ce que j’ai / souhaite (pour compléter mon installation) :
J’ai mis un planning comme ceci :
eco - boost (celui qu’on voit pas) - eco - boost - confort - eco

Avec ces valeurs pour le climate du poele :

L’idée de base était de minimiser l’utilisation de mes chauffages électriques (qui sont toujours fonctionnel) avec cette configuration, qui me permet de faire le tampon en mode confort, et ne pas utiliser le poele pour peu de temps

Les réglages du climate des radiateurs :

En gros, quand je passe en boost. C’est le poêle qui chauffe. En confort, c’est l’électrique, pour “maintenir la température”, et eco quand je suis pas là, et c’est l’électrique qui gère. Mais dans ma tête, le poêle doit démarrer et s’éteindre tout seul, et seulement 2 fois par jour pour ne pas “trop” l’user. Mais c’est la que je fais peut être fausse route.

Globalement depuis 3 jours cela fonctionne plutôt correctement, mais j’ai encore des soucis quand j’atteins la consigne, et je pense que tu as mis le doigt sur ça, à cause du cycle trop long je pense et les autres réglages.

Entre temps j’ai aussi demandé à gemini quelques modifs, notamment concernant le sensor.poele_a_pellet_power_percent. Il a voulu redémarrer le poêle alors que ma consigne était encore à 22° avec un power percent à 14%. J’étais en train de modifier le TPI seuil bas avec une valeur de 2° pour éviter justement le redémarrage pour rien.
analyse concrète de la chauffe de la pièce principale :
Démarrage : 18.2°C - 10°C extérieur
Consigne : 22 °C pendant 2h en mode boost
Commence à chauffer la pièce (température qui commence à monter) : 20 minutes après l’allumage
Après 2h de chauffe, le chauffage coupe, du à mon planning : 20.6°C
Pic de température après 20 minutes d’arrêt (inertie) : 20.8°C

Donc j’en déduis que je prends environ 2 degrés pour 2 heures de chauffe.

Voici mes valeurs actuelle sur le thermostat :

  • cycle_min: 90 minutes (1h30)
  • minimal_activation_delay_sec: 2700 (45 minutes)
  • minimal_deactivation_delay_sec: 900 (15 minutes)
  • tpi_coef_int: 0.9
  • tpi_coef_ext: 0.02

Je ne sais pas si cela peux t’aiguiller et comprendre un peu mieux mon installation et mon but, et si il est réalisable ou pas.

Merci pour ton aide !!

Hello,

Je suis moi-même en train de configurer mon poêle à granulés dans Home Assistant, et j’avais initialement choisi la même solution que toi (à savoir le fil pilote + le mode ECO).
Jusqu’au moment où je suis tombé sur l’intégration Micronova Agua IoT, qui permet de contrôler le poêle via les serveurs Micronova, comme avec l’application Easy Connect.

De mon côté, mon poêle est un Cadel Perla 7, mais il fait partie du groupe MCZ, comme ton poêle qui fait également partie du groupe MCZ, et il devrait donc être compatible avec cette intégration.

Cela permet un contrôle beaucoup plus fin du poêle et rend possible l’utilisation du mode « Thermostat sur un autre thermostat » de Versatile Thermostat.
La seule contrainte à garder en tête est qu’en cas de coupure Internet, plus rien ne fonctionne.

voir sur github le repo → home_assistant_micronova_agua_iot

1 « J'aime »

Salut @couf !

Super interessant ton post ! effectivement cela serait un mega plus si je pouvais piloter le poele de cette manière je vais m’y pencher !

Je suis également curieux de connaitre tes réglages et ton approche sur la façon de le gérer :slight_smile:

Bonjour

J’ai moi aussi une poêle compatible avec l’intégration Micronova Agua IoT.

Je voulais savoir comment vous avez automatisé votre poêle.

J’aimerais qu’il ce régul tout seul en fonction de la température d’un capteur dans le salon mais je ne sais pas trop comment faire pour mettre ça en place.

Merci d’avance :wink:

Bonjour,

J’utilise le Versatile Thermostat avec mon poêle compatible avec l’intégration Micronova Agua IoT depuis l’hiver dernier et ça marche très bien. Ça utilise le mode “over climate”.

La configuration a évolué un peu au cours du temps, mais il n’y a rien de très compliqué. Les fonctionnalités activées sont la détection de présence et l’auto start/stop. Cette dernière est configurée sur “very slow”. L’auto-régulation est sur “Light”. À part ça, j’utilise Scheduler pour définir des presets à différents moments de la journée.

La “température de la pièce” est donnée par un capteur qui est en fait la moyenne des 3 capteurs que j’ai au rez-de-chaussée, puisque le poêle a une influence sur toutes ces pièces.

Le capteur de présence a un petit délai pour éviter que le poêle s’arrête si je pars peu de temps alors qu’il est déjà allumé (p.ex. promener le chien), et j’ai ajouté un switch pour “forcer la présence” qui garde le capteur allumé.

Hésitez pas si vous avez des questions spécifiques.

1 « J'aime »

Merci pour le retour. J’ai pris un avec Micronova mais si j’ai bien compris ce n’est pas un Agua IoT donc l’intégration que tu cites ne fonctionnera pas. Va falloir bidouiller (ca occupe les longues soirées d’hiver)

Bonjour à tous,

Je reviens vers vous pour donner des nouvelles de l’avancement de mon projet de pilotage du poêle à granulés Red Melissa. Grâce à vos conseils, j’arrive à une configuration plutôt stable et performante.

Voici une synthèse de ce qui a été mis en place pour ceux que ça intéresse.

1. L’architecture technique

  • Intégration du Poêle : J’utilise actuellement l’intégration Micronova Agua IOT (Cloud) pour piloter le poêle → @Jean-Marc_Collin Si tu as une carte micronova, tu dois pouvoir te connecter avec l’intégration

  • Projet en cours de test : Je travaille sur une migration vers un ESP via ESPHome pour un pilotage 100% local (plus fiable et réactif), mais la logique d’automatisation ci-dessous restera la même.

  • Versatile Thermostat qui gère le preset : BOOST ou eco et je me sers du slope et du power percent pour réguler la puissance du poêle

2. La logique de Chauffage (Couplage Poêle / Électrique)

L’objectif est de chauffer la maison principalement avec le poêle, et de maintenir la température de consigne la nuit par exemple ou absent) avec le chauffage électrique.

Pour cela j’ai créé 2 thermostats. Un pour le poêle, un pour le chauffage électrique, avec les presets suivant :

  • Preset BOOST : Le Poêle devient maitre. La consigne de température est supérieure (21.5°C) à celle du thermostat du chauffage électrique (18°C). Le mode eco stop du poêle est activé, c’est à dire que quand la consigne est atteinte, et que le power_percent baisse. on ne coupe pas le chauffage, mais on le module (cf chapitre 3-B)

  • Preset ECO : Le chauffage électrique devient maitre. La consigne de température est supérieure (18°C) à celle du thermostat du poêle (17°C)

Le tout piloté par un Scheduler qui contrôle le passage du preset eco au preset boost.

3. Les Automatisations Clés

J’ai divisé la gestion du poêle en 3 automatisations distinctes pour plus de clarté et de sécurité.

A. Démarrage Intelligent (« Manager Démarrage »)

Le poêle ne démarre pas bêtement dès qu’il y a une demande. Il faut que :

  1. Versatile commande un input bolean TPI maitre (Tampon entre versatile et le climate de Micronova Agua IOT)

  2. On doit être impérativement en Mode Boost.

  3. Une condition d’hystérésis personnalisée. J’ai donc créé un template binary sensor : Autorisation uniquement si la différence température intérieure et la consigne est supérieure à x degrés)

    {% set current = state_attr(‹ sensor.temperature_moyenne_maison ›, ‹ current_temperature ›) | float(0) %}
    {% set target = state_attr(‹ climate.thermostat_poele ›, ‹ temperature ›) | float(0) %}
    {% set preset = state_attr(‹ climate.thermostat_poele ›, ‹ preset_mode ›) %}
    
        {# On autorise le démarrage SI : #}
        {# 1. L'écart est > 1°C (Mode normal) #}
        {# 2. OU on est en BOOST et il fait juste plus froid que la consigne #}
        
        {{ (target - current) > 1.0 or (preset == 'boost' and target > current) }}
    
  4. Vérification que le poêle est « propre » avec une automatisation qui incrémente un compteur de cycle. J’autorise 2 cycles de chauffe de 3 heures avant un nettoyage nécessaire (et bloquer son allumage).

YAML

alias: "Poêle : Manager Démarrage"
description: Allume le poêle UNIQUEMENT si TPI actif ET Mode Boost actif.
triggers:
  - entity_id: input_boolean.poele_tpi_maitre
    to: "on"
    trigger: state
    id: tpi_on
conditions:
  - condition: state
    entity_id: climate.thermostat_poele
    attribute: preset_mode
    state: boost
  - condition: state
    entity_id: binary_sensor.poele_proprete
    state: "off"
  - condition: state
    entity_id: binary_sensor.poele_condition_hysteresis
    state: "on"
    enabled: true
  - condition: not
    conditions:
      - condition: state
        entity_id: climate.thermostat_poele
        state: "off"
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.melissa_melissa_eco_stop
  - delay: "00:00:02"
  - action: climate.set_hvac_mode
    target:
      entity_id: climate.melissa
    data:
      hvac_mode: heat
mode: single

B. Modulation de la puissance de la flamme et de la ventilation

Au lieu d’un simple ON/OFF, je module la puissance du poêle (1 à 5) en fonction du pourcentage de demande de VTherm (power_percent).

La ventilation est calculée dynamiquement.

  • Si le poêle est froid (fumées < 100°C) : Ventilation minimale (1) pour chauffer le corps de chauffe rapidement.

  • En fonctionnement : J’applique la règle Ventilation = Puissance - 1. Cela permet de garder le poêle relativement silencieux par rapport à sa puissance de chauffe.

YAML

alias: "Poêle : Modulation Flamme et Ventilation V2 (Progressif)"
description: Optimisation chauffe avec gestion de l'inertie et démarrage à chaud
triggers:
  - entity_id: climate.thermostat_poele
    trigger: state
    attribute: power_percent
  - trigger: state
    entity_id: sensor.gw2000a_indoor_temperature
  - trigger: state
    entity_id: sensor.melissa_smoke_temperature
actions:
  - variables:
      demand: "{{ state_attr('climate.thermostat_poele', 'power_percent') | float(0) }}"
      fumees: "{{ states('sensor.melissa_smoke_temperature') | float(0) }}"
      target_power: >
        {% if demand >= 98 %} 5 {% elif demand >= 80 %} 4 {% elif demand >= 50
        %} 3 {% elif demand >= 20 %} 2 {% else %} 1 {% endif %}
      target_fan: |
        {% if fumees < 100 %}
          1
        {% else %}
          {# Règle du Silence : Power - 1 #}
          {% set fan = target_power | int - 1 %}
          {# Sécurité : minimum 1, maximum 5 #}
          {% if fan < 1 %} 1 
          {% elif fan > 5 %} 5 
          {% else %} {{ fan }} {% endif %}
        {% endif %}
  - target:
      entity_id: number.melissa_power
    action: number.set_value
    data:
      value: "{{ target_power }}"
  - target:
      entity_id: climate.melissa_vent_front
    action: climate.set_fan_mode
    data:
      fan_mode: "{{ target_fan | string }}"
mode: restart

C. Gestion de l’Arrêt et Sécurités

Cette automatisation gère l’extinction proprement. Elle coupe le poêle si :

  • Le TPI maitre passe en off.

  • On quitte le mode Boost pour repasser en Eco (le poêle laisse la main).

  • Sécurité : Coupure immédiate en cas de surchauffe détectée ou si le VTherm est coupé manuellement.

YAML

alias: "Poêle : Manager Arrêt et Sécurité"
description: Coupe le poêle si fin de cycle (sauf Boost), VTherm Off, ou Surchauffe.
triggers:
  - entity_id: input_boolean.poele_tpi_maitre
    to: "off"
    trigger: state
    id: tpi_off
  - entity_id: binary_sensor.poele_securite_surchauffe
    to: "on"
    trigger: state
    id: securite
  - entity_id: climate.thermostat_poele
    to: "off"
    trigger: state
    id: vtherm_off
  - entity_id:
      - climate.thermostat_poele
    attribute: preset_mode
    from:
      - boost
    trigger: state
    id: sortie_boost
    enabled: true
    to:
      - eco
conditions: []
actions:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: securite
              - condition: trigger
                id: vtherm_off
        sequence:
          - action: switch.turn_off
            target:
              entity_id: switch.melissa_melissa_eco_stop
          - delay: "00:00:02"
          - action: climate.set_hvac_mode
            target:
              entity_id: climate.melissa
            data:
              hvac_mode: "off"
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id: tpi_off
              - condition: trigger
                id: sortie_boost
        sequence:
          - condition: state
            entity_id: climate.thermostat_poele
            attribute: preset_mode
            state:
              - eco
          - condition: state
            entity_id: input_boolean.poele_tpi_maitre
            state: "off"
          - action: switch.turn_off
            target:
              entity_id: switch.melissa_melissa_eco_stop
          - delay: "00:00:02"
          - action: climate.set_hvac_mode
            target:
              entity_id: climate.melissa
            data:
              hvac_mode: "off"
    default: []
mode: single

Il reste certainement beaucoup de choses à améliorer, mais pour le moment le fonctionnement est stable !

Ma contrainte actuelle est de m’affranchir du cloud, car pour ma part j’ai eu quelques pannes du cloud, et c’est galère. Et je suis preneur de vos retour d’expérience sur Micronova Agua IOT

3 « J'aime »

Impressionant boulot. Merci pour le retour !

1 « J'aime »