Versatile thermostat - Nouvelle Installation

Bonjour,

Je suis nouvel utilisateur du plugin Versatile thermostat de @Jean-Marc_Collin . Merci à lui pour le temps qu’il accorde à la communauté et à la réalisation de ce plugin.

Le contexte, j’ai une maison de 180 m² au sol avec un RDC et 1 Etage. Le chauffage est une PAC air/eau Viessman.

Je suis capable avec le plugin vcontrold de changer la température de la PAC, off ou on, …

J’ai changé une chaudiére GAZ par une PAC, comme me l’avait spécifié l’installateur certains radiateurs son trop petit maintenant. Certaines piéces sont trop chaudes et d’autres trop froides.

Nombre de radiateurs :
RDC :

  • 1 radiateur dans cuisine sans vanne thermostatique
  • 1 radiateur dans entrée sans vanne thermostatique
  • 1 radiateur dans salle à manger avec vanne thermostatique
  • 2 radiateurs dans salon avec vanne thermostatique

Étage :

1 radiateur dans chambre 1 avec vanne thermostatique
1 radiateur dans sdb 1 avec vanne thermostatique
1 radiateur dans chambre 2 avec vanne thermostatique
1 radiateur dans chambre 3 avec vanne thermostatique
1 radiateur dans chambre 4 avec vanne thermostatique
1 radiateur dans bureau avec vanne thermostatique
1 radiateur dans sdb 2 avec vanne thermostatique

Je viens d’acheter un radiateur pour le remplacer dans une piéce froide et donc doubler sa puissance. Passer d’un type 11 à type 22. Avec les mêmes dimentions pour un changement simplifié. Je vais le mettre dans la chambre 1. J’en changerais surement d’autres après le test dans cette piéce

J’ai également une cheminée avec des conduits dans 4 chambres, mais la puissance de l’insert ne suffit pas à chauffer la maison.

Je ne me sers de la cheminée seulement quand nous sommes en jours rouge tempo.

J’ai donc aquis 6 vannes (pour l’instant) TVRZB Sonoff en zigbee, pour avoir le pourcentage d’ouverture de la vanne.

Voici les emplacements avec vanne TVRZB

RDC :

  • 1 radiateur dans cuisine sans vanne thermostatique
  • 1 radiateur dans entrée sans vanne thermostatique
  • 1 radiateur dans salle à manger avec vanne thermostatique TVRZB
  • 2 radiateurs dans salon avec vanne thermostatique TVRZB

Étage :

1 radiateur dans chambre 1 avec vanne thermostatique TVRZB
1 radiateur dans sdb 1 avec vanne thermostatique
1 radiateur dans chambre 2 avec vanne thermostatique TVRZB
1 radiateur dans chambre 3 avec vanne thermostatique TVRZB
1 radiateur dans chambre 4 avec vanne thermostatique
1 radiateur dans bureau avec vanne thermostatique
1 radiateur dans sdb 2 avec vanne thermostatique

Mon problème est que je suis réguliérement en dessous des consignes et je constate que les vannes ne sont pas ouvertes à fond en attendant d’ateindre la bonne température

  1. Sur le graphique je n’arrive pas à avoir la valeur EMA et power percent

voici la configuration :

type: custom:plotly-graph
entities:
  - entity: climate.thermostat_salle_a_manger
    attribute: temperature
    yaxis: y1
    name: Consigne
  - entity: climate.thermostat_salle_a_manger
    attribute: current_temperature
    yaxis: y1
    name: T°
  - entity: sensor.thermostat_salle_a_manger_ema_temperature
    attribute: ema_temp
    yaxis: y1
    name: Ema
  - entity: sensor.thermostat_salle_a_manger_power_percent
    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: sensor.thermostat_salle_a_manger_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
title: Thermostat test

Je me pose la question de savoir si j’ai bien configuré le plugin.

Voici la configuration du thermosat salle à manger

hvac_modes: off, auto, heat
min_temp: 7
max_temp: 25
target_temp_step: 0.1
preset_modes: none, frost, eco, comfort, boost
current_temperature: 19.9
temperature: 21
hvac_action: heating
preset_mode: none
is_on: true
hvac_mode: heat
type: null
is_controlled_by_central_mode: true
last_central_mode: Auto
frost_temp: 7
eco_temp: 7
boost_temp: 7
comfort_temp: 7
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
target_temperature_step: 0.1
ext_current_temperature: 0.8
ac_mode: false
saved_preset_mode: none
saved_target_temp: 21
saved_hvac_mode: null
last_temperature_datetime: 2025-01-04T11:29:15.816280+01:00
last_ext_temperature_datetime: 2025-01-04T11:33:51.722277+01:00
minimal_activation_delay_sec: 10
total_energy: 0.23
last_update_datetime: 2025-01-04T11:33:51.791190+01:00
timezone: Europe/Paris
temperature_unit: °C
is_device_active: false
device_actives: 
nb_device_actives: 0
ema_temp: 19.95
is_used_by_central_boiler: false
temperature_slope: 0
hvac_off_reason: null
max_on_percent: null
have_valve_regulation: true
last_change_time_from_vtherm: 2025-01-04T11:28:16.586887+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: 1
power_temp: null
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: 30
is_window_configured: false
is_window_auto_configured: false
window_auto_open_threshold: 3
window_auto_close_threshold: 0
window_auto_max_duration: 30
is_safety_configured: true
safety_state: off
safety_delay_min: 60
safety_min_on_percent: 0.5
safety_default_on_percent: 0.1
is_auto_start_stop_configured: false
is_over_climate: true
start_hvac_action_date: null
underlying_entities: climate.salle_a_manger_vanne
is_regulated: true
regulated_target_temperature: null
auto_regulation_mode: auto_regulation_valve
regulation_accumulated_error: 0
auto_fan_mode: auto_fan_high
current_auto_fan_mode: auto_fan_high
auto_activated_fan_mode: null
auto_deactivated_fan_mode: null
auto_regulation_use_device_temp: false
follow_underlying_temp_change: false
friendly_name: Thermostat Salle à Manger
supported_features: 401
underlyings_valve_regulation: 
- - number.salle_a_manger_vanne_valve_opening_degree
  - number.salle_a_manger_vanne_valve_closing_degree
  - number.salle_a_manger_vanne_local_temperature_calibration

