Versatile Thermostat - piloter votre chauffage avec la solution la plus complète

Hello @Julien_Breton ,

C’est exactement ce que fait Vtherm : tu équipes chaque radiateur d’un TRV connecté, tu configures une chaudière centrale dans une configuration centrale et tu donnes les commandes qui vont permettre d’activer / desactiver ta chaudière (donc à travers ton thermostat).

Un peu de lecture ici: versatile_thermostat/documentation/fr/feature-central-boiler.md at 8.3.1 · jmcollin78/versatile_thermostat · GitHub

Le cycle était à 10 min, j’ai remis 5 et le décalage passe à 2’30”. Je ne sais pas pourquoi j’avais mis 10…

Encore merci et bonne journée.

Bonjour @Jean-Marc_Collin

utilisateur de (l’excellentissime) VTHerm depuis 3-4 ans je viens de réaliser une MAJ vers la toute dernière version, j’étais en v6 … il y a donc eu pas mal de changement pour moi.

Je suis en full radiateur elec. à fluide caloporteur.

  • 2 pièces de 40m2 en bas avec 1 radiateur de 1800w par pièce + poêle à bois 9kw

  • 3 chambres avec chacun 1 radiateur de 1500 (20m2)

  • Le tout avec des sondes Sonoff SNZB-02D sur batterie pour chaque radiateur.

  • Détecteur d’ouverture de portes / fenêtres Aqara

  • Sonde extérieure de type plugin Météo locale MeteoFrance sur HA

  • Le poêle à bois tourne quasi tout le temps et les radiateurs du bas ne sont qu’en appoint du poêle (ou à 100% au petit matin l’hiver ou au printemps - automne)

Questions :

  • J’imagine que dans mon cas la nouvelle fonction d’auto TPI n’est pas idéale vu que le poêle à bois fonctionne quasi tout le temps (fausse la fonction de calibrage AutoTPI) ?

  • Et d’après vos expériences en v8, que pensez vous de ma config ci-dessous ?

  • Pas certain de mes valeurs pour délai max et délais min. ?

  • Quelle est la différence entre un cycle en min et un délai d’activation minimal ?

Merci par avance

Hello,

Ah oui passer de V6 à V8.4.1 le 31/12 alors qu’il faut -3° et que EDF Tempo est rouge, fallait le faire. Monsieur est joueur, espérons que ça te porte chance.

Sinon, les paramètres ont l’air bon. Si ça marche, ne touche à rien. Il manquerait le temps de cycle mais si tu as mis 5 min qui est la valeur par défaut, ne change rien.

Oui l’auto-TPI (expérimental) sur des radiateurs qui servent peu et qui vont avoir un comportement très différents selon que le poele est allumé ou non, je ne suis pas sur que ce soit intéressant. Je laisse @KipK (que je remercie encore une fois au passage pour son excellent boulot sur l’auto-TPI) répondre de l’intérêt que ça peut avoir.

J’en profites pour vous souhaiter un bon réveillon (au chaud) :star_struck: :hot_face:

Hello @Jean-Marc_Collin

Est ce que tu sais pourquoi le lien vers la carte Auto-TPI ne fonctionne pas ?

En te souhaitant un bon réveillon :clinking_beer_mugs:

J’ai mis à jours le readme avec le lien.

Bonjour
Du coup je me pose une question pour ma config salle / salon grande pièce avec 4 radiateurs

j’avais crée un Vth over_climate pour le côté salon avec 2 radiateurs
et un Vth over_climate pour le côté salle avec 2 radiateurs

Et j’ai créé un Vth Master over_climate qui pilote les deux Vth satellites

Avec la nouvelle version Vth auto-tpi je n’ai pas de sensor ‹ auto_tpi_learning_state › pour le master mais seulement pour les seux satellites.

Du coup la config Master Vth est ce la bonne solution dans ce cas ?

Salut, cette nuit j’ai détecté un comportement anormal, les radiateurs ont beaucoup trop chauffé et la température a été largement dépassé :

Configuration :
Versatile Thermostat configuration Version 8.4.1
Home Assistant
Installation method
Home Assistant OS
Core
2025.12.5
Supervisor
2025.12.3
Operating System
16.3
Frontend
20251203.3

Radiateurs électriques connectés via fil pilote à des Nodon 4-FP-21.

J’ai aussi ce radiateur à l’étage qui est le même que l’autre avec le même module :

Avec sa configuration versatile :

