Poêle à pellet / versatile thermostat

Bonjour,

Je viens de mettre en route le poêle à granules de ma fille. J’ai installé « versatile thermostat 8.3.2 » (en Vtherm switch, mais je n’arrive pas à vérifier si c’est bien ça ) et j’utilise le module « wpalacontrol »

J’ai lancé la première chauffe aujourd’hui en guise de test avec une consigne à 14°; arrivé à 14,2°, le poêle ne s’est pas coupé j’ai tenté de cocher la case « auto start/stop » (sûrement un peu trop vite) qui a bien coupé la chauffe, mais je ne pense pas que ce soit une option utile dans ma configuration
C’est d’ailleurs sur ce sujet-là que je souhaitais avoir une confirmation
Dans les paramètres, au niveau des fonctions, dois-je activer démarrage extinction automatique ?

L’autorégulation doit-elle être activée ?

Auriez-vous une programmation type à me soumettre ?

Si je m’abuse, les deux principaux concernés font partie de ce forum : @Jean-Marc_Collin @domochip
Merci à vous par avance de votre aide

Ma configuration

System Information

version core-2025.12.4
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch aarch64
user root
virtualenv false
python_version 3.13.9
os_name Linux
os_version 6.12.51-haos
arch aarch64
timezone Europe/Paris
config_dir /config

Hello, il y a déjà beaucoup de thread sur VTherm + les poêles à pellets. Est-ce que tu les as vus/ regardés ?

Si oui donnes moi tes attributs comme expliqué dans README-fr / références

Merci beaucoup pour ta réponse et ta réactivité

J’ai fait le tour, mais j’ai pu rater des informations car la livraison du poêle s’est fait attendre…
Chez moi, j’ai des radiateurs et un chauffe-eau, j’avais paramétré Home, assistant avec Better thermostat. Ton intégration versatile thermostat est quand même beaucoup plus « clé en main » ( j’ai trop la flemme de casser tout mon paramétrage pour pas aller dessus)
Mais du coup pour ma fille, j’ai trouvé que c’était vraiment la bonne solution
Le monde du chauffage avec les poêle à pellets m’était totalement inconnu, c’est un monde à part encore LOL

J’avais raté la partie où on pouvait trouver la globalité des paramétrages en yaml, plutôt pratique pour avoir une bonne vision. Ça m’a permis de voir que j’avais paramétré en « over_climate » et du coup j ai un gros doute … aurais-je du utiliser « ocer_switch » ?!?

La voici

hvac_modes:
  - heat
  - "off"
min_temp: 7
max_temp: 35
target_temp_step: 0.5
fan_modes:
  - "0"
  - "1"
  - "2"
  - "3"
  - "4"
  - "5"
  - high
  - auto
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
current_temperature: 10.4
temperature: 14
fan_mode: auto
hvac_action: idle
preset_mode: none
hvac_mode: "off"
ema_temp: 10.4
specific_states:
  is_on: false
  last_central_mode: null
  last_update_datetime: "2025-12-28T12:30:11.421043+01:00"
  ext_current_temperature: 4.7
  last_temperature_datetime: "2025-12-28T12:15:50.637401+01:00"
  last_ext_temperature_datetime: "2025-12-28T11:49:39.420039+01:00"
  is_device_active: false
  device_actives: []
  nb_device_actives: 0
  ema_temp: 10.4
  temperature_slope: 0
  hvac_off_reason: hvac_off_manual
  total_energy: 0
  last_change_time_from_vtherm: "2025-12-27T23:20:11.383659+01:00"
  messages:
    - hvac_off_manual
  is_sleeping: false
  is_locked: false
  is_recalculate_scheduled: false
configuration:
  ac_mode: false
  type: over_climate
  is_controlled_by_central_mode: false
  target_temperature_step: 0.5
  minimal_activation_delay_sec: 0
  minimal_deactivation_delay_sec: 0
  timezone: Europe/Paris
  temperature_unit: °C
  is_used_by_central_boiler: false
  max_on_percent: null
  have_valve_regulation: false
  cycle_min: 10
