Sommaire
Introduction
Si vous avez un chauffage central avec des radiateurs à eau chaude, vous avez probablement des têtes thermostatiques. Pour rappel, leur rôle est d'ajuster le débit d’eau chaude qui circule dans le radiateur en fonction de la température ambiante.
Installer des têtes thermostatiques connectées à la place des anciennes têtes est très pertinent : vous pourrez piloter de manière précise les consignes de température depuis votre système domotique, et mettre en place diverses automatisations.
La marque chinoise SONOFF, réputée pour ses modules domotiques d'excellent rapport qualité-prix, propose la tête thermostatique Sonoff TRVZB. Nous vous présentons dans cet article un test de ce produit et comment l'intégrer dans Home Assistant.
La tête dispose d'un thermostat intégré que vous pouvez décider d'utiliser. Mais une autre solution est de confier la régulation du radiateur à Home Assistant. Le thermostat par défaut de Home Assistant n'étant pas très performant, il sera alors plus efficient d'utiliser une intégration comme Versatile Thermostat (VTherm), avec ses très nombreuses possibilités.
Nous vous présenterons donc comment intégrer têtes thermostatiques Sonoff TRVZB avec Versatile Thermostat. Cette combinaison donne d'excellents résultats pour piloter votre chauffage, faire des économies et obtenir un confort inégalé.
Beaucoup d'utilisateurs utilisent déjà ce combo gagnant et ce sont eux qui en parlent le mieux :


Dans cet article, nous allons voir :
- le déballage,
- l'installation physique du Sonoff TRVZB,
- l'installation dans Home Assistant,
- la configuration et l'utilisation de Versatile Thermostat (VTherm)
Le déballage
L'emballage Sonoff est soigné :








Les fournitures sont complètes, la documentation est bien faite avec des schémas clairs et en français. Un sachet donne pas mal de combinaisons possibles pour raccorder physiquement la tête à la vanne - ça devrait contenter tout le monde. Bref, ça démarre bien.
Installation physique
Pour l'installation physique, il va falloir commencer par mettre des piles dans la tête thermostatique.
Appuyez sur le bouton et faites coulisser le couvercle du logement à piles :


La tête affiche alors le message "IN". Elle est prête à être installée sur la vanne du radiateur :

Raccordez ensuite la tête à votre vanne de radiateur. Selon votre vanne, vous aurez besoin de différents accessoires qui sont fournis. Dans mon cas, je vais avoir besoin d'une bague à mettre sur la vanne. Cette bague présente un embout à visser directement dans la tête :

Pour une installation correcte, il faut :
- bien enfoncer la bague. Sur la photo, la bague n'est pas suffisamment enfoncée, ce qui va provoquer l'erreur F5 ci-dessous,
- la bague doit être serrée sur la tête avec la vis et le boulon fourni,
- la tête doit être correctement serrée, mais sans forcer sur la vanne. Il n'y a pas d'eau qui circule entre la tête et la vanne donc pas besoin de téflon ou autre pour assurer l'étanchéité. La tête va appuyer sur le pointeau de la vanne pour ouvrir celle-ci.
Vous devriez avoir un résultat qui ressemble à ça :

Appuyez sur le bouton de la tête pour provoquer un test de bonne installation.
Si l'erreur F5 s'affiche, c'est que la tête n'a pas correctement détecté le pointeau de la vanne.

Ça m'est arrivé, car la bague n'était pas installée à fond sur la vanne.
Avant :

Après correcte installation de la bague sur la vanne. On constate que le pointeau est bien plus sorti ce qui va permettre sa bonne détection par la tête :

Le test doit alors afficher la consigne courante (19° par défaut) :

Installation dans Home Assistant
L'installation dans Home Assistant est simple :
- mettez votre Zigbee2Mqtt (Z2M) en mode appairage,
- mettez la tête en mode appairage en tournant à fond la molette et en appuyant sur le bouton :

Z2M détecte la tête dans les 5 sec et affiche le message "Successfuly configured" :


Renommez l'équipement et vous devriez avoir quelque-chose qui ressemble à ça :


Si vous regardez dans Home Assistant / Paramètres / Appareil, vous avez un accès très complet à tous les réglages de la tête. C'est la grande force de cette tête, elle est totalement accessible et configurable dans HA.