hvac_modes:

  • heat
  • « off »
    min_temp: 7
    max_temp: 35
    target_temp_step: 0.1
    preset_modes:
  • none
  • frost
  • eco
  • comfort
  • boost
    current_temperature: 25.3
    temperature: 7
    hvac_action: « off »
    preset_mode: frost
    hvac_mode: « off »
    ema_temp: 25.28
    specific_states:
    is_on: false
    last_central_mode: null
    last_update_datetime: « 2026-01-02T09:24:18.631343+01:00 »
    ext_current_temperature: 2.5
    last_temperature_datetime: « 2026-01-02T08:55:05.184104+01:00 »
    last_ext_temperature_datetime: « 2026-01-02T08:54:19.285320+01:00 »
    is_device_active: true
    device_actives:
    • switch.radiateur_haut_chambre
      nb_device_actives: 1
      ema_temp: 25.28
      temperature_slope: 0
      hvac_off_reason: null
      total_energy: 0
      last_change_time_from_vtherm: « 2026-01-02T08:56:58.336832+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
      last_order: 7
      last_temp_in: 25.28
      last_temp_out: 2.5
      last_state: stop
      previous_state: stop
      last_on_temp_in: 0
      last_update_date: « 2026-01-02T09:19:29.711446 »
      last_heater_stop_time: « 2026-01-02T08:59:29.702153 »
      cycle_start_date: « 2026-01-02T09:19:29.711446 »
      cycle_active: true
      current_cycle_cold_factor: 1
      consecutive_failures: 0
      autolearn_enabled: false
      last_learning_status: learning_disabled
      total_cycles: 231
      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.1
      timezone: Europe/Paris
      temperature_unit: °C
      is_used_by_central_boiler: false
      max_on_percent: null
      have_valve_regulation: false
      cycle_min: 5
      minimal_activation_delay_sec: 10
      minimal_deactivation_delay_sec: 0
      preset_temperatures:
      frost_temp: 7
      eco_temp: 15
      boost_temp: 20
      comfort_temp: 19
      frost_away_temp: 0
      eco_away_temp: 0
      boost_away_temp: 0
      comfort_away_temp: 0
      current_state:
      hvac_mode: « off »
      target_temperature: 7
      preset: frost
      requested_state:
      hvac_mode: « off »
      target_temperature: null
      preset: frost
      is_presence_configured: false
      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_over_switch: true
      on_percent: 0
      power_percent: 0
      vtherm_over_switch:
      is_inversed: false
      keep_alive_sec: 0
      underlying_entities:
    • switch.radiateur_haut_chambre
    • switch.radiateur_palier_haut
      on_percent: 0
      power_percent: 0
      on_time_sec: 0
      off_time_sec: 300
      function: tpi
      tpi_coef_int: 0.6
      tpi_coef_ext: 0.01
      tpi_threshold_low: 0
      tpi_threshold_high: 0
      minimal_activation_delay: 10
      minimal_deactivation_delay: 0
      calculated_on_percent: 0
      vswitch_on_commands:
      vswitch_off_commands:
      friendly_name: Thermostat Chambre Haut
      supported_features: 401

Je refais un test ce matin, et relance le scheduler et le radiateur se remet à chauffer instantannément alors que la tempéraure est plus que atteinte :

sensor.radiateur_chambre_power

Radiateur Chambre Power
1411

Tout est bien off. Si ca chauffe qd meme, c’est certainement que l’ordre d’extinction n’est jamais arrivé. Regarde par là.

Sinon pour la lisibilité, ce serait pas mal de formatter le json avec le bouton </> qui est fait pour ça.

Essaye de réfléchir a ce que tu as changé entre le moment où ca marchait normalement et le problème (mises à jour, installation, y a une maj de Z2M par exemple cette nuit).

Bien vu, j’avais lancé la MAJ de Z2M et de Versatile et le restart était en attente.
J’ai relancé HA ce matin et cela semble être rentré dans l’ordre.

Merci bien pour votre réponse ! J’ai tellement joué avec les specs de VTHerm que ça ne m’aurais pas dérangé de repartir de 0 :wink:

Je vous souhaite en retour une excellente année 2026 !!

Merci et bonne année aussi.

Note : sauter 2 versions majeures en une fois, ce n’est pas conseillé quand même, même si ça c’est bien passé. Il y a souvent besoin de migration des données d’une version majeure à l’autre et les grands sauts comme ça ne sont jamais complètement testés. Si tu es frileux (sur les maj), ne prend les versions majeures qu’après un certain temps (attends des .1 ou .2) et mon conseil, c’est toujours de prendre les versions patchs (majeure.mineure.patch) car elles corrigent des bugs