preset_temperatures:
  frost_temp: 7
  eco_temp: 17
  boost_temp: 22
  comfort_temp: 20
  frost_away_temp: 7
  eco_away_temp: 12
  boost_away_temp: 18
  comfort_away_temp: 18
current_state:
  hvac_mode: "off"
  target_temperature: 14
  preset: none
requested_state:
  hvac_mode: "off"
  target_temperature: 14
  preset: none
is_presence_configured: true
presence_manager:
  presence_sensor_entity_id: binary_sensor.presence_groupe_maison
  presence_state: "off"
is_power_configured: false
power_manager:
  device_power: 1
  mean_cycle_power: 0
is_motion_configured: false
is_window_configured: false
is_window_auto_configured: false
is_safety_configured: true
safety_manager:
  safety_state: "off"
  safety_delay_min: 60
  safety_min_on_percent: 0.5
  safety_default_on_percent: 0.1
is_lock_configured: true
lock_manager:
  is_locked: false
  lock_users: true
  lock_automations: true
  lock_code: false
is_auto_start_stop_configured: true
auto_start_stop_manager:
  auto_start_stop_enable: false
  auto_start_stop_level: auto_start_stop_medium
  auto_start_stop_dtmin: 15
  auto_start_stop_accumulated_error: 0
  auto_start_stop_accumulated_error_threshold: 5
  auto_start_stop_last_switch_date: null
  is_auto_stop_detected: false
is_over_climate: true
regulation_accumulated_error: 0
regulated_target_temperature: null
vtherm_over_climate:
  start_hvac_action_date: null
  underlying_entities:
    - climate.wpalacontrol
  is_regulated: true
  auto_fan_mode: auto_fan_medium
  current_auto_fan_mode: auto_fan_medium
  auto_activated_fan_mode: "4"
  auto_deactivated_fan_mode: auto
  follow_underlying_temp_change: true
  auto_regulation_use_device_temp: false
  regulation:
    regulated_target_temperature: null
    auto_regulation_mode: auto_regulation_medium
    regulation_accumulated_error: 0
friendly_name: "Poêle "
supported_features: 409

Vu que ma fille va bientôt amener les meubles, j’aimerais réussir à être plus près de la configuration. Finale

Encore merci pour ton aide

Bonjour,

Si tout ce que tu as pour piloter ton poele coté HA c’est une entité climate (climate.wpalacontrol), tu n’as pas trop le choix et tu es sur le bon type de VTherm.

Je vois que tu as mis un peu d’auto regulation (medium). C’est bien. N’hésites pas à pousser un peu au besoin.

Je vois aussi que tu as mis follow_underlying_temp_change: true. Je suppose que tu as donc un thermostat physique sur ton poele que tu peux régler et qui vient en complément des consignes de VTherm. Il faut savoir que ça marche assez mal d’avoir 2 controleurs qui jouent sur la consigne: VTherm et ton thermostat physique. Ils vont se marcher dessus et souvent tu pourras avoir l’impression que le thermostat physique n’est pas pris en compte par VTherm. Y a des mécanismes de temporisation interne à Vtherm pour éviter des boucles (VTherm → thermostat → VTherm → thermostat …) qui sont malheureusement obligatoires et qui peuvent provoquer ces défauts. Donc mon conseil, si tu n’en as pas besoin et si la régulation avec VTherm seul fonctionne, décoche cette option. En tout cas décoches là pour faire les tests sinon ça va perturber tes tests.

Sinon tu as mis un cycle de 10 min c’est bien.

Tu as aussi mis l’auto-start/stop avec un niveau medium. Ca va certainement provoquer beaucoup d’arrêt/relance et avec un peole qui est long a monter en température. Je déconseille. Mets soit très lent, soit coupe le carrément. C’est plus fait pour les clims qui consomment de l’électricité même quand il n’y a rien à chauffer.

Au moment où tu as pris les attributs, je vois que le VTherm est éteint: hvac_mode: "off" et qu’il fait très froid current_temperature: 10.4. Au cas où, tu dois l’allumer toi même. Un VTherm ne s’allume jamais tout seul (sauf auto-start/stop si il s’est éteint lui-même).