Vous avez à votre disposition :
- une entité
climate
qui est le thermostat, - un blocage de la tête child-lock,
- une fonction intégrée de détection de fenêtre ouverte. Nous n'allons pas l'utiliser, mais profiter de celle offerte par VTherm donc on la laisse sur 'off',
- les 3 entités de type
number
qui vont nous permettre le contrôle via VTherm :- Température qui correspond à un décalage de température pour calibrer la température interne. Le nom Température n'est pas très intuitif et peut induire en erreur, je l'ai renommé en
calibration
, - Valve closing degree : c'est l'entité qui permet de régler le taux de fermeture de la vanne. C'est un pourcentage (0 si elle est totalement ouverte et 100 elle est totalement fermée),
- Valve opening degree : c'est l'entité qui permet de régler le taux d'ouverture de la vanne. C'est un pourcentage (0 elle est totalement fermée et 100 elle est totalement ouverte)
- Température qui correspond à un décalage de température pour calibrer la température interne. Le nom Température n'est pas très intuitif et peut induire en erreur, je l'ai renommé en
- d'autres capteurs sont présents, mais ne seront pas utilisés : planning et closing steps.
Configuration de Versatile Thermostat
Si ce n'est pas déjà fait, installez l'intégration Versatile Thermostat et sa carte à l'aide de HACS. Je ne reviens pas sur cette partie installation, car ce n'est pas l'objet de cet article. En cas de difficulté le forum hacf est là pour vous aider.
Principes
Pour piloter au mieux le Sonoff TRVZB, nous allons avoir besoin d'un VTherm de type over_climate
avec régulation par contrôle direct de la vanne.
Cela va permettre à VTherm de piloter l'entité climate
du Sonoff et sa consigne et de forcer l'état d'ouverture de la vanne en fonction d'un calcul fait l'algorithme Time Proportionnel Intégral (TPI) de VTherm. L'algorithme est décrit ici.
Avec seulement deux paramètres très simples à régler, cet algorithme donne d'excellent résultat.
Les pré-requis et les principes sont décrits en détail ici. Vous allez besoin :
- d'un thermomètre connecté dans la pièce, placé au plus proche de là où vous vivez à environ 1,5 m du sol. Vous ne devez pas utiliser la température interne de l'équipement à contrôler. Celle-ci est par nature très instable et va donner de très mauvais résultats. Si vous n'avez pas de thermomètre d'intérieur, vous avez une liste compatible ici. Le Sonoff SNZB fourni par notre partenaire Domadoo est un excellent choix.
- d'un thermomètre connecté extérieur. Si vous n'en avez pas, l'intégration Météo France fournie la température externe sous la forme d'une entité directement utilisable,
- d'un ou plusieurs Sonoff TRV installés, découverts et configurés comme vu précédemment.
Création et configuration d'un VTherm
Allez dans Paramètres / Intégration et appuyez sur le bouton 'Ajoutez une intégration' :

Choisissez 'Versatile Thermostat'

Vous arrivez sur le menu principal. Vous choisissez 'Thermostat sur un autre thermostat' puisque le VTherm va commander l'entité climate
du Sonoff :

Validez et vous arrivez sur la configuration du VTherm

Déroulez les menus dans l'ordre :
Principaux attributs

Donnez un nom, le capteur de température de la pièce, une durée de cycle (5 min) est une bonne valeur pour des TRV. Vous pouvez laisser vide la puissance de l'équipement et décocher toutes les options pour l'instant. Si vous avez une configuration centrale, laissez cocher l'option "Utiliser la configuration centrale".
Validez cet écran et si vous n'avez pas de configuration centralisée, vous arrivez sur un écran de configuration supplémentaire :

Dans cette page, vous devez donner le capteur de température extérieure (la météo locale dans mon cas), la température minimale, maximale et le pas de configuration des températures. Mettez 0,1 si vous voulez régler les températures au dixième de degré près.
Valider et vous revenez à l'écran de configuration principal du VTherm. Tant que tous les paramètres n'ont pas été fournis, vous avez cette option dans le menu :

Choix des fonctions
Cliquez sur 'Fonction'

Vous pouvez ensuite choisir les fonctions de VTherm à utiliser. Pour l'instant, on ne va en choisir aucune, l'idée étant toujours un fonctionnement de base stable avant d'utiliser les fonctions avancées. Donc, pour cet article, nous décochons toutes les fonctions :

Valider et nous choisissons le menu suivant 'Sous-jacents'
Configuration du sous-jacent

