Vanne thermostatique Moes ZTRV-BY-100 - Pb d'intégration

Bonjour, je viens d’installer une vanne thermostatique Moes ZTRV-BY-100 via le plugin Zigbee.

Elle est reconnue comme une vanne HY368 de Moes / Tuya, mais je pense que cela ne pose pas de problème car la différence réside dans le design, mais la partie logicielle semble être la même.

J’ai des problèmes avec l’intégration de cette vanne dans Jeedom.
Voici le Widget qui est remonté :
image
On voit que :

  • La température est bien remontée,
  • Mais elle s’affiche avec une précision de 1°C. Quelqu’un sait-il comment changer cela ?
  • En revanche les informations de consigne (retour d’état de la consigne) et thermostat (action, permet de régler la consigne) sont multipliées par 10. Sur l’exemple 200 °C affiché correspond en fait à 20°C.
    Savez-vous d’où vient le problème ?
    Faut-il ouvrir un ticket pour demander une correction de l’intégration de cette vanne dans le plugin Zigbee ?
  • Pour finir, l’info « Ouverture vanne » est toujours à 5. C’est gênant.

Si ça peut aider, voici également une copie d’écran de l’onglet commandes de la vanne dans le Plugin Zigbee :

Bonjour @Theo76 ,
est ce tu peux mettre les infos brutes de ta vannes ?
merci

Bonjour @cstan77

Les voici :

{
    "ieee": "84:fd:27:ff:fe:b7:c0:57",
    "nwk": 60452,
    "status": 2,
    "lqi": "255",
    "rssi": "-74",
    "last_seen": "1639580042.4595716",
    "node_descriptor": "02:40:80:02:10:52:52:00:00:2c:52:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 769,
            "profile_id": 260,
            "manufacturer": "_TZE200_b6wax7g0",
            "model": "TS0601",
            "output_clusters": [
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                },
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 3
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 64
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 0
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "_TZE200_b6wax7g0"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "TS0601"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": ""
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 3
                        }
                    ]
                },
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 61184,
                    "name": "Tuya Manufacturer Specicific",
                    "attributes": [
                        {
                            "id": 621,
                            "name": "valve_state",
                            "value": 5
                        },
                        {
                            "id": 514,
                            "name": "target_temperature",
                            "value": 20
                        },
                        {
                            "id": 515,
                            "name": "temperature",
                            "value": 190
                        },
                        {
                            "id": 615,
                            "name": "max_temperature",
                            "value": 300
                        },
                        {
                            "id": 617,
                            "name": "boost_duration_seconds",
                            "value": 4294967294
                        },
                        {
                            "id": 619,
                            "name": "comfort_mode_temperature",
                            "value": 2
                        },
                        {
                            "id": 620,
                            "name": "eco_mode_temperature",
                            "value": 28
                        }
                    ]
                },
                {
                    "id": 513,
                    "name": "MoesThermostatNew",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "local_temp",
                            "value": 1900
                        },
                        {
                            "id": 18,
                            "name": "occupied_heating_setpoint",
                            "value": 2000
                        },
                        {
                            "id": 22,
                            "name": "max_heat_setpoint_limit",
                            "value": 30000
                        },
                        {
                            "id": 30,
                            "name": "running_mode",
                            "value": 4
                        },
                        {
                            "id": 41,
                            "name": "running_state",
                            "value": 1
                        },
                        {
                            "id": 16384,
                            "name": "comfort_heating_setpoint",
                            "value": 200
                        },
                        {
                            "id": 16385,
                            "name": "eco_heating_setpoint",
                            "value": 2800
                        },
                        {
                            "id": 16388,
                            "name": "valve_open_percentage",
                            "value": 5
                        },
                        {
                            "id": 16389,
                            "name": "boost_duration_seconds",
                            "value": 4294967294
                        }
                    ]
                },
                {
                    "id": 516,
                    "name": "Thermostat User Interface Configuration",
                    "attributes": []
                },
                {
                    "id": 6,
                    "name": "On\/Off",
                    "attributes": []
                },
                {
                    "id": 1,
                    "name": "Power Configuration",
                    "attributes": []
                }
            ]
        }
    ],
    "signature": {
        "manufacturer": "_TZE200_b6wax7g0",
        "model": "TS0601",
        "node_desc": {
            "logical_type": 2,
            "complex_descriptor_available": 0,
            "user_descriptor_available": 0,
            "reserved": 0,
            "aps_flags": 0,
            "frequency_band": 8,
            "mac_capability_flags": 128,
            "manufacturer_code": 4098,
            "maximum_buffer_size": 82,
            "maximum_incoming_transfer_size": 82,
            "server_mask": 11264,
            "maximum_outgoing_transfer_size": 82,
            "descriptor_capability_field": 0
        },
        "endpoints": {
            "1": {
                "profile_id": 260,
                "device_type": 769,
                "input_clusters": [
                    0,
                    4,
                    5,
                    61184,
                    513,
                    516,
                    6,
                    1
                ],
                "output_clusters": [
                    10,
                    25
                ]
            }
        }
    },
    "class": "zhaquirks.tuya.ts0601_trv"
}

