Problème configuration Versatile thermostat

Bonjour,

J’ai en quelque sorte besoin d’aide pour terminer mon installation

Je tournais depuis environ 1 an avec smart thermostat. Les récentes MAJ de Z2M m’ont un peu forcer la main pour changer de méthode. Avec smart thermostat j’avais ce qu’il me fallait mais je ne sais pour quelle raison, mes pré-set ne tournent pas comme il faut alors que les réglages semblent bon.

J’ai finalement opté pour un essai sur versatile thermostat, merci à toit @Jean-Marc_Collin pour cette superbe reprise et ta complémentarité du système. J’ai lu un paquet mais à force on en oublie ce qu’on en lit.

J’ai tout paramétré comme indiqué dans le tuto. L’ensemble semble fonctionner mise à part la gestion d’ouverture des fenêtre capricieuse, peut–être un réglage.
Mais j’ai surtout un réglage à faire je pense que je ne trouve pas. Mes radiateurs ne restent pas en chauffe, enfin pas assez longtemps, 1 à 2 min, puis coupe, puis reprend mais plus tard.
Conséquence : la chauffe n’est pas aussi intense qu’elle le devrait du coup car pas assez continue.
Petits extraits

En fait, mes 4 thermostats se comportent de la même façon il faudrait des chauffes plus longues mais rien est régulier.
Pouvez vous m’éclairer, j’ai probablement mal compris quelque chose.
Merci d’avance

Ma configuration


System Information

version core-2025.1.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.73-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1501
Downloaded Repositories 37
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.2
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 30.8 GB
disk_used 21.0 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons Samba share (12.4.0), File editor (5.8.0), AppDaemon (0.16.7), Terminal & SSH (9.16.0), Samba Backup (5.2.0), Zigbee2MQTT (2.0.0-2), Mosquitto broker (6.5.0), EnOcean MQTT (dev) (0.1.28-2)
Dashboards
dashboards 4
resources 27
views 13
mode storage
Recorder
oldest_recorder_run 17 janvier 2025 à 18:10
current_recorder_run 28 janvier 2025 à 14:15
estimated_db_size 2087.51 MiB
database_engine sqlite
database_version 3.47.1
Xiaomi Miot Auto
component_version 1.0.8
can_reach_server ok
can_reach_spec ok
logged_accounts 1
total_devices 6
___
1 « J'aime »
hvac_modes:
  - heat
  - "off"
min_temp: 7
max_temp: 35
target_temp_step: 0.1
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
current_temperature: 20.3
temperature: 17
hvac_action: idle
preset_mode: eco
is_on: true
hvac_mode: heat
type: null
is_controlled_by_central_mode: false
last_central_mode: null
frost_temp: 10
eco_temp: 17
boost_temp: 28
comfort_temp: 20
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
target_temperature_step: 0.1
ext_current_temperature: 8.6
ac_mode: false
saved_preset_mode: eco
saved_target_temp: 17
saved_hvac_mode: "off"
last_temperature_datetime: "2025-01-28T18:32:26.048745+01:00"
last_ext_temperature_datetime: "2025-01-28T18:32:26.048745+01:00"
minimal_activation_delay_sec: 10
total_energy: 5394.15
last_update_datetime: "2025-01-28T18:32:26.049152+01:00"
timezone: Europe/Paris
temperature_unit: °C
is_device_active: false
device_actives: []
nb_device_actives: 0
ema_temp: 20.21
is_used_by_central_boiler: false
temperature_slope: 0.73
hvac_off_reason: null
max_on_percent: null
have_valve_regulation: false
last_change_time_from_vtherm: "2025-01-28T17:59:14.093599+01:00"
presence_sensor_entity_id: null
presence_state: unavailable
is_presence_configured: false
power_sensor_entity_id: null
max_power_sensor_entity_id: null
overpowering_state: unavailable
is_power_configured: false
device_power: 750
power_temp: 13
current_power: null
current_max_power: null
mean_cycle_power: 0
motion_sensor_entity_id: null
motion_state: unavailable
is_motion_configured: false
motion_delay_sec: 0
motion_off_delay_sec: 0
motion_preset: null
no_motion_preset: null
window_state: unavailable
window_auto_state: unavailable
window_action: window_turn_off
is_window_bypass: false
window_sensor_entity_id: null
window_delay_sec: null
window_off_delay_sec: null
is_window_configured: false
is_window_auto_configured: false
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
is_safety_configured: true
safety_state: "off"
safety_delay_min: 60
safety_min_on_percent: 0.5
safety_default_on_percent: 0.1
is_over_switch: true
is_inversed: false
keep_alive_sec: 0
underlying_entities:
  - switch.seche_serviette
on_percent: 0
power_percent: 0
on_time_sec: 0
off_time_sec: 600
cycle_min: 10
function: tpi
tpi_coef_int: 0.6
tpi_coef_ext: 0.01
calculated_on_percent: 0
friendly_name: Versatile thermostat SDB
supported_features: 401

J’ai oublié ceci

Salut @Romuche89
Dans la configuration de chaque Vtherm, il y a une configuration de durée minimum de cycle dans la page des ‘ Principaux attributs´
quel est la durée réglée ?

1 « J'aime »

Hello @Romuche89 ,

Ca fait plaisir d’avoir quasiment toutes les infos sur le premier post. Merci pour ça !

Je recapitule ce que j’ai compris :

  1. tu as un VTherm over_switch qui pilote switch.seche_serviette
  2. tu as un cycle de 10 min - ca me parait bien pour un seche serviette donc plutot lent à chauffer,
  3. les coefs du TPI sont ceux par défaut,
  4. il fait 20° et tu as programmé 17 ° (preset eco)
  5. tu n’es pas en mode sécurité safety_state: "off"
  6. tu as paramétré les températures. Boost est très fort boost_temp: 28 mais je suppose que c’est un test.