on_percent: 0
power_percent: 0
on_time_sec: 0
off_time_sec: 1800
cycle_min: 30
function: tpi
tpi_coef_int: 0.6
tpi_coef_ext: 0.01
min_opening_degrees: 
valve_open_percent: 0
auto_regulation_dpercent: 0.5
auto_regulation_period_min: 30
last_calculation_timestamp: 2025-01-04T11:28:16.582130+01:00

J’ai également créé un central_configuration .

Je me demande donc si ma configuration est bonne ?

Merci d’avance pour votre aide.

Salut @beber53

Il y a déjà eu de nombreux échanges sur les vannes thermostatique dont les SONOF et @Jean-Marc_Collin a fait une mise à jour en décembre pour mieux les gérer
Voir ici

Comme tu l’indique, c’est sûrement un problème de paramètre.
Relis la doc et du trouvera sûrement la réponse à ton problème
Et sinon Jean-Marc te l’a trouvera !
Bonne journée

Merci @Yoyouri

J’ai pas mal retourné la doc, mais je séche sur quoi modifier.

Déjà je souhaiterais réussir à avoir le graphique d’analyse.

Je ne comprends pas pourquoi je n’ai pas EMA et Power

J’aimerais aussi pouvoir afficher le graphique en plus large, mais je n’y arrive pas.

Dans la documentation on a :

- 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 moi

type: custom:plotly-graph
entities:
  - entity: climate.thermostat_salle_a_manger
    attribute: temperature
    yaxis: y1
    name: Consigne
  - entity: climate.thermostat_salle_a_manger
    attribute: current_temperature
    yaxis: y1
    name: T°
  - entity: sensor.thermostat_salle_a_manger_ema_temperature
    attribute: ema_temp
    yaxis: y1
    name: Ema
  - entity: sensor.thermostat_salle_a_manger_power_percent
    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: sensor.thermostat_salle_a_manger_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
title: Thermostat test

Pour afficher EMA je suis obliger de supprimer la ligne

    attribute: ema_temp

C’est pour cela que je me pose des questions sur la configuration

Je viens de comprendre mon erreur

type: custom:plotly-graph
entities:
  - entity: climate.thermostat_salle_a_manger
    attribute: temperature
    yaxis: y1
    name: Consigne
  - entity: climate.thermostat_salle_a_manger
    attribute: current_temperature
    yaxis: y1
    name: T°
  - entity: climate.thermostat_salle_a_manger
    attribute: ema_temp
    yaxis: y1
    name: Ema
  - entity: climate.thermostat_salle_a_manger
    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: sensor.thermostat_salle_a_manger_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
title: Thermostat test

du coup je ne comprends pas pouquoi le power n’est pas à 100%

Hello @beber53 ,

Belle installation !

Essaye de regarder le tuning dans cet article: Baissez vos factures de chauffage avec Versatile Thermostat

Avec les Sonoff et regulation par controle de la vanne c’est le même algo que pour les over_valves.

Donc dans ton cas, il faut que tu augmente le coef_int. Passe le à 0.8 par exemple et regarde ce que ça donne. tpi_coef_int: 0.8

Au moins ca va chauffer à 100%. Vérifier que la vanne est totalement ouverte à 100%. Tu dois avoir la valeur dans le climate du Sonoff.

Tu peux aussi supprimer la configuration du closin_degree qui ne sert à rien pour les Sonoff et provoque un bug sur le hvac_action qui reste off même quand ca chauffe.

Salut,

Merci pour tes conseils. Je pense que c’est mieux, mais la température extérieure est supérieure aussi.

Alors, voici ce que cela donne avec tpi_coef_int: 0.8

Mais, par exemple à 6h, la température est inférieure de 0.4 et la vanne n’est pas ouverte à fond

Je dois encore augmenter le tpi_coef_int ?

Je pense que je vais devoir gérer le tpi_coef_int par thermostat et non dans le central, car d’autres pièces sont bonnes.

par contre je ne comprends pas :

Tu peux aussi supprimer la configuration du closin_degree qui ne sert à rien pour les Sonoff et provoque un bug sur le hvac_action qui reste off même quand ca chauffe.

Je pensais que les sonoff étaient les meilleurs TVR pour le plugin.

C’est ici que je dois supprimer ?

Merci

1 « J'aime »