Hello quelqu’un sais pourquoi le service autocalibration TPI me renvoie

Merci

climate.ch3trv_2:
  success: false
  error: No temperature slope history found
  samples_used: 0
climate.ch4vtherm:
  success: false
  error: Not enough valid samples (0 found, minimum 2 required)
  samples_used: 0
  rejection_stats:
    low_power: 261
    wrong_direction: 0
    invalid: 86
climate.bureauvtherm:
  success: false
  error: Not enough valid samples (0 found, minimum 2 required)
  samples_used: 0
  rejection_stats:
    low_power: 78
    wrong_direction: 0
    invalid: 149

Salut :waving_hand:t2:
Je ne pourrais pas t’aider mais je suis preneur du code de la carte qui te genre ce graphique . Ça m’intéresse de voir cela chez moi :blush:
Merci par avance :blush:

@Jean-Marc_Collin
Petite question sur la fonction auto-tpi de Vtherm, est-ce la même chose que ce qui est décrit sur ce fil ?

non pas le détail du premier post, ce qui s’en suit oui
Ca a changé depuis pour autre chose. Le détail de l’algo est dans la doc developpeur si tu veux

Si cela peut t’aider :

type: custom:plotly-graph
title: Chambr
entities:
  - entity: climate.thermostat_chambre
    attribute: temperature
    yaxis: y1
    name: Consigne
  - entity: sensor.temperature_chambre_temperature
    yaxis: y1
    name: T°
  - entity: sensor.thermostat_chambre_ema_temperature
    yaxis: y1
    name: Ema
  - entity: climate.thermostat_chambre
    attribute: power_percent
    yaxis: y2
    name: Power percent
    fill: tozeroy
    fillcolor: rgba(200, 10, 10, 0.3)
    line:
      color: rgba(200, 10, 10, 0.9)
  - entity: sensor.thermostat_chambre_temperature_slope
    name: Slope
    fill: tozeroy
    yaxis: y9
    fillcolor: rgba(100, 100, 100, 0.3)
    line:
      color: rgba(100, 100, 100, 0.9)
hours_to_show: 4
refresh_interval: 10
height: 800
config:
  scrollZoom: true
layout:
  margin:
    r: 50
  legend:
    x: 0
    "y": 1.2
    groupclick: togglegroup
    title:
      side: top right
  yaxis:
    visible: true
    position: 0
  yaxis2:
    visible: true
    position: 0
    fixedrange: true
    range:
      - 0
      - 1
  yaxis9:
    visible: true
    fixedrange: false
    range:
      - -2
      - 2
    position: 1
  xaxis:
    rangeselector:
      "y": 1.1
      x: 0.7
      buttons:
        - count: 1
          step: hour
        - count: 12
          step: hour
        - count: 1
          step: day
        - count: 7
          step: day

Hello @MilesTEG1 ,

Le code est dans la doc : versatile_thermostat/documentation/fr/additions.md at main · jmcollin78/versatile_thermostat · GitHub

Merci @Jean-Marc_Collin sur la gestion des MAJ ! J’en prends note

Je suis en train d’essayer de peaufiner la gestion de présence automatique dans VTherm pour activer le mode eco en cas d’absence et activer le mode confort si au moins l’un d’entre nous est à la maison.

J’entends par là que je souhaite activer / désactiver le chauffage basé sur la présence ou non d’occupants dans la maison depuis le capteur personne de HA (zone géographique) avec un délai minimum. J’ai bien lu la documentation dans VTherm mais je voulais savoir si vous conseillez ce genre de gestion comparé à un véritable capteur de présence physique (motion sensor).

Sinon avez vous des retours d’expérience ou des conseils en particulier ?

merci pour votre aide

Hello,

VTherm fait les 2 (presence et motion). Attention à ne pas les confondre, elles ne font pas du tout la même chose.

D’une manière générale, faire de la détection de présence avec un capteur de mouvement, c’est casse gueule: le capteur de mouvement il va surveiller une pièce. Il suffit que tu ailles à l’étage, que tu sortes de la pièce pour que tout ton logement passe en Eco. Pas sur que ce soit ce que tu veux faire.

La présence basée sur la geoloc (ce que fait ton appli compagnon HA) et/ou sur ton enregistrement au Wifi est bien plus adapté, je trouve.

Hello à tous

Au bout de combien de temps l’apprentissage commence ?

J’ai bien fais les paramètre selon la doc, j’ai forcé le statut apprentissage à actif mais je garde la valeur heating_cycles_count à zéro malgres plusieurs cycle de chauffage

Ai je manqué quelque chose ?

Merci