Il me manque ces 2 paramètres important dans les attributs (ma faute). Dis moi ce que tu vois :

Dans ton cas, avec une forte inertie, mets plutôt 1° et 3 min, ça ne sert à rien d’envoyer des changements de consigne trop fréquent. Tu verras à l’usage si il faut baisser.

Bonne installation à ta fille !

Merci Jean-Marc pour toutes ces explications

Déjà le bon vTherm, ça me rassure. wpalacontrole expose aussi un « switch.stove_on_off » ça change quelque chose ? d’ailleurs actuellement je l’active pas ce biais pour la chauffe

Je viens de passer l’auto regulation en moyen
Pour follow_underlying_temp_change je n’avais pas compris le role de cette fonction… c’est desactivé :wink:
Pour le seuil de régulation, jétais par defaut à 0.5, passé à 1
Pour la période minimale de régulation j’étais aussi par défaut à 5, j’ai laissé à 5 pour le moment

Pour l’auto-start/stop, je suis pas sur d’avoir parfaitement saisie
Si je l’active (en lent, du coup), c’est lui qui active la chauffe si besoin (en suivant le consigne de température) si je le désactive, comme s’active la chauffe suivant la consigne ?

Merci

Non ce n’est pas ça. Cf. versatile_thermostat/documentation/fr/feature-auto-start-stop.md at main · jmcollin78/versatile_thermostat · GitHub

Merci beaucoup pour ta réponse et ta réactivité

J’ai fait le tour, mais j’ai pu rater des informations car la livraison du poêle s’est fait attendre…
Chez moi, j’ai des radiateurs et un chauffe-eau, j’avais paramétré Home, assistant avec Better thermostat. Ton intégration versatile thermostat est quand même beaucoup plus « clé en main » ( j’ai trop la flemme de casser tout mon paramétrage pour pas aller dessus)
Mais du coup pour ma fille, j’ai trouvé que c’était vraiment la bonne solution
Le monde du chauffage avec les poêle à pellets m’était totalement inconnu, c’est un monde à part encore LOL

J’avais raté la partie où on pouvait trouver la globalité des paramétrages en yaml, plutôt pratique pour avoir une bonne vision. Ça m’a permis de voir que j’avais paramétré en « over_climate » et du coup j ai un gros doute … aurais-je du utiliser « over_switch » ?!?

La voici

hvac_modes:
  - heat
  - "off"
min_temp: 7
max_temp: 35
target_temp_step: 0.5
fan_modes:
  - "0"
  - "1"
  - "2"
  - "3"
  - "4"
  - "5"
  - high
  - auto
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
current_temperature: 10.4
temperature: 14
fan_mode: auto
hvac_action: idle
preset_mode: none
hvac_mode: "off"
ema_temp: 10.4
specific_states:
  is_on: false
  last_central_mode: null
  last_update_datetime: "2025-12-28T12:30:11.421043+01:00"
  ext_current_temperature: 4.7
  last_temperature_datetime: "2025-12-28T12:15:50.637401+01:00"
  last_ext_temperature_datetime: "2025-12-28T11:49:39.420039+01:00"
  is_device_active: false
  device_actives: []
  nb_device_actives: 0
  ema_temp: 10.4
  temperature_slope: 0
  hvac_off_reason: hvac_off_manual
  total_energy: 0
  last_change_time_from_vtherm: "2025-12-27T23:20:11.383659+01:00"
  messages:
    - hvac_off_manual
  is_sleeping: false
  is_locked: false
  is_recalculate_scheduled: false
configuration:
  ac_mode: false
  type: over_climate
  is_controlled_by_central_mode: false
  target_temperature_step: 0.5
  minimal_activation_delay_sec: 0
  minimal_deactivation_delay_sec: 0
  timezone: Europe/Paris
  temperature_unit: °C
  is_used_by_central_boiler: false
  max_on_percent: null
  have_valve_regulation: false
  cycle_min: 10
preset_temperatures:
  frost_temp: 7
  eco_temp: 17
  boost_temp: 22
  comfort_temp: 20
  frost_away_temp: 7
  eco_away_temp: 12
  boost_away_temp: 18
  comfort_away_temp: 18