Donc ca ne chauffe pas mais c’est normal et ça m’a l’air bien configuré.

Donc je pense que tu as un simple problème de tuning (les coef du TPI sont à adapter). Tu peux regarder là pour tenter de résoudre le soucis toi même à l’aide de cet article : Baissez vos factures de chauffage avec Versatile Thermostat

Si tu veux plus d’aide, je vais avoir besoin des courbes de régulation comme ça : versatile_thermostat/documentation/fr/additions.md at main · jmcollin78/versatile_thermostat · GitHub

Avec les courbes et l’article tu peux trouver.

1 « J'aime »

Bonsoir

Tu parles bien de cet endroit?

Si oui, j’ai essayé min, 10 min mais c’est pareil.
Le temps de chauffe ne dépasse jamais les 3 min et encore j’arrondis, c’est quelques secondes avant

Merci @Jean-Marc_Collin

J’essaie de faire au mieux. la température à 28 c’est pour le boost. Le sèche serviette dispose d’une fonction boost avec une t°c max de 28, je voulais essayer de reproduire ce mode. Pour le matin c’est pas mal.
quand le boost est activé il chauffe plutôt pas mal mais je ne peux l’utiliser avec versatile.
C’est vraiment la durée de chauffe qui pêche sinon dans l’ensemble ça va

Sinon on verra ça après mais la détection de fenêtre n’est pas configurée.

Le VTherm il fait du on/off. Donc quand le sèche serviette est sur ‹ on › il faut qu’il chauffe absolument. Tu dois donc lui mettre sa température de consigne à 24 par exemple. Et c’est VTherm qui controle.

EDIT : il n’a pas un fil pilote ton seche serviette ?

Pour le sèche serviette je n’ai pas d’ouverture de fenêtre.
Uniquement salon et 2 chambres

Oui j’ai bien un fil pilote, j’utilise ça
Module connecté fil pilote radiateur, EQUATION

Mon scheduler

donc du coup la T°c de consigne ne peux pas être celle que je vise alors


Sur confort, il est nécessaire de passer à 24 c’est ça?

Si tu as un fil pilote tu as donc un switch virtuel. Tu peux me donner le code ?

Le 24 est à programmer sur le radiateur lorsqu’il est sur « Comfort » (ou la preset que tu as choisi dans le switch virtuel)



Je ne sais pas si ce sont les courbes que tu souhaites et si j’ai bien paramétré Plotly mais voici ce que cela donne
J’ai cherché toute la journée avant de poster ici

@Romuche89 c’était bien cette page
Vu que tu est en configuration Switch, il faut penser en premier lieu que les Preset de ton radiateur (sèche serviettes dans ce cas) n’on rien à voir aux Presets de Vtherm
Et pour que Vtherm fonctionne en prenant le dessus au thermostat intégré à ton radiateur, il faut configurer sur ce dernier une température de chauffe bien supérieur à celle souhaitée et pilotée par le Vtherm
Vu que tu souhaites que Vtherm pilote ton sèche serviette jusqu’à 28ºC il faut que tu règle sur ton radiateur 28 degrés en permanence
Ensuite tu pourras vérifier que Vtherm agit correctement

Non c’est pas bon.
J’ai besoin du power_percent. T’as juste à copier le code et à remplacer [[climate]] par ton VTherm. Ca devrait marcher direct.

Il me faut une période plus longue aussi.

Je n’en ai pas créé, il s’est programmé tout seul mais peut être pas compris la question

il est bien réglé au max à 28°c
C’est un fonctionnement différent de smart thermostat du coup.
Pour ça que je ne comprends peut être pas tout

switch.seche_serviette ce n’est pas un switch virtuel ? C’est directement le module EQUATION ?

De ce que j’ai pu voir jusqu’à présent, un switch avec module fil pilote permet de commander plusieurs preset sur le radiateur. Traditionnellement on a ‹ frost, eco, comfort-2, comfort-1, comfort ›.
Quand Vtherm envoie un ordre d’allumage, il faut choisir quel preset est activé sur le radiateur.
Cela se fait à travers un switch virtuel (des exemples ici: versatile_thermostat/documentation/fr/troubleshooting.md at main · jmcollin78/versatile_thermostat · GitHub)

Après je ne connais EQUATION donc ça ne marche peut être comme ça.
Essaye de me donner les attributs de ton EQUATION vu de Home Assistant stp. Tu as peut être plusieurs entités (un switch, un select, …).

Il s’agit de cette valeur : sensor.versatile_thermostat_sdb_power_percent?

je pensais plutot à :

 - entity: climate.versatile_thermostat_sdb
   attribute: power_percent

Prends le code qui est dans le README :

- type: custom:plotly-graph
  entities:
    - entity: '[[climate]]'
      attribute: temperature
      yaxis: y1
      name: Consigne
    - entity: '[[climate]]'
      attribute: current_temperature
      yaxis: y1
      name: T°
    - entity: '[[climate]]'
      attribute: ema_temp
      yaxis: y1
      name: Ema
    - entity: '[[climate]]'
      attribute: on_percent
      yaxis: y2
      name: Power percent
      fill: tozeroy
      fillcolor: rgba(200, 10, 10, 0.3)
      line:
        color: rgba(200, 10, 10, 0.9)
    - entity: '[[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

et remplace [[climate]] par climate.versatile_thermostat_sdb

J’ai bien ces preset

options:
  - comfort
  - eco
  - frost_protection
  - "off"
  - comfort_-1
  - comfort_-2
friendly_name: Sèche serviette  Pilot wire mode

C’est le même modèle que le NODON, il simplement rebadgé LEROY MERLIN