Dans les équipements à contrôler, nous indiquons le climate
du Sonoff.
Nous choisissons l'option d'auto-régulation nommée 'Contrôle direct de la vanne'.
Le seuil doit être mis à 5% et la période minimale à 1 min. Attention la valeur par défaut est 0,5 et il faut mettre 5. Ces 2 options permettent limiter le nombre de sollicitations du TRV et donc de prolonger la durée de vie de sa batterie. Avec ces réglages, les nouvelles valeurs ne seront envoyées que si elles diffèrent d'au moins 5% des précédentes et si elles sont espacées d'au moins 1 minute.
Il n'y a pas de ventilateur donc on peut laisser l'option auto ventilation sur Pas d'auto fan
et on laisse Compenser la température interne
sur Off (puisqu'on va contrôler la vanne directement).
Nous validons l'écran et nous revenons au menu principal. On constate qu'une nouvelle option 'Configuration de la régulation par vanne' est apparue :

Configuration du TPI
Cliquez sur 'Paramètres TPI ' et vérifiez que les valeurs par défaut 0,6 et 0,01 sont bien renseignées.

Nous pourrons optimiser plus tard ces valeurs. Un article a été spécialement rédigé pour se faire ici.
Configuration des pré-réglages
Les pré-réglages (où preset) sont des températures pré-réglées. La valorisation des températures sont maintenant disponibles dans les entités de l'appareil VTherm. Il n'y a ainsi plus rien à configurer.
Configuration de la régulation par contrôle direct de la vanne
Cliquez sur le menu 'Configuration de la régulation par vanne'

Vous arrivez sur cet écran :

Vous devez spécifier :
- l'entité 'opening degree' de votre Sonoff TRVZB,
- l'entité de 'calibrage du décalage' nommé 'calibration' dans les paragraphes précédent. C'est là qu'il est intéressant de l'avoir renommé, sinon il s'appelle 'Température' et ce n'est pas très clair,
- l'entité 'closing degree',
- une ouverture minimale en %. Si à l'usage l'eau ne coule qu'avec 10% d'ouverture, vous mettrez 10% ici. Pour l'instant, on le laisse vide.
Validez et maintenant le menu principal affiche "Finaliser les modifications" :

Cliquez dessus et vous avez désormais un appareil VTherm configuré qui va piloter le thermostat du Sonoff (l'entité `climate`) ET la vanne directement pour assurer une bien meilleure régulation.
L'appareil doit ressembler à ça :

Dans la section 'Contrôles' vous avez les entités qui permettent le contrôle du VTherm, les températures des presets, le thermostat en lui-même, un contrôle du suivi des changements faits directement sur la tête (Follow underlying temperature change
).
Vous devez alors configurer les températures des différents preset. Chez moi c'est :
- 10° pour le hors gel,
- 17° en Eco (quand il n'y a personne, la nuit),
- 19° en Confort (la température quand quelqu'un est présent),
- 20° en Boost (quand une température supérieure est nécessaire, pour forcer un pré-chauffage, pour être statique devant la télé…).
Vous avez aussi accès à une section 'Capteurs' très complète pour surveiller l'état de vos VTherm. Ces différents capteurs dépendent des fonctions que vous avez choisies.
Intégrer le VTherm dans un dashboard
Éditez un dashboard

Ajoutez une carte

Recherchez la carte Versatile Climate card et sélectionnez là :

Vous arrivez sur cet écran de configuration :

Dans le champ 'entité' vous devez mettre l'entité climate du VTherm (et non pas l'entité climate du Sonoff). Cliquez sur désactiver le mode auto et en fonction de vos préférences, vous pourrez cocher les options.
Personnellement, je désactive le cercle, qui prend trop de place et j'inverse la température cible et la température locale. Je préfère avoir la température qu'il fait réellement dans la pièce affichée en gros.
Nous obtenons alors une carte qui ressemble à ça :

Allumons le VTherm en cliquant sur la flamme et sélectionnons le preset 'Confort'.

Il fait 21,4° dans la pièce, la consigne est sur 19° (preset Confort) et il n'est pas en train de chauffer (les petites vagues sont grises). Les boutons + et - permettent de changer la consigne de température et enlèvent le preset lorsqu'ils sont utilisés. Il faut alors appuyer à nouveau sur le preset pour le remettre.
Les petites icônes à gauche ne sont pas importantes pour le moment.
Lorsqu'il va se mettre à chauffer, il s'affichera comme ça :

Compléter le dashboard
Pour compléter le dashboard, on va ajouter :
- les températures,
- l'état des vannes,
- l'état du thermostat du Sonoff,
- et quelques courbes sur le contrôle des vannes.

Le code pour obtenir cette carte est le suivant :
type: grid
cards:
- type: heading
heading: Sonoff TRVZB
heading_style: title
icon: mdi:pipe-valve
- type: custom:mushroom-number-card
entity: number.vtherm_sonoff_trvzb_preset_frost_temp
tap_action:
action: more-info
name: Hors gel
- type: custom:mushroom-number-card
entity: number.vtherm_sonoff_trvzb_preset_eco_temp
icon_color: green
tap_action:
action: more-info
name: Eco
- type: custom:mushroom-number-card
entity: number.vtherm_sonoff_trvzb_preset_comfort_temp
icon_color: accent
name: Confort
tap_action:
action: more-info
- type: custom:mushroom-number-card
entity: number.vtherm_sonoff_trvzb_preset_boost_temp
name: Boost
icon_color: red
tap_action:
action: more-info
- type: custom:versatile-thermostat-ui-card
entity: climate.vtherm_sonoff_trvzb
disable_circle: true
disable_auto: true
disable_off: false
set_current_as_main: true
disable_target_icon: false
- type: custom:mushroom-climate-card
entity: climate.sonoff_trvzb_bureau
tap_action:
action: more-info
hold_action:
action: more-info
double_tap_action:
action: more-info
grid_options:
columns: 12
rows: 1
- type: entities
entities:
- entity: number.sonoff_trvzb_bureau_local_temperature_calibration
- entity: number.sonoff_trvzb_bureau_valve_opening_degree
- entity: number.sonoff_trvzb_bureau_valve_closing_degree
- entity: sensor.sonoff_trvzb_bureau_battery
- entity: switch.vtherm_sonoff_trvzb_follow_underlying_temp_change
- type: history-graph
entities:
- entity: number.sonoff_trvzb_bureau_valve_closing_degree
- entity: number.sonoff_trvzb_bureau_valve_opening_degree
- entity: number.sonoff_trvzb_bureau_local_temperature_calibration
hours_to_show: 1
Vous devez évidemment adapter ce code à votre cas.
Avec ce dashboard, on peut voir facilement les commandes envoyées par VTherm au Sonoff et à la vanne. Dans la dernière copie d'écran, on voit que le VTherm a forcé l'ouverture de la vanne à 74% et la fermeture à 25%. Donc la vanne est contrainte à rester ouverte à 75%. Le calibrage de la température interne est de -1°, ce qui veut dire que la température interne est supérieure de 1° à la température de la pièce. VTherm va régulièrement mettre à jour ces valeurs pour réguler la température de la pièce en fonction de la température mesurée par le thermomètre de la pièce.
Pour aller plus loin
VTherm est équipé de fonctions permettant une réelle économie de chauffage ou d'énergie. Comme ce n'était pas le but de cet article, je ne détaille pas les différentes fonctions :
- détection des ouvertures (pour éviter de chauffer les étoiles),
- détection de présence (pour ne pas chauffer quand il n'y a personne),
- détection de mouvement (pour ne chauffer que si quelqu'un est dans la pièce),
- délestage (pour ne pas dépasser une consommation électrique),
- pilotage d'une chaudière centrale (pour allumer / éteindre ou forcer une chaudière centrale lorsque le besoin de chauffage se fait sentir),
- un mode de commande centrale (pour passer tous les VTherm en hors gel lorsqu'on part en vacances et les remettre au retour),
- et plein d'autres fonctions décrites ici
Un article pour optimiser sa consommation avec VTherm est disponible ici.
Conclusion
La tête thermostatique Sonoff TRVZB me semble un bon produit, fiable et de bonne qualité, facile à installer et intégrer dans Home Assistant. La multiplicité des bagues de raccordement assure une compatibilité maximale avec toutes les vannes.
La consommation des piles est raisonnable (9% en un peu plus d'un mois). Elle assure quasiment un an de durée de vie sans changer les piles, ce qui est confortable. Attention toutefois, la durée de vie des piles dépend des paramètres de configuration du VTherm et notamment des seuils de régulation. Cf. § Configuration du sous-jacent ci-dessus.
La tête fait un léger bruit lorsqu'elle tourne. Même si le bruit est tout à fait supportable et doux, il peut être dérangeant la nuit, dans une chambre à coucher surtout si le radiateur est proche du lit. Dans ce cas, il est conseillé de garder une température de consigne fixe durant la nuit via le VTherm, pour éviter de trop solliciter la tête.
L'intégration avec Versatile Thermostat (VTherm) va vous permettre un pilotage des plus précis, avec à la clé un confort inégalé et des économies substantielles.
C'est une des meilleures combinaisons possibles équipement / logiciel qui donnera à votre Home Assistant, une solution de chauffage enfin au niveau.
Nous tenons à remercier notre partenaire, Domadoo, qui a gracieusement offert ce matériel.
Notre unique volonté est de partager, après test et intégration avec HA, nos avis sur du matériel nous semblant intéressant pour la communauté. Il est important de souligner que HACF reste totalement libre de sa ligne éditoriale et les auteurs de leurs propos.
Les médias HACF ont cependant des liens affiliés nous permettant de compléter nos revenus liés aux adhésions et dons, ce qui nous permet de mener nos différentes actions (voir https://www.hacf.fr/association-hacf/#financement).