current_state:
  hvac_mode: "off"
  target_temperature: 14
  preset: none
requested_state:
  hvac_mode: "off"
  target_temperature: 14
  preset: none
is_presence_configured: true
presence_manager:
  presence_sensor_entity_id: binary_sensor.presence_groupe_maison
  presence_state: "off"
is_power_configured: false
power_manager:
  device_power: 1
  mean_cycle_power: 0
is_motion_configured: false
is_window_configured: false
is_window_auto_configured: false
is_safety_configured: true
safety_manager:
  safety_state: "off"
  safety_delay_min: 60
  safety_min_on_percent: 0.5
  safety_default_on_percent: 0.1
is_lock_configured: true
lock_manager:
  is_locked: false
  lock_users: true
  lock_automations: true
  lock_code: false
is_auto_start_stop_configured: true
auto_start_stop_manager:
  auto_start_stop_enable: false
  auto_start_stop_level: auto_start_stop_medium
  auto_start_stop_dtmin: 15
  auto_start_stop_accumulated_error: 0
  auto_start_stop_accumulated_error_threshold: 5
  auto_start_stop_last_switch_date: null
  is_auto_stop_detected: false
is_over_climate: true
regulation_accumulated_error: 0
regulated_target_temperature: null
vtherm_over_climate:
  start_hvac_action_date: null
  underlying_entities:
    - climate.wpalacontrol
  is_regulated: true
  auto_fan_mode: auto_fan_medium
  current_auto_fan_mode: auto_fan_medium
  auto_activated_fan_mode: "4"
  auto_deactivated_fan_mode: auto
  follow_underlying_temp_change: true
  auto_regulation_use_device_temp: false
  regulation:
    regulated_target_temperature: null
    auto_regulation_mode: auto_regulation_medium
    regulation_accumulated_error: 0
friendly_name: "Poêle "
supported_features: 409

Vu que ma fille va bientôt amener les meubles, j’aimerais réussir à être plus près de la configuration. Finale

Encore merci pour ton aide
Désolé, je fini par m’embrouiller tous seul…
Donc auto start, désactivé; inutile dans mon cas (après relecture, c’est effectivement très clair)

mais on est d’accord que le Vtherm va couper la chauffe lorsque la consigne est atteinte puis la rallumer si besoin ?

Oui et non. En over_climate VTherm ne coupe rien mais donne la consigne au climate sous-jacent (climate.wpalacontrol ) qui lui va faire ce qu’il faut. Donc indirectement oui mais pas directement par VTherm.

D’accord, merci encore pour tous ces éclaircissements
Je suis pas juste à côté donc pas forcément évident… mais je vais poursuivre mes tests
J’ai créé une autre instance « over_switch » avec le « switch.stove_on_off » de Wpalacontrol Pour tester. Peut-être sera sera-t-il cohérent avec le poêle ?
Quoi qu’il en soit, je ferai un retour ici

Bonne soirée

En over Switch sur un poêle fait bien attention à tes paramètres de cycles et de délais d’activation/désactivation minimal pour éviter d’user trop vite la vis sans fin et l’allumeur.

Si le climate.wpalacontrol permet de réguler la puissance du poêle,.ça reste une meilleure solution. Le over_switch ne va faire que du tout ou rien.

En phase avec @KipK, garde le thermostat pour le contrôle. Au moins c’est fait pour et il va gérer correctement les délais, les tempos, …

On passeras en mode switch direct si des fois ça ne se passe pas bien.

Merci à vous deux, concernant cette mise en garde sur le « over_switch »

Je vais tenter d’observer le mieux possible, comportement en « over_climate » :+1:

Bonsoir

Essais peu concluant :pleading_face:
Dès que j’allume le poêle, il se met en chauffe même si la consigne est inférieure et la chauffe continue même lorsque la consigne est atteinte et même dépassée

J’ai re balayer les réglages et je vois pas trop ce qui peut coincer

Auriez-vous une piste à explorer ?

Merci

Hello,

