Nouveau thermostat type proportionnel avec gestion des presets / portes et fenêtres / détection de mouvement / gestion de présence et surconsommation

Ok la doc! Je crois que trop bien fait Merci @Jean-Marc_Collin
Donc tu mets ce virtuel comme switch !

Bonjour @Jean-Marc_Collin,
Encore moi avec quelques questions.

  1. Est-ce que c’est normal qu’un VTherm over_climate où la régulation est sur light réagisse comme ça ?
    Voici quelques infos récoltées dans les attributs :
regulated_target_temperature: 15
auto_regulation_mode: auto_regulation_light
regulation_accumulated_error: -10

  1. D’ailleurs, regulated_target_temperature est bien la valeur de la température cible appliquée au climate sous-jacent n’est-ce pas ? Si c’est le cas, le thermostat régulé par ce VTherm est réglé sur 20 au lieu de 15 (C’était ce matin, maintenant c’est repassé en 19.5 dans les deux). Je pense que je vais créer un capteur pour récupérer la valeur et la stocker pour pouvoir comparer.

  2. Est-ce qu’un VTherm configuré en over_climate avec 2 climates sous-jacents peut ne pas envoyer la même température de consigne aux deux ? J’ai le cas pour 2 Vtherm chez moi (C’était aussi le cas ce matin. Mais ce soir, c’est le cas sur un des deux seulement).

  3. Est-ce que c’est possible d’avoir un VTherm avec 2 climates qui ont des auto-régulations différentes ? Je ne pense pas puisqu’il y un seul attribut d’auto-régulation par VTherm quel que soit le nombre de climates sous-jacents.

Hello @steph96

Merci pour les compliments, ca fait toujours plaisir :smiling_face_with_three_hearts:

