Recalibrage des vannes (service recalibrate_valves)
Pourquoi cette fonctionnalité ?
Le service recalibrate_valves permet d'exécuter une procédure de calibrage simple des vannes thermostatiques pilotées par un VTherm en régulation par vanne. Il force temporairement les vannes sous-jacentes à leurs positions extrêmes (ouverture complète puis fermeture complète) afin de provoquer un recalibrage des vannes du thermostat.
Ce service est utile quand vous suspectez des valeurs d'ouverture/fermeture incorrectes, des vannes mal calibrées, ou après installation/maintenance des équipements sous-jacents. Par exemple, si votre radiateur chauffe alors que les vannes sont fermées, il est possible qu'un recalibrage soit nécessaire.
⚠️ Le recalibrage effectif est de la responsabilité du thermostat sous-jacent. VTherm ne fait que forcer une ouverture, puis une fermeture maximale. Si cette opération ne fonctionne pas, vous devez voir avec le fournisseur de votre TRV ou faire un calibrage constructeur si disponible.
⚠️ Un recalibrage via cette fonction peut limiter la durée de vie des batteries du TRV. Il est conseillé de ne l'utiliser que si vous êtes sûr que les vannes de votre VTherm ont un soucis de calibrage.
Principe de fonctionnement
Le service suit ces étapes pour l'entité ciblée :
- Vérifie que l'entité cible est un thermostat de type
ThermostatClimateValve(régulation par vanne). Sinon le service renvoie une erreur. - Vérifie que chaque valve sous-jacente dispose d'une entité
numberconfigurée pour l'ouverture et la fermeture (attributsopening_degreeetclosing_degree). Si une valve manque ces entités, le service refuse l'opération. - Mémorise l'état demandé (
requested_state) du thermostat. - Passe le VTherm en mode OFF.
- Attend
delay_seconds. - Pour chaque valve : force l'ouverture à 100% (en envoyant la valeur correspondante aux entités
number). Attenddelay_seconds. - Pour chaque valve : force la fermeture à 100% (valeur complémentaire sur l'entité
number). Attenddelay_seconds. - Restaure l'état demandé initial et met à jour les états/attributs.
Pendant la procédure, le système force directement les entités number des vannes en ignorant les seuils et protections automatiques normales (seuils d'ouverture, min/max de l'algorithme). Le service exécute l'opération en tâche de fond et renvoie immédiatement une réponse d'accusé : {"message": "calibrage en cours"}.
Le délai entre chaque étape est spécifié par l'utilisateur lors de l'appel du service. La valeur par défaut est de 60 sec pour laisser le temps à la vanne de s'ouvrir ou de se fermer totalement. Le maximum est paramétré à 5 min (300 sec). Le minimum est de 30 sec.
Restrictions et prérequis
- Le service est disponible uniquement pour les thermostats
ThermostatClimateValve(régulation par vanne). - Chaque valve sous-jacente doit avoir deux entités
numberconfigurées :opening_degree_entity_id(commande d'ouverture)closing_degree_entity_id(commande de fermeture)
- Les entités
numberpeuvent avoir des attributsminetmax; le service mappe les pourcentages (0–100 %) sur ces plages. Simin/maxmanquent, la plage par défaut est 0–100. - Le service protège contre les exécutions concurrentes pour la même entité : si un recalibrage est déjà en cours sur ce thermostat, une nouvelle requête est refusée immédiatement (message de retour indiquant que le recalibrage est en cours).
Configuration / accès au service
Le service est enregistré en tant que service d'entité. Pour l'appeler via l'interface de Home Assistant, vous devez cibler l'entité climate concernée.
Nom du service : versatile_thermostat.recalibrate_valves
Exemple d'appel via Developer Tools / Services :
service: versatile_thermostat.recalibrate_valves
target:
entity_id: climate.mon_thermostat
data:
delay_seconds: 30
Le service retourne immédiatement :
{"message": "calibrage en cours"}
Paramètres du service
| Paramètre | Type | Description |
|---|---|---|
delay_seconds | integer | Délai (en secondes) à attendre après ouverture complète puis après fermeture complète. Valeurs valides : 30–300 (recommandé : 60). |
Le schéma du service limite la valeur entre 30 et 300 secondes.
Comportement détaillé
- L'opération est exécutée en tâche de fond. L'appelant reçoit une confirmation immédiate et peut suivre la progression via les logs Home Assistant.
- À la fin de l'opération, l'état demandé (
requested_state) est restauré (mode HVAC, température cible et preset si présents) et les états sont mis à jour. Le VTherm doit revenir à sa position initiale, à condition que les capteurs restent stables, bien sûr.
Exemples d'automatisation
- Déclencher le recalibrage automatiquement une fois par mois (exemple) :
Le YAML suivant déclenche le recalibrage à 03:00 le premier jour de chaque mois :
alias: Recalibrage vannes mensuel
trigger:
- platform: time
at: '03:00:00'
condition:
- condition: template
value_template: "{{ now().day == 1 }}" # n'exécute que le jour 1 du mois et en mode 'heat'
- condition: state
entity_id: climate.mon_thermostat
state: 'heat'
action:
- service: versatile_thermostat.recalibrate_valves
target:
entity_id: climate.mon_thermostat
data:
delay_seconds: 60
- service: persistent_notification.create
data:
title: "🔧 Recalibrage mensuel démarré"
message: "🔧 Un recalibrage de vannes a été lancé pour climate.mon_thermostat"
Conseils
- Testez le recalibrage sur un VTherm qui ne contient qu'une seule vanne pour commencer et surveillez les logs et les valeurs envoyées aux entités
numberavant de l'exécuter sur plusieurs pièces.delay_secondsdoit être suffisamment long pour permettre à la vanne physique d'atteindre la position (60 s est un bon point de départ pour la plupart des vannes électriques).
Conseils