Pourquoi ne pas demander à l’IA de te développer exprès une automatisation. C’est ce que j’ai fait avec Claude AI car j’ai remplacé mon thermostat Netatmo par un capteur de température Aqara et le relais Netatmo par un relais Aqara.

J’ai expliqué ce que j’avais sur l’app Netatmo comme programme et Claude AI m’a fait la même chose via une automatisation et je peux aussi piloter mon poêle en mode manuel via mon dashboard.

Merci de ton retour @18yt8zhg

Je suis tombé sur ce poste hier, il y a effectivement plein de choses intéressantes (notamment sur les paramètres spécifiques aux poêles Pellet)
l IA, C’est pratique pour t’aider à développer des choses, mais il faut avoir une compréhension de tous les paramètres. Je pense que « versatile thermostat » est une application très aboutie et réfléchit. Donc c’est plutôt à moi de comprendre l’interconnexion entre le poêle, mon module Wpalacontrol et l app qui orchestre tout ça
Tout est plutôt cohérent pour le moment, mais c’est « juste » les consignes qui ne sont pas respectées

J’ai gardé ton poste de côté, je ne néglige rien pour la suite

Bonne journée

1 « J'aime »

Bonjour

Après des tests infructueux, j’ai repris la lecture de la doc de versatile thermostat et j’ai pris comme exemple " eCosy ou assimilé" pour mon module wpalacontrol
Je suis donc parti sur un « over_switch » ( J’ai bien pris note des recommandations de KipK, mais l’over-climate de démarrait pas la chauffe)

Je n’ai pas osé activer l’apprentissage auto du TPI pour le moment

Je laisse mes paramètres actuel plus bas, si jamais vous avez des recommandations par rapport aux cycles et de délais d’activation/désactivation minimal :wink:

Ça avance plutôt bien

@Jean-Marc_Collin
dans la doc, sur les délais d’envoi des mesures de température, pour régler le problème de mise en securité (dès le premier démarrage), il m’a suffit d’activer « last_seen » dans les paramètres avancés de zigbee2MQTT (thermomètres Sonoff en zigbee), de redémarrer Z2MQTT et d’activer le « last_seen » pour les modules concerné.

Merci

hvac_modes:
  - heat
  - "off"
min_temp: 10
max_temp: 25
target_temp_step: 0.5
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
current_temperature: 11.7
temperature: 14
hvac_action: heating
preset_mode: none
hvac_mode: heat
ema_temp: 11.59
specific_states:
  is_on: true
  last_central_mode: null
  last_update_datetime: "2026-01-03T11:34:45.619509+01:00"
  ext_current_temperature: 5
  last_temperature_datetime: "2026-01-03T11:34:45.617536+01:00"
  last_ext_temperature_datetime: "2026-01-03T11:33:22.857020+01:00"
  is_device_active: true
  device_actives:
    - climate.stove_thermostat
  nb_device_actives: 1
  ema_temp: 11.59
  temperature_slope: 0.91
  hvac_off_reason: null
  total_energy: 0
  last_change_time_from_vtherm: "2026-01-03T11:30:02.387826+01:00"
  messages: []
  is_sleeping: false
  is_locked: false
  is_recalculate_scheduled: false
  auto_tpi_state: "off"
  auto_tpi_learning:
    coeff_indoor_heat: 0.6
    coeff_outdoor_heat: 0.01
    coeff_indoor_autolearn: 1
    coeff_outdoor_autolearn: 0
    coeff_indoor_cool: 0.6
    coeff_outdoor_cool: 0.01
    coeff_indoor_cool_autolearn: 1
    coeff_outdoor_cool_autolearn: 0
    max_capacity_heat: 1
    max_capacity_cool: 1
    offset: 0
    last_power: 0.1
    last_order: 14
    last_temp_in: 11.5
    last_temp_out: 5
    last_state: heat
    previous_state: heat
    last_on_temp_in: 0
    last_update_date: "2026-01-03T11:27:59.480575"
    last_heater_stop_time: "2026-01-03T11:27:59.477658"
    cycle_start_date: "2026-01-03T11:27:59.480575"
    cycle_active: true
    current_cycle_cold_factor: 0.000002430833333333333
    consecutive_failures: 0
    autolearn_enabled: false
    last_learning_status: learning_disabled
    total_cycles: 119
    consecutive_boosts: 0
    recent_errors: []
    regime_change_detected: false
    learning_start_date: null