Par ailleurs après quelques jours d’observation de la température, je fais les constats suivants :

  • La température semble être mesurée avec une résolution de 0,5 °C,
  • Jeedom n’enregistre dans l’historique que peu de points. Ex le 13/12 : 10 points, soit un point toutes les 2,4 h en moyenne.
  • Mais, j’ai de longues périodes sans qu’aucun point ne soit enregistré. Ex le 13/12 : aucun enregistrement entre 11h15 et 20h05 soit 8h50 sans enregistrement.
  • A contrario des points peuvent se suivre assez rapidement. Toujours le 13/12, 8h55 et 9h15, soit 20 minutes entre 2 relevés.
  • Souvent les écarts de température entre deux points sont plus grands que la résolution de 0,5 °C. Ex le 13/12 : -1°C, -1°C, +1,5 °C, -0,5°C, +1°C, -1°C, +1°C, +1°C, -1°C, -1°C.
    J’ai même vu deux sauts de +2°C le 11/12.

Une idée de la raison ?

Ci-dessous le graphe historique de température.

dans ton extraction j’ai une « value : 1900 » donc quand elle remonte, elle a la forme19,00, il n’y a pas d’autre réglage…

  • En revanche les informations de consigne (retour d’état de la consigne) et thermostat (action, permet de régler la consigne) sont multipliées par 10. Sur l’exemple 200 °C affiché correspond en fait à 20°C.
    Savez-vous d’où vient le problème ?

j’ai une « value: 2000 » pour la consigne et quand elle remonte c’est 200,0 ! => OK modifié
Consigne comfort : OK
j’ai une « value: 2800 » pour la Consigne eco et quand elle remonte c’est 280,0 ! => OK modifié
j’ai une « value: 2000 » pour la Thermostat Action et quand elle remonte c’est 200,0 ! => OK modifié

Faut-il ouvrir un ticket pour demander une correction de l’intégration de cette vanne dans le plugin Zigbee ?

non, on va faire les tests ensemble :wink: je ferai la demande à la fin du post.

  • Pour finir, l’info « Ouverture vanne » est toujours à 5. C’est gênant.

j’ai une « value »: 5, je peux pas faire grand chose pas de réglage. Faudrait forcer à Confort MAX pour voir si la vanne s’ouvre plus… et faire eco pour voir si elle ferme

Voici la configuration, si tu peux tester => TZE200_b6wax7g0.TS0601.7z.txt (836 Octets)

il faut extraire le contenu du fichier dans : /var/www/html/plugins/zigbee/core/config/devices/tuya/

T’es sur que ta vanne à bien une couverture suffisante Zigbee ?
Car normalement a chaque changement de température de 0,5° ca communique

Merci de l’intérêt que tu portes à mes questions.

T’es sur que ta vanne à bien une couverture suffisante Zigbee ?

Effectivement cette vanne thermostatique est située à l’étage alors que l’ensemble des autres composants Zigbee sont au RdC. Peut-être que cela peut poser problème.
Voici une copie du graphe de couverture réseau.
La vanne thermostatique n’a pas de liaison directe et a une liaison « verte » vers un interrupteur de commande de volets roulants.
Cependant elle est indiquée comme ayant 0 voisins. Est-ce un problème ?

T’as pu tester la nouvelle conf que je t’ai fait ?
Si t’a la possibilité de mettre un plug pour créer un routeur vers la vanne… p’être que ca irait mieux.
Je suis pas un spécialiste Zigbee j’ai installé ce protocole il y a 15 jours… voir p’être avec @Loic s’il à une idée

Je viens de charger le fichier dans le dossier adhoc.
J’ai redémarré la box mais ça ne change rien.

En furetant un peu dans : Equipement → Bouton Configuration avancée

Puis en face de la commande « Consigne » → le bouton engrenage


Puis onglet Configuration, j’arrive à ça :

