Message d'erreur zigbee2mqtt

@AlexTrovato
Dans l’écran “Découverte zigbee”, j’ai ce message d’erreur que je n’arrive pas à supprimer.
Il s’agit de l’enregistrement de ma sirène, il manque la 2ième fonctionnalité (Sirene), d’où l’erreur d’enregistrement.
J’ai restauré des anciennes sauvegardes sans résultat, j’ai de même restauré une ancienne BDD, idem.
Y a t il une solution ?

Salut, tu essaie d’intégrer quel device zigbee ?
Je vois deja qu’il y a un problème d’affichage.

@AlexTrovato
En fait, tout est de ma faute, j’ai fait une erreur (quand on ne connait pas, on ne touche pas !) mais j’ai touché quand même !
Après avoir updaté le fichier binaryType.js avec le code de la sirène :
alarm: {
feature: {
category: DEVICE_FEATURE_CATEGORIES.SIREN,
type: DEVICE_FEATURE_TYPES.SIREN.BINARY,
},
},
celle-ci a bien été reconnue dans Gladys. Par contre, la commande On/Off ne fonctionnait pas. J’ai vérifié qu’elle fonctionnait avec l’interface web 8080, ce qui était le cas.
J’ai alors essayé de remplacer SIREN par SWITCH, mais j’ai peut-être fait une faute de frappe, c’est la raison pour laquelle, il n’y a qu’une fonctionnalité (celle de la batterie)
Je suis bloqué maintenant, car je n’arrive plus à faire reconnaître ma sirène.
Merci de ton aide.

edit : je viens de réussir à rétablir la situation, le message d’erreur a disparu, ma sirène est bien reconnue, mais la commande ON/OFF ne fonctionne pas.

Donc conclusion, il n’y a pas de problème ?

@AlexTrovato
edit :
Ma sirène est bien reconnue par Gladys avec 2 de ses fonctionnalités : “Batterie” et “Sirène ON/OFF” comme on peut le voir sur la copie d’écran plus haut.
Par contre je ne peux la commander, ni directement à partir du dashboard, ni dans une scène avec un déclencheur.
Je te confirme que la sirène fonctionne bien, par ailleurs, puisque je peux la commander grâce à l’interface zigbee2mqtt sur le port 8080.
Merci de ton avis éclairé.

Je pense que c’est lié à cette PR

Si tu as le moyen de vérifier :wink:

Merci @AlexTrovato
J’ai essayé les 2 versions de code :
zigbeeValue = value ? ON:OFF;
ou bien
zigbeeValue = value ? {"state": "ON"} : {"state": "OFF"};

et j’obtiens le même message d’erreur dans l’interface z2m:8080 lorsque je commande la sirène à partir de Gladys :

Par contre, si je commande la sirène à partir de l’interface z2m, la sirène fonctionne, Gladys reçoit bien la commande et j’obtiens le log de confirmation :

Si tu veux que je regarde autre chose, dans la limite de mes compétences, je suis à ta disposition.

Bonne soirée.

@AlexTrovato Excuse moi de revenir vers toi pour mon problème d’intégration de sirène Tuya.
Penses tu qu’il peut y avoir une solution à terme, ou si je laisse tomber. Je souhaitais l’utiliser pour une alarme de maison, donc j’aurais bien voulu que ça marche. Elle est bien reconnue par Gladys en updatant le fichier binaryType.js, mais l’expose ON/OFF ne répond pas.
Je te remercie

Si je lis bien, c’est ‘true’ et ‘false’ que tu dois envoyer (en général, 1 et 0 sont équivalents)
Et même ‘alarm’ 1

C’est bien ça, c’est un message binary (True ou False)

Désolé j’ai pas eu le temps de regarder mais non on n’abandonne pas. Hésite pas à me relancer car j’ai pas souvent du temps disponible, du coup j’oublie

Oui j’ai demandé de faire l’ajout de ces valeurs true/false j’ai eu le même problème pour piloter mon IPX800V5 qui attends des valeurs true/false, j’ai contourné en passant par node-red !

Salut, je viens de proposer une gestion des valeurs spécifiques.

A voir ici : https://github.com/GladysAssistant/Gladys/pull/1383/commits/05332506707169b7969583681071894d41374ad6

Il va falloir re-ajouter/update le device.

Ce que j’ai fait :
Lors de la découverte d’un device Zigbee, celui-ci fournit les valeur qu’il attend pour ON/OFF.
Je conserve donc ce mapping ON/OFF dans un attribut du device, et l’utilise lors que la lecture/écriture de la valeur.

Pourquoi :
chaque device peut gérer des valeurs différentes, et zigbee2mqtt ne fait cette conversion par défaut, c’est donc à nous de le faire.
Pour l’alarme de TS0216, le device attend “true/false”, par défaut, c’est “ON/OFF”, pour d’autres, j’ai même vu “START/STOP”, alors que ce sont tous des binary devices.

@pierre-gilles je te laisse confirmer que ce fonctionnement n’est pas dérangeant dans la vision Gladys.
On aurait pu avoir des informations au niveau feature plutôt que sur le device, mais le modèle actuel n’autorise pas cela.

1 « J'aime »

@AlexTrovato Merci Alex, je sais que tu t’investis beaucoup, donc il n’y a pas de problème, le principal c’est d’y arriver, donc prends ton temps en fonction de tes dispos.
Malheureusement, je suis absent pour une semaine, je ne pourrai donc pas tester ta PR tout de suite.
A suivre !

Vu que c’est de l’information fournie par Zigbee2mqtt dans le JSON, ça me choque pas de le stocker dans les params :slight_smile:

Sinon si c’était un truc manuel je l’aurais stocké dans le code, mais effectivement là si c’est automatique les params c’est très bien.

Pour la review de la PR plus finement, je serais preneur d’une review de quelqu’un qui a aussi bossé sur ce service, @cicoub13 par exemple :smiley:

Salut @jparbel
C’est quoi la référence de ta sirène Tuya ?
Comment l’as tu intégré dans Gladys?
Il faut la passerelle Tuya ?

J’ai modifié pour ne plus stocker l’information car lorsque que Gladys se connecte au mqtt de zigbee, il récupère les devices au format z2m et les stock.
Donc je les réutilise, fais le mapping inverse, pour envoyer le bon message.
Donc ça reste en RAM, et on est sûr d’avoir les dernières informations fraîches, au cas où les devices z2m evoluent.
@jparbel tente de tester l’image générée atrovato/gladys:zigbee2mqtt

EDIT : appel aux autres motivés pour également tester cette nouvelle image (que ce soit pour tester la compatibilité sur de nouveaux device, ou la non regression sur ceux qui fonctionnent déjà), merci à tous :slight_smile:

1 « J'aime »

Est-ce qu’elle est basée sur la dev de gladys ou la prod ?
Car je teste la dev en ce moment, pour savoir si je peux continuer les deux en paralèlle !

Elle est basée sur l’image dev, donc avec les derniers upgrade.

2 « J'aime »