C’est le mode sécurité qui s’active lorsque la température n’est plus reçue. Vous êtes plusieurs à me signaler que des fois le VTherm se met en sécurité et n’en sort pas alors que la température remonte (cf. Security State seems to never stop after having been activated ? · Issue #241 · jmcollin78/versatile_thermostat · GitHub). Le soucis c’est que je n’arrive pas à le reproduire. Comme expliqué dans Github, si ca se produit j’aurai besoin des attributs du VTherm au moment où il semble bloqué et des logs au même moment.

C’est une excellente question. J’avais lu je sais plus où (peut être la notice de mes radiateurs électriques) qu’il fallait pas avoir plus de 3° entre le mode Eco et le mode Confort pour éviter de trop pomper lors d’une remise en température. J’ai mis 17° en Eco et 19° en Confort et 20° en Boost de mon coté. Donc je respecte cette espèce de règle. Si qq’1 en sait plus et saurait étayer cette affirmation, ça m’intéresse beaucoup. Comme tu le dis, je suppose que ça dépend de plein de choses. Avec une forte inertie, je suppose que c’est trop. Si il faut 3 heures pour chauffer et qu’on change toutes les 3 heures, on n’est jamais à la cible et ça me parait pas bon.
Ce que j’ai remarqué aussi, c’est qu’en regime stable, le % de puissance doit être autour de 20% (30% max). On chauffe 20% du temps pour garder la température constante. Ca peut être un signe de bon réglage. Exemple (mais je viens de remettre en Confort):
Capture d’écran 2023-12-05 à 19.42.00

Clairement, en regardant la courbe non, c’est pas bon. T’es toujours très largement au dessus et pourtant
la temp régulée (celle envoyée au sous-jacent est de 15° pour une consigne à 20 (à priori).

Et les barres oranges (y a pas la légende mais je suppose qu’il s’agit du hvac_action et que c’est orange quand ca chauffe) font n’importe quoi. Ca chauffe quand tu es 4° au-dessus…

C’est quoi comme chauffage en dessous ? (regarde le post en dessous pour y voir plus clair)

1 « J'aime »

Pour y voir plus clair sur les VTherm de type over_climate avec régulation

Y a une super intégration citée dans ce forum qui se nomme Plotly (ici) et qui permet de naviguer dans les courbes de zoomer, etc. Bref, c’est le pied pour comprendre si ça régule bien ou pas.
Voici mon code:

        - 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: regulated_target_temperature
              yaxis: y1
              name: Regulated T°
            - entity: '[[slope]]'
              name: Slope
              fill: tozeroy
              yaxis: y9
              fillcolor: rgba(100, 100, 100, 0.3)
              line:
                color: rgba(100, 100, 100, 0.9)

Remplacez les [xxx] par les entités qui vont bien et vous aurez qqe-chose qui ressemble à ça :

On peut voir sur une même courbe zoomable, déplaçable, etc tout ce qu’on a besoin :

  1. la consigne,
  2. la T° courante du capteur,
  3. l’Exponential Moving Average (la moyenne mobile de la température courante),
  4. la température régulée (envoyée au sous-jacent),
  5. la Pente de la courbe (Slope). En positif si ça chauffe et en négatif si ca refroidit.

l’EMA et le Slope sont utilisés pour la détection automatique de portes et fenêtre ouvertes typiquement, mais ça donne pleins d’infos intéressantes sur la vitesse de chauffe d’une pièce, la vitesse de refroidissement quand ça chauffe plus, l’isolation de la pièce, etc.

Par exemple sur ma courbe, quand ça chauffe, je gagne entre 5 et 6° par heures et quand ça ne chauffe pas, cette pièce perd jusqu’à 1° / heure environ, que la température régulée dépasse de 1° la température cible…

Si vous avez des difficultés à faire les réglages, je vous le conseille vivement.
Evidemment il faut installer l’intégration Plotly qui est dispo sous HACS pour l’avoir.

2 « J'aime »

j’ai peut être une piste a creuser a ce sujet,
je viens d’avoir le cas dans ma chambre, avec le mode sécurité qui s’est activé car plus de température depuis 63 min. pourtant je suis sur un wemos connecté qui me retourne la température toutes les 2mn, en regardant ma courbe de température, elle est stable, mais si le capteur renvoir pendant 1h la même température, que se passe t’il ?

est ce que le souci ne pourrait pas venir de là ?

Radiateur à eau équipé d’une vanne Zigbee.

C’est intéressant comme piste oui. Normalement, je prends la dateheure de l’évènement que ca ait changé ou pas. Est-ce que tu es sûr qu’il y a des points de mesure sur la partie plate de la courbe ?

Si oui, est-ce que ce serait possible de passer en mode DEBUG et de me trouver les logs suivants lorsque le problème se produit ? Ce serait génial :

_LOGGER.debug(
            "%s - Temperature changed. Event.new_state is %s",
            self,
            new_state,
        )

Comme le mode debug est super verbeux, peut être tu peux changer le _LOGGER.debug par _LOGGER.info et rester en mode INFO.

Pour activer les logs, il faut des lignes comme ça dans la conf (logger.yaml chez moi) :

default: warning
logs:
  custom_components.versatile_thermostat: info                <----- ou debug en fonction de ton choix

Hello! Si ca peut aider, de mon côté quand cela s’est produit, j’ai eu des erreurs dans les notifications de HA, mais comme un C.O.N je n’ai pas pris le temps d’étudier ces erreurs. As tu eu la même chose?

Edit dans mon fichier configuration j’ai ce niveau de log :

Merci. Je vais regarder ce qui ne va pas.

Si tu peux me faire les courbes ça aiderait

1 « J'aime »

je vais activer ça, et chercher les logs, je te tiens au courant quand j’ai une nouvelle piste
maintenant, en ce qui concerne mon tracé ‹ plat ›, je ne sais pas comment trouver des points sur ma ligne plate, si je passe le curseur, je n’ai rien mais je ne sait pas si c’est normal ou non,

et aussi, pour info, j’utilise une entrée de type ‹ minimum › sur l’état de 2 capteurs pour ma température

Bien sûr. Je fais cela demain probablement, je suis en train de migrer le reste de mes thermostats.

Bonjour, Franchement bravo pour le thermostat et le sujet, c’est du lourd ! :clap: :clap: :clap:

pour le moment, j’ai trouvé ça :

Cette erreur provient d'une intégration personnalisée

Logger: custom_components.versatile_thermostat.base_thermostat
Source: custom_components/versatile_thermostat/base_thermostat.py:1993
Integration: Versatile Thermostat configuration (documentation, issues)
First occurred: 5 décembre 2023 à 20:26:29 (8 occurrences)
Last logged: 07:25:19

VersatileThermostat-thermostat ch1 - No temperature received for more than 60.0 minutes (dt=2.0, dext=61.3) and on_percent (0.60) is over defined value (0.50). Set it into security mode
VersatileThermostat-thermostat sam - No temperature received for more than 60.0 minutes (dt=0.0, dext=99.7) and on_percent (0.52) is over defined value (0.50). Set it into security mode
VersatileThermostat-thermostat stv - No temperature received for more than 10.0 minutes (dt=53.6, dext=0.0) and on_percent (0.71) is over defined value (0.50). Set it into security mode
VersatileThermostat-thermostat stv - No temperature received for more than 10.0 minutes (dt=3.7, dext=10.0) and on_percent (0.83) is over defined value (0.50). Set it into security mode
VersatileThermostat-thermostat stv - No temperature received for more than 10.0 minutes (dt=5.0, dext=11.3) and on_percent (0.55) is over defined value (0.50). Set it into security mode
2023-12-06 07:25:19.920 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-thermostat stv-switch.rad08_a - calling turn_on_later hvac_mode=heat, should_relaunch_later=False off_time_sec=164
2023-12-06 07:25:19.921 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-thermostat stv-switch.rad08_a - Stopping cycle during calculation
2023-12-06 07:25:19.921 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - overpowering check: power=5.000, max_power=45.000 heater power=1.500
2023-12-06 07:25:19.922 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - checking security delta_temp=5.0 delta_ext_temp=11.3 mod_cond=True temp_cond=True climate_cond=False switch_cond=True
2023-12-06 07:25:19.922 WARNING (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - No temperature received for more than 10.0 minutes (dt=5.0, dext=11.3) and on_percent (0.55) is over defined value (0.50). Set it into security mode
2023-12-06 07:25:19.923 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - Sending event EventType.TEMPERATURE_EVENT with data: {'last_temperature_mesure': '2023-12-06T07:20:18.576708+01:00', 'last_ext_temperature_mesure': '2023-12-06T07:14:00.212383+01:00', 'current_temp': 18.2, 'current_ext_temp': 0.04, 'target_temp': 18.5}
2023-12-06 07:25:19.933 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - Saved hvac mode - saved_hvac_mode is heat, hvac_mode is heat
2023-12-06 07:25:19.933 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - Set preset_mode: security force=False
2023-12-06 07:25:19.934 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_switch] VersatileThermostat-thermostat stv - recalculate all
2023-12-06 07:25:19.934 DEBUG (MainThread) [custom_components.versatile_thermostat.prop_algorithm] Security is Off using the calculated_on_percent 0.549200
2023-12-06 07:25:19.934 DEBUG (MainThread) [custom_components.versatile_thermostat.prop_algorithm] heating percent calculated for current_temp 18.2, ext_current_temp 0.0 and target_temp 18.5 is 0.55, on_time is 164 (sec), off_time is 135 (sec)
2023-12-06 07:25:19.938 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_switch] VersatileThermostat-thermostat stv - Calling update_custom_attributes: {'is_on': True, 'hvac_action': <HVACAction.IDLE: 'idle'>, 'hvac_mode': 'heat', 'preset_mode': 'security', 'type': None, 'eco_temp': 18.0, 'boost_temp': 19.0, 'comfort_temp': 18.5, 'eco_away_temp': 17.0, 'boost_away_temp': 18.0, 'comfort_away_temp': 17.0, 'power_temp': 15.0, 'target_temperature_step': 0.1, 'ext_current_temperature': 0.04, 'ac_mode': False, 'current_power': 5.0, 'current_power_max': 45.0, 'saved_preset_mode': 'comfort', 'saved_target_temp': 18.5, 'saved_hvac_mode': 'heat', 'window_state': 'off', 'motion_state': 'off', 'overpowering_state': False, 'presence_state': 'on', 'window_auto_state': 'off', 'window_bypass_state': False, 'security_delay_min': 10, 'security_min_on_percent': 0.5, 'security_default_on_percent': 0.1, 'last_temperature_datetime': '2023-12-06T07:20:18.576708+01:00', 'last_ext_temperature_datetime': '2023-12-06T07:14:00.212383+01:00', 'security_state': True, 'minimal_activation_delay_sec': 30, 'device_power': 1.5, 'mean_cycle_power': 0.8250000000000001, 'total_energy': 41.43, 'last_update_datetime': '2023-12-06T07:25:19.935639+01:00', 'timezone': 'Europe/Paris', 'window_sensor_entity_id': None, 'window_delay_sec': 30, 'window_auto_open_threshold': 0.1, 'window_auto_close_threshold': 0.0, 'window_auto_max_duration': 60, 'motion_sensor_entity_id': 'binary_sensor.pir_salle_tele', 'presence_sensor_entity_id': 'input_boolean.presence_pour_chauffage', 'power_sensor_entity_id': 'sensor.intensite', 'max_power_sensor_entity_id': 'sensor.intensite_max', 'temperature_unit': <UnitOfTemperature.CELSIUS: '°C'>, 'is_device_active': False, 'ema_temp': 18.07, 'is_over_switch': True, 'is_inversed': False, 'underlying_switch_0': 'switch.rad08_a', 'underlying_switch_1': None, 'underlying_switch_2': None, 'underlying_switch_3': None, 'on_percent': 0.55, 'power_percent': 55.0, 'on_time_sec': 164, 'off_time_sec': 135, 'cycle_min': 5, 'function': 'tpi', 'tpi_coef_int': 0.6, 'tpi_coef_ext': 0.02}
2023-12-06 07:25:19.942 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - Sending event EventType.PRESET_EVENT with data: {'preset': 'security'}
2023-12-06 07:25:19.943 DEBUG (MainThread) [custom_components.versatile_thermostat.prop_algorithm] Security is On using the default_on_percent 0.100000
2023-12-06 07:25:19.943 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-thermostat stv - Sending event EventType.SECURITY_EVENT with data: {'type': 'start', 'last_temperature_mesure': '2023-12-06T07:20:18.576708+01:00', 'last_ext_temperature_mesure': '2023-12-06T07:14:00.212383+01:00', 'current_temp': 18.2, 'current_ext_temp': 0.04, 'target_temp': 18.5}
2023-12-06 07:25:19.946 INFO (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-thermostat stv-switch.rad08_a - start heating for 2 min 44 sec
2023-12-06 07:25:19.947 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-thermostat stv-switch.rad08_a - Starting underlying entity switch.rad08_a
2023-12-06 07:25:19.966 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_security_state - climate state change
2023-12-06 07:25:19.968 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_window_bypass_state - climate state change
2023-12-06 07:25:19.969 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_motion_state - climate state change
2023-12-06 07:25:19.969 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_window_state - climate state change
2023-12-06 07:25:19.970 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_presence_state - climate state change
2023-12-06 07:25:19.970 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_overpowering_state - climate state change
2023-12-06 07:25:19.971 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_last_temp_datetime - climate state change
2023-12-06 07:25:19.974 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_last_ext_temp_datetime - climate state change
2023-12-06 07:25:19.974 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_temperature_slope - climate state change
2023-12-06 07:25:19.975 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_ema_temperature - climate state change
2023-12-06 07:25:19.975 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_energy - climate state change
2023-12-06 07:25:19.976 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_mean_power_cycle - climate state change
2023-12-06 07:25:19.978 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_power_percent - climate state change
2023-12-06 07:25:19.989 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_on_time - climate state change
2023-12-06 07:25:19.991 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_off_time - climate state change
2023-12-06 07:25:20.041 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_switch] VersatileThermostat-thermostat stv - Calling update_custom_attributes: {'is_on': True, 'hvac_action': <HVACAction.HEATING: 'heating'>, 'hvac_mode': 'heat', 'preset_mode': 'security', 'type': None, 'eco_temp': 18.0, 'boost_temp': 19.0, 'comfort_temp': 18.5, 'eco_away_temp': 17.0, 'boost_away_temp': 18.0, 'comfort_away_temp': 17.0, 'power_temp': 15.0, 'target_temperature_step': 0.1, 'ext_current_temperature': 0.04, 'ac_mode': False, 'current_power': 5.0, 'current_power_max': 45.0, 'saved_preset_mode': 'comfort', 'saved_target_temp': 18.5, 'saved_hvac_mode': 'heat', 'window_state': 'off', 'motion_state': 'off', 'overpowering_state': False, 'presence_state': 'on', 'window_auto_state': 'off', 'window_bypass_state': False, 'security_delay_min': 10, 'security_min_on_percent': 0.5, 'security_default_on_percent': 0.1, 'last_temperature_datetime': '2023-12-06T07:20:18.576708+01:00', 'last_ext_temperature_datetime': '2023-12-06T07:14:00.212383+01:00', 'security_state': True, 'minimal_activation_delay_sec': 30, 'device_power': 1.5, 'mean_cycle_power': 0.15000000000000002, 'total_energy': 41.43, 'last_update_datetime': '2023-12-06T07:25:20.038907+01:00', 'timezone': 'Europe/Paris', 'window_sensor_entity_id': None, 'window_delay_sec': 30, 'window_auto_open_threshold': 0.1, 'window_auto_close_threshold': 0.0, 'window_auto_max_duration': 60, 'motion_sensor_entity_id': 'binary_sensor.pir_salle_tele', 'presence_sensor_entity_id': 'input_boolean.presence_pour_chauffage', 'power_sensor_entity_id': 'sensor.intensite', 'max_power_sensor_entity_id': 'sensor.intensite_max', 'temperature_unit': <UnitOfTemperature.CELSIUS: '°C'>, 'is_device_active': True, 'ema_temp': 18.07, 'is_over_switch': True, 'is_inversed': False, 'underlying_switch_0': 'switch.rad08_a', 'underlying_switch_1': None, 'underlying_switch_2': None, 'underlying_switch_3': None, 'on_percent': 0.1, 'power_percent': 10.0, 'on_time_sec': 30, 'off_time_sec': 270, 'cycle_min': 5, 'function': 'tpi', 'tpi_coef_int': 0.6, 'tpi_coef_ext': 0.02}
2023-12-06 07:25:20.053 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_security_state - climate state change
2023-12-06 07:25:20.054 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_window_bypass_state - climate state change
2023-12-06 07:25:20.054 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_motion_state - climate state change
2023-12-06 07:25:20.055 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_window_state - climate state change
2023-12-06 07:25:20.056 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_presence_state - climate state change
2023-12-06 07:25:20.056 DEBUG (MainThread) [custom_components.versatile_thermostat.binary_sensor] thermostat stv_overpowering_state - climate state change
2023-12-06 07:25:20.057 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_last_temp_datetime - climate state change
2023-12-06 07:25:20.057 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_last_ext_temp_datetime - climate state change
2023-12-06 07:25:20.058 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_temperature_slope - climate state change
2023-12-06 07:25:20.058 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_ema_temperature - climate state change
2023-12-06 07:25:20.058 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_energy - climate state change
2023-12-06 07:25:20.059 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_mean_power_cycle - climate state change
2023-12-06 07:25:20.060 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_power_percent - climate state change
2023-12-06 07:25:20.060 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_on_time - climate state change
2023-12-06 07:25:20.061 DEBUG (MainThread) [custom_components.versatile_thermostat.sensor] thermostat stv_off_time - climate state change
2023-12-06 07:25:43.865 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] Thermostat thermostat stv - Receive new Power event