On peut donc ainsi apparemment modifier directement les commandes sans passer par le fichier json.
Ce qu’on voit c’est que ta modification (« calculValueOffset »:« #value# / 100 ») n’a apparemment pas été prise en compte.
J’ai mal fait quelque chose ?
Ou j’ai oublié de lancer une mise à jour quelque part ?

T’as recréé les commandes avec mon nouveau fichier de conf ?

De mémoire c’est expliqué ça dans un des articles sur j’ai fait sur le blog. C’est un peu pénible le ZigBee sur le routage

Pour le routage, tous les modules à pile et sans Neutre sont des endpoints ! donc pas routeur

@cstan77
J’ai appuyé sur le bouton « Recréer les commandes » (option Sans supprimer les commandes). Apparement ça force à prendre en compte les données du fichier json.

Le retour de consigne a l’air de fonctionner. C’est à dire que lorsque je sélectionne 19,5°C directement sur la vanne, j’obtiens bien un retour « Consigne » à 19,5°C.

En revanche, la commande « Thermostat » (qui permet de régler la température de consigne) doit être multipliée par 100 pour obtenir la bonne consigne. Par exemple pour régler 20°C, il faut envoyer 2000°C.
Bizarrement, après envoi de la consigne 2000, l’affichage revient à 20°C :
image
Je n’ai pas compris comment faire pour multiplier par 100 la valeur envoyée par la commande Thermostat.

Autre question :
Lorsque j’appuie sur le bouton Tester de la page des commandes de l’équipement dans le plugin Zigbee, je n’ai pas compris comment modifier la valeur envoyée.
Ca envoie toujours 0.

Oui mais tous mes autres modules Zigbee (hormis la vanne thermostatique bien sûr) sont des modules alimentés avec neutre, donc des modules routeurs (et identifiés comme tels sur le graphe réseau).

dans cette commande modifier avec cette formule :

attributes::1::in::513::18::#slider#*100

Quand tu clic sur tester, tu auras toujours 0 car la valeur slider n’est pas connu

C’est du chinois pour moi.
Mais ça marche !

Par contre, en bidouillant les réglages de la vanne, je me suis rendu compte que les libellés des infos et commandes étaient erronés :

  • Ouverture vanne est en fait le paramètre A5 « Min. temp. » qui peut avoir une valeur entre 5 et 15°C. Réglage usine à 5°C.
  • Consigne Eco est en fait le paramètre A6 « Max. temp. » qui peut avoir une valeur entre 15 et 35 °C. Réglage usine à 35°C.
  • Consigne confort est en fait le paramètre AB « Energy saving mode temperature » ce qui signifie le contraire ! Valeur entre 5 et 35 °C et réglage usine à 20°C.

J’ai mis à jour les libellés de mes commandes pour refléter cela et je vais continuer à enquêter.

OK cool, tu me dis quand tout est OK.
On refera un point sur les modifications que tu as fait.

Voilà le résultat de mes essais.

Je suis parti des données issues de l’onglet « Informations brutes » pour connaître les Identifiants qui fonctionnent.

Id Name Id Name Value Vrai libellé Facteur échelle Lecture écriture Résolution
61184 Tuya Manufacturer Specific
621 valve_state 7 idem 513::16388 Température mini (A5) x1 Lecture / Ecriture
514 target_temperature 20 idem 513::18 Consigne température x1 Lecture / Ecriture
515 temperature 210 idem 513::0 Température mesurée x10 Lecture seulement
615 max_temperature 30 idem 513::22 Température maxi (A6) x1 Lecture / Ecriture
617 boost_duration_seconds 0 ???
619 confort_mode_temperature 15 idem 513::16384 Température mode éco (AB) x1 Lecture / Ecriture
620 eco_mode_temperature 26 idem 513::16385 Température maxi (A6) x1 Lecture / Ecriture
513 MoesThermostatNew
0 local_temp 2100 idem 61184::515 Température mesurée x100 Lecture seulement
18 occupied_heating_setpoint 2000 idem 61184::514 Consigne température x100 Lecture / Ecriture
22 max_heat_setpoint_limit 30000 idem 61184::615 x100 Lecture / Ecriture
30 running_mode 4
41 running_state 1
16384 confort_heating_setpoint 1500 idem 61184::619 Température mode éco (AB) x100 Lecture / Ecriture
16385 eco_heating_setpoint 2500 idem 61184::620 Température maxi (A6) x100 Lecture / Ecriture
16388 valve_open_percentage 7 idem 61184::621 Température mini (A5) x1 Lecture seulement
16389 boost_duration_seconds 0 ???

Comme tu peux le constater beaucoup d’informations sont redondantes entre le 513 Moes ThermostatNew et le 61184 Tuya Manufacturer specific. Avec souvent un facteur d’échelle différent.

Beaucoup d’information sont mal libellées ; j’ai indiqué dans la colonne « Vrai libellé » à quoi correspondent vraiment les informations. (Le libellé dans la colonne Name est celui qui vient de l’onglet « Informations brutes »)

J’ai noté aussi que l’information 1::513::16388 ne marchait qu’en lecture, alors que sa jumelle 1::611684:621 fonctionnait elle en lecture / écriture.

Autre point : la consigne de température (1::513:;18 ou 1:61184::514) ne permet de régler la température qu’au degré près, alors que sur la vanne on peut régler à 0,5 °C près.

Par ailleurs, en furetant un peu sur la toile, j’ai trouvé quelques posts où des personnes ont intégré ces vannes ou leur cousine HY368 avec beaucoup plus de commandes :

https://community.jeedom.com/uploads/default/original/3X/1/9/19c982da422004401337f86201143d91e8142e7e.png

Dans l’onglet Action, j’ai essayé de saisir directement certaines commandes avec les id que l’on voit là mais ça ne marche pas. J’ai une erreur 134 à chaque fois. Une idée de ce que ça représente ?

Bonjour,
Personne ne sait ce qu’est cette erreur 134 ?

@cstan77 Je relance le sujet. Etant donné les écarts entre les libellés correspondant au profil actuel et ce qu’ils représentent vraiment, que faut-il faire ?
Faire mettre à jour le profil ? Ou en créer un spécifique à cette vanne Moes ? (plutôt que HY368).