Zigbee2mqtt: Ajout du capteur de niveau Tuya ME201WZ

Module acheté, connecté à zigbee2mqtt facilement, et j’ai fait un test de mesure dans un pot d’eau, ça semble bien précis (au cm près, ce qui sera suffisant dans ma cuve).

Dans Gladys, l’appareil est bien visible dans l’intégration zigbee, mais par contre il n’y a que la valeur linkquality qui est gérée.

Dans l’expose dans z2m, j’ai ça :

{
    "installation_height": 1.6,
    "last_seen": "2025-05-04T07:09:01.854Z",
    "linkquality": 144,
    "liquid_depth": 0.94,
    "liquid_depth_max": 1.6,
    "liquid_level_percent": 58,
    "liquid_state": "normal",
    "max_set": 80,
    "mini_set": 20
}

Il faudrait que Gladys récupère aussi ‹ liquide_depth › (exprimé en mètre), ‹ liquide_level_percent › (exprimé en %), ‹ liquide_state › (qui peut prendre les valeurs "bas, « normal », « haut »).

@pierre-gilles, @cicoub13, ou d’autres, est-il possible de les ajouter dans une prochaine version de Gladys ? Merci d’avance :+1:

Si vous avez besoin de plus d’infos, dites moi…

4 « J'aime »

@StephaneB Top, je vais regarder, je te tiens au courant en cas de question :slight_smile:

Je mets ici le lien de l’appareil chez Zigbee2mqtt :

1 « J'aime »

Salut @StephaneB :slight_smile:

J’ai intégré cet appareil dans cette PR :

Tout est géré, y-compris l’état du niveau (faible/normal/élevé), que tu peux utiliser sur le tableau de bord et dans les scènes ! :smiley:

J’ai fais un build Docker sur:

gladysassistant/gladys:zigbee2mqtt-tuya-me201wz

Est-ce que tu pourrais tester et me dire si c’est bon pour toi ?

2 « J'aime »

Pour ma part je viens de le commander donc je pourrais tester la build cette semaine encore avec 2 tests en perspective : mon poêle à granulés et mes récupérateurs d’eau :slight_smile:

1 « J'aime »

Merci pour ta réactivité @pierre-gilles. Il faut juste que je regarde si j’ai bien toujours ma vieille clé zigbee pour l’installer sur le vieux pc qui m’a servi dernièrement à tester des versions spécifiques de Gladys (quand tu as développé le si…alors…sinon)…

Parce que je suppose que ça n’est pas possible d’installer un gladys ‹ version spécifique › en parallèle de mon gladys de prod sur mon mini-pc et que les deux s’appuie sur la même clé zigbee et le même zigbee2mqtt. Ou alors je te laisse me guider si en fait c’est possible :wink:

:warning:Je pars du principe que tu utilises Zigbee2mqtt automatiquement lancé par Gladys.

Je pense que c’est possible, lance Gladys sur ton vieux PC (ou même localement sur ton PC/Mac avec Docker), et configure l’intégration Zigbee2mqtt pour qu’elle parle au broker mosquitto « IP_DE_TON_MINI_PC:1884 »

(Je précise que je n’ai jamais testé, mais je ne vois pas pourquoi ça ne marcherait pas :stuck_out_tongue: )

J’utilise bien sur mon mini-pc le zigbee2mqtt lancé automatiquement par Gladys. Donc je vais tester ta proposition.

Ah, tu auras besoin quand même de l’authentification :stuck_out_tongue:

Sur ton mini-PC, ouvre le fichier /var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml, en faisant:

cat /var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml

Tu devrais voir en haut du fichier:

mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost:1884
  user: gladys
  password: TON_MOT_DE_PASSE

Utilise l’identifiant et le mot de passe :slight_smile:

J’étais en train de buter là-dessus, j’allais te demander… :stuck_out_tongue:

Avec ton indication pour récupérer le mot de passe du broker, le Gladys de mon PC de test se connecte bien au MQTT de prod (mais il faut indiquer dans l’URL du broker « mqtt://IP_DU_MINI_PC:1884 », et pas seulement « IP_DU_MINI… »)

Je poursuis le test…

1 « J'aime »

Alors la connexion au zigbee2mqtt de mon Gladys de prod fonctionne parfaitement. J’ai ajouté le capteur qui apparaît bien, avec 6 indicateurs, et je l’ai utilisé dans le dashboard.

2 petits défauts repérés (avec en dessous la copie d’écran de ce que je vois dans le dashboard) :

  • 4 indicateurs portent exactement le même nom ‹ capteur de niveau ›
  • je ne sais pas à quoi correspondent les 2 indicateurs affichés sous forme de slider

la copie d’écran de mon dashboard :

Et par rapport à ta copie d’écran, je n’ai pas l’unité (‹ m ›) qui s’affiche…

J’ai voulu voir dans les « appareils » de l’intégration zigbee2mqtt pour y éditer les différentes fonctions, mais en fait l’appareil n’y est pas listé. Je ne sais pas si c’est un effet de bord du fait d’être branché sur le broker MQTT distant…
Je le retrouve bien dans « Découverte zigbee », mais j’ai beau cliquer à nouveau sur « sauvegarder », il n’apparait pas dans « Appareils »…

Merci du retour, je regarde tout de suite :slight_smile:

C’est bizarre que tu vois des sliders, si c’est le cas ça veut dire que Zigbee2mqtt renvoie que ces attributes sont en « read_only »: false… :thinking:

Il apparait comment dans Zigbee2mqtt cet appareil ?

Edit: Pour les mètres, j’ai trouvé, c’est moi qui me suit trompé dans l’unité.

@StephaneB J’ai fais un nouveau build avec:

  • Correction de l’unité (mètre)
  • Création de type de fonctionnalité custom pour cet appareil pour avoir des noms personnalisés

Il faut que tu pull/supprime/recréé le container, puis supprime l’appareil dans Gladys / puis re-créé depuis l’onglet découverte pour avoir les changements :slight_smile:

Bizarre, je ne vois aucun changement.

J’ai mis à jour en enchaînant les commandes suivantes : docker container stop … / docker container rm … / docker pull … (qui a bien fait un nouveau téléchargement) / docker run …

Et ensuite dans Gladys je n’ai pas pu supprimé l’appareil zigbee puisqu’il n’apparait pas dans les Appareils dans l’intégration Zigbee2mqtt (comme indiqué plus haut), et je l’ai donc ajouté à nouveau depuis Découverte des appareils…

Une étape manquante de mon côté ?

Ça c’est très bizarre, tu ne dois pas être sur la bonne interface, c’est pas possible qu’un appareil ne soit pas sur la vue appareils mais soit sur le tableau de bord !

Tu me confirmes que tu ne touches pas à ta production ? On touche à l’instance que tu as lancé de test là

Oui, je fais bien les manipulations dans mon instance de test (mais qui est donc connectée au broker de mon instance de prod…)

Pour être plus précis : sur l’ordinateur où j’ai fait le docker run de ta version de devt, je me connecte sur localhost dans la navigateur.

Sinon regarde les logs de ton navigateur quand tu es sur la vue « Appareils » juste pour être sûr qu’il n’y a pas de crash, mais je pense qu’il y a un souci d’installation

Pas d’erreur dans la console du navigateur quand j’affiche la vue Appareils…

Et je repère un autre défaut : dans les paramètres de la maison, je n’arrive pas à ajouter des pièces correctement. Si j’ajoute P1 et P2 puis un clic sur « ajouter » et sur « sauvegarder la maison », ça a l’air ok. Mais si je quitte la page et y revient, les pièces ne sont plus listées. Et si j’ajoute à nouveau P1, j’ai une erreur indiquant « la pièce existe déjà ».

Et en conséquence dans l’intégration zigbee2mqtt, j’ajoutais l’appareil sans sélectionner de pièce, ce qui explique peut-être que l’appareil soit mal ajouté ?

Mais je peux recommencer une installation si besoin. Je dois faire quoi de plus que le docker rm et docker run que j’ai déjà fait plusieurs fois ?

Une cause peut-être : j’avais installé sur ce pc une autre version de devt (celle du si…alors…sinon), et aujourd’hui je n’ai fait que docker rm + docker run avec ta nouvelle version. Est-ce que c’est insuffisant pour supprimer toute trace de la précédente installation, en particulier la base de données ?

Il y a donc peut-être une manip de plus à faire entre docker rm et docker run. Je te laisse me dire…