voilà un extrait de log, pour l’incident de 7h25, dans ch1

si tu a besoin d’autre chose ou plus de log, dis moi …

Hello,

j’ai découvert l’intégration « versatile thermostat » la semaine dernière via un autre forum, et j’ai tout de suite testé sur l’une de mes vannes thermostatiques.
Merci pour la création de cette intégration.

J’ai une question concernant mon application.
Je suis désolé si la réponse existe déjà sur ce mur, j’ai survolé en diagonale, mais je n’ai pas lu l’ensemble des 950 posts. Je vois surtout des échanges pour les applications ON/OFF over_switch.

J’ai une maison avec chaudière fioul et un radiateur par pièce. Pour le moment je n’ai testé que dans une seule pièce, soit sur un radiateur.
Pour cet essai, j’utilise une vanne thermostatique Moes BRT-100-TRV, avec une sonde de température déportée de type LYWSD03MMC pour connaître la température à l’autre bout de la pièce…

De base (sans l’intégration), la vanne MOES s’autorégule en fonction de la température lue par sa propre sonde.
Mon souci, c’est que la vanne n’arrive pas d’elle-même à un ratio d’ouverture (position en %) qui permettrait de maintenir la pièce à température homogène, et surtout que l’hystérésis par rapport à la température de consigne est assez large, de l’ordre de 2K.
Par exemple, avec une consigne à 20°C, la vanne va s’ouvrir quand la température descend à 19°C, puis se refermer quand elle arrive à 21°C, et ainsi de suite.
J’aurais aimé que la vanne s’autorégule sur une plage de 0 à 100% pour maintenir la température le plus proche possible de 20°C, ou a minima que l’hystérésis soit plus faible, le ressenti n’est pas du tout le même à 19°C avec un radiateur froid qu’à 21°C avec un radiateur chaud.
Malheureusement, ma vanne ne sait pas faire, et fonctionne uniquement par degrés entiers (non décimaux).