configuration:
  ac_mode: false
  type: over_switch
  is_controlled_by_central_mode: false
  target_temperature_step: 0.5
  timezone: Europe/Paris
  temperature_unit: °C
  is_used_by_central_boiler: false
  max_on_percent: null
  have_valve_regulation: false
  cycle_min: 20
  minimal_activation_delay_sec: 360
  minimal_deactivation_delay_sec: 0
preset_temperatures:
  frost_temp: 10
  eco_temp: 17
  boost_temp: 20
  comfort_temp: 19
  frost_away_temp: 10
  eco_away_temp: 15.5
  boost_away_temp: 19
  comfort_away_temp: 18
current_state:
  hvac_mode: heat
  target_temperature: 14
  preset: none
requested_state:
  hvac_mode: heat
  target_temperature: 14
  preset: none
is_presence_configured: true
presence_manager:
  presence_sensor_entity_id: binary_sensor.presence_groupe_maison
  presence_state: "off"
is_power_configured: false
power_manager:
  device_power: 3
  mean_cycle_power: 3
is_motion_configured: false
is_window_configured: false
is_window_auto_configured: false
is_safety_configured: true
safety_manager:
  safety_state: "off"
  safety_delay_min: 60
  safety_min_on_percent: 0.5
  safety_default_on_percent: 0.1
is_lock_configured: true
lock_manager:
  is_locked: false
  lock_users: true
  lock_automations: true
  lock_code: false
is_over_switch: true
on_percent: 1
power_percent: 100
vtherm_over_switch:
  is_inversed: false
  keep_alive_sec: 0
  underlying_entities:
    - climate.stove_thermostat
  on_percent: 1
  power_percent: 100
  on_time_sec: 1200
  off_time_sec: 0
  function: tpi
  tpi_coef_int: 0.6
  tpi_coef_ext: 0.02
  tpi_threshold_low: 0
  tpi_threshold_high: 0
  minimal_activation_delay: 360
  minimal_deactivation_delay: 0
  calculated_on_percent: 1
  vswitch_on_commands:
    - set_hvac_mode/hvac_mode:heat
  vswitch_off_commands:
    - set_hvac_mode/hvac_mode:off
friendly_name: "Poele "
supported_features: 401

2 « J'aime »

Hello,

Une question en passant. Vous utilisez quoi comme poele à pellet et comme intégration ?

J’en ai vu un bien avec des super promos (Poêle à granulés étanche canalisable Anna ETNA Luxe 12 kw) et une connectivité via un module Wifi nommé WiNET CONNECTOR.

Quand je cherche un peu comment le connecter à HA, ca a l’air assez pauvre (voir inexistant pour ce modèle basé sur l’électronique micronova.

On à fini par prendre le Mona de chez turboFonte, c’est fabriquer par Palazzetti
et le module j’ai pris le wpalacontrol compatible avec Fumis Controller, donc les marques Palazzetti / Jotul / TurboFonte / Godin / Fonte Flamme / Invicta / Casatelli / Alpis / Faizen / HETA / … Pas mal de remontées d’infos: [https://github.com/Domochip/WPalaControl?tab=readme-ov-file]

1 « J'aime »

Je viens de relancer des tests, l’activtion on est OK, mais les status de chauffe sont étranges =>

De quoi peux venir ces changements ?
du TPI ?
édit : je viens de mettre le seuil haut à 1 et bas à 0.5 pour tester

En activant depuis l’intégration directement, cela reste stable en « burning »

Merci par avance de vos retours

Hello j’ai sensiblement le même type de poele basé sur une carte micronova, j’utilise un petit esp avec le code de jorre5 https://github.com/Jorre05/micronova
j’ai mis également un petit capteur pour mesurer la quantité de pellet dans la cuve ,

je suis ce post car je regarde également pour le piloter avec versatile , je viens de rajouter un switch contact sec pour le thermostat ext , reste plus cas mettre les bon réglages .