Sous HA, on peut lire la position d’ouverture de ma vanne (en % - selon 5 états: fermé → 0% , et ouvert → 25%, 50%, 75% et 100%), mais pas la commander.
Pour l’intégration j’ai donc utilisé le mode over_climate, over_valve n’étant pas possible.
J’utilise la sonde LYWSD03MMC pour la température intérieure et une intégration météo pour la température extérieure.
Je n’utilise aucune détection (ouverture fenêtre, présence, etc.), mais c’est prévu pour la suite.
Je n’ai pas non plus appliqué l’auto-régulation, pour le moment…
J’ai adapté les autres paramètres selon les recommandations pour un chauffage central.

Dans cette configuration, ma vanne thermostatique fonctionne exactement de la même façon avec ou sans l’intégration, et ne tient pas compte de la température de ma sonde intérieure pour gérer la température.
Pire, avec l’ajout de la sonde intérieure, je me rend compte que la vanne chauffe la pièce à une température bien plus élevée que souhaitée: quand la vanne s’ouvre, j’ai bien 19°C sur les 2 sondes (vanne + sonde intérieure), mais au moment ou elle se referme j’ai 21°C sur la vanne et 22,5°C sur la sonde intérieure.

Si je comprends bien, je dois utiliser la fonction auto-régulation pour pouvoir piloter ma vanne depuis la sonde intérieure, et, d’une certaine façon, shunter la sonde de la vanne thermostatique.
Est-ce bien ça ?
Cette fonction permettra-t-elle également de réduire l’hystérésis ? (je suis conscient que dans cette configuration ma vanne va cycler plus souvent)

Merci,

Sfritz

Merci pour les logs. C’est clair, aucun event de type « mise à jour de la temperature » n’est reçu de la part du temperature sensor. D’où le mode sécurité.

On devrait voir des logs avec « Temperature changed. Event.new_state is » si c’était le cas.

La mauvaise nouvelle, c’est que comme VTherm n’a pas d’event, je n’ai pas de solution. Si c’était un event avec une date dans le passé, y avait moyen.

Si tu es en Zigbee. Tu dois avoir un champ « last_seen », ce serait intéressant de voir sa valeur quand ce se produit.

Bonjour @Jean-Marc_Collin,

Voici les courbes de ce matin. J’ai rajouté la température relevée par la vanne, ce qui peut expliquer le fait qu’elle se mette en chauffe non ?
image

image

tu a raison, en regardant mon tracé, il est plat de 7h19 a 7h47

même sur ma sonde directe, par contre, je ne suis pas en zigbee mais en wifi/esphome avec un envoi toutes les 2mn, donc aucune raison d’avoir des coupures, j’ai d’autres capteurs du même esp qui ont envoyé des infos entre les 2 et je n’ai pas eu de coupure dans la présence du capteur,