[Résolu] Optimisation: Moes Vibration Sensor.

Forum dédié au plugin ZigBeeForDomoticZ : installation, paramétrage, utilisation, interfaces ...
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Optimisation: Moes Vibration Sensor.

Message par lost »

Bonsoir,

Je me doutais que cela allait fonctionner après les derniers essais, absolument aucune urgence sur un capteur dont je me suis passé jusque là! Pas vu comment faire pour changer la base objets certifiés (et seulement cela?) d'entrée, je découvre zigbee et le plugin alors je suis encore un peu "boulet" :oops:
Je chercherais avec les bons mots clef comment faire mais par contre un lien vers le diff pour le support m'intéresserait à la fin, histoire de voir ou ce genre de customisation est rangé pour le futur.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Optimisation: Moes Vibration Sensor.

Message par Keros »

Mets à jour le plugin depuis le WebUI, la base de donnée des objets devrait être mise à jour en même temps.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Optimisation: Moes Vibration Sensor.

Message par pipiche »

il s'agit d'un fichier de configuration que va utiliser le plugin pour traiter le device correctement

https://github.com/zigbeefordomoticz/z4 ... 3550be933c


Pour plus d'infomrations: https://github.com/zigbeefordomoticz/wi ... on_file.md
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Optimisation: Moes Vibration Sensor.

Message par lost »

Hello,

L'upgrade m'amène désormais à ceci: Plugin: 7.1.008 [4.218] (plugin inchangé mais BDD objets MAJ donc).
Qui inclue la sensi ajoutée entre temps (pas touché pour l'instant). J'ai qd même eu un warning sur un pb de droit côté répertoire cache pip mais qui semblait sans conséquence sur la suite (juste inutilisé, d'ailleurs le répertoire du message n'existe tout simplement pas!)...

Par contre, le widget crée côté Domoticz initialement à "Closed" reste toujours coincé à "Open" dès la première vibration.

Si j'active les logs, je n'ai plus qu'un seul message (et en particulier plus qu'1 seul au lieu de 2 dans ce qui me semblait être lié à un début/fin de détection de vibration ; d'ailleurs je me demande le sens du paramètre "resetMotiondelay" si la fin de vibration est envoyée?).

Ci dessous le log filtré pour le ré-appairage avec le dernier message qui est désormais le seul reçu pour une vibration (3 auparavant, cf messages précédents) et seulement si j'active le debug (plus rien sinon, des essais antérieurs n'apparaissent plus alors qu'avant il y avait toujours 1 message sans debug actif):

Code : Tout sélectionner

sudo grep "50d1" PluginZigbee_47.log
2024-02-16 06:44:33,580 INFO    :b'--> Adding device 50d1 in self.DevicesInPairingMode'
2024-02-16 06:44:33,582 INFO    :b"--> ['50d1']"
2024-02-16 06:44:33,586 INFO    :b'[None] NEW OBJECT: 50d1 None'
2024-02-16 06:44:33,593 INFO    :b'ReadAttributeRequest_0000_for_tuya 50d1'
2024-02-16 06:44:34,173 INFO    :b'[-] NEW OBJECT: 50d1 Active Endpoint Response Ep: 01 LQI: 192'
2024-02-16 06:44:34,175 INFO    :b'[-] NEW OBJECT: 50d1 Request Simple Descriptor for Ep: 01'
2024-02-16 06:44:34,305 INFO    :b'[-] NEW OBJECT: 50d1 Simple Descriptor Response EP: 0x01 LQI: 192'
2024-02-16 06:44:34,306 INFO    :b'[-]    NEW OBJECT: 50d1 ProfileID 0104'
2024-02-16 06:44:34,308 INFO    :b'[-]    NEW OBJECT: 50d1 ZDeviceID 0402'
2024-02-16 06:44:34,309 INFO    :b'[-]    NEW OBJECT: 50d1 Application Version 0001'
2024-02-16 06:44:34,310 INFO    :b'[-]    NEW OBJECT: 50d1 Cluster IN Count: 03'
2024-02-16 06:44:34,312 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 1: 0001 (Power Configuration)'
2024-02-16 06:44:34,314 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 2: 0500 (IAS Zone)'
2024-02-16 06:44:34,316 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 3: 0000 (Basic)'
2024-02-16 06:44:34,317 INFO    :b'[-]    NEW OBJECT: 50d1 Cluster OUT Count: 02'
2024-02-16 06:44:34,319 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster Out 1: 0019 (Over-the-Air Upgrade)'
2024-02-16 06:44:34,320 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster Out 2: 000a (Time)'
2024-02-16 06:44:34,383 INFO    :b'Decode8046 - Match Descriptor response: SQN: 00 Status: 00 Nwkid: 50d1 Lenght: 01 List: 01'
2024-02-16 06:44:34,384 INFO    :b'Decode8046 - Match Descriptor response Nwkid: 50d1found Ep: 01 Matching 0500'
2024-02-16 06:44:34,874 INFO    :b'[-] NEW OBJECT: 50d1 Active Endpoint Response Ep: 01 LQI: 192'
2024-02-16 06:44:35,550 INFO    :b'[-] NEW OBJECT: 50d1 Simple Descriptor Response EP: 0x01 LQI: 192'
2024-02-16 06:44:35,552 INFO    :b'[-]    NEW OBJECT: 50d1 ProfileID 0104'
2024-02-16 06:44:35,553 INFO    :b'[-]    NEW OBJECT: 50d1 ZDeviceID 0402'
2024-02-16 06:44:35,555 INFO    :b'[-]    NEW OBJECT: 50d1 Application Version 0001'
2024-02-16 06:44:35,556 INFO    :b'[-]    NEW OBJECT: 50d1 Cluster IN Count: 03'
2024-02-16 06:44:35,558 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 1: 0001 (Power Configuration)'
2024-02-16 06:44:35,560 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 2: 0500 (IAS Zone)'
2024-02-16 06:44:35,562 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster In 3: 0000 (Basic)'
2024-02-16 06:44:35,563 INFO    :b'[-]    NEW OBJECT: 50d1 Cluster OUT Count: 02'
2024-02-16 06:44:35,564 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster Out 1: 0019 (Over-the-Air Upgrade)'
2024-02-16 06:44:35,566 INFO    :b'[-]       NEW OBJECT: 50d1 Cluster Out 2: 000a (Time)'
2024-02-16 06:44:36,680 INFO    :b'Decode8400 - IAS Zone Enroll Request NwkId: 50d1/01 Sqn: 48 ZoneType: 0015 Manuf: 1002'
2024-02-16 06:44:37,078 INFO    :b'[0] NEW OBJECT: 50d1 Model Name: TS0210'
2024-02-16 06:44:37,086 INFO    :b'[0] NEW OBJECT: 50d1 Manufacturer Name: _TZ3000_bmfw9ykl'
2024-02-16 06:44:40,820 INFO    :b'Decode8400 - IAS Zone Enroll Request NwkId: 50d1/01 Sqn: 49 ZoneType: 0015 Manuf: 1002'
2024-02-16 08:28:21,737 INFO    :b'Zcl Command | Default_Response (Raw) | 50d1 | 01 | 0500 | Unknown cluster | 00| 50| 00| None| 09'
Je n'arrive par contre pas à retrouver, dans le chemin du plugin, le fichier de configuration ajouté. Mais les paramètres sont bien là et l'objet apparait bien comme optimisé avec son paramétrage possible comme indiqué.
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Optimisation: Moes Vibration Sensor.

Message par pipiche »

peux-tu passer le plugin en mode debug sur les paramètres suivants:

- Input
- Cluster
Capture d’écran 2024-02-16 093609.png
Capture d’écran 2024-02-16 093609.png (65.73 Kio) Consulté 379 fois
les logs se trouvent dans le repertoire Logs du plugin

La base des objets certifiés est en fait installé comme un package indépendant du plugin. Donc les fichiers se trouvent probablement un truc du genre (en fonction du système)

Code : Tout sélectionner

/usr/local/liub/python3......./z4d-certified ....
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Optimisation: Moes Vibration Sensor.

Message par lost »

J'avais peut-être merdé en laissant un filtre actif résultant d'essais antérieurs ce matin (tes options seules ne donnant pas de logs, ça m'a mis la puce à l'oreille)... :idea:

En ajoutant les 2 options étendues et le filtre MatchingNwkId à ffff, j'ai désormais ces logs sur une vibration:

Code : Tout sélectionner

2024-02-16 12:20:16,748 INFO    :b'zigbee_receive_message - MsgType: 8002, Data: 000104050001010250d1020000095e00010400000000, LQI: 196'
2024-02-16 12:20:16,751 INFO    :b'Zcl Command | Default_Response (Raw) | 50d1 | 01 | 0500 | Unknown cluster | 00| 5e| 00| None| 09'
2024-02-16 12:20:16,759 INFO    :b'Decode8401 - Reception Zone status change notification: 5e0105000250d1040100000000'
2024-02-16 12:20:16,760 INFO    :b'Decode8401 - MsgSQN: 5e MsgSrcAddr: 50d1 MsgEp:01 MsgClusterId: 0500 MsgZoneStatus: 0401 MsgExtStatus: 00 MsgZoneID: 00 MsgDelay: 0000'
2024-02-16 12:20:16,761 INFO    :b'IAS Zone for device:50d1  - alarm1: 1, alarm2: 0, tamper: 0, battery: 0, Support Reporting: 0, restore Reporting: 0, trouble: 0, acmain: 0, test: 0, battdef: 0'
2024-02-16 12:20:16,763 INFO    :b'get_device_config_param: 50d1 Config: MotionViaIASAlarm1'
2024-02-16 12:20:17,200 INFO    :b'zigbee_receive_message - MsgType: 8011, Data: 0050d1, LQI: 192'
EDIT:
En regardant la structure du fichier de config et en comparant à d'autres (pris l'archive sur le github) qui fonctionnent en mode MotionViaIASAlarm1, il y a toujours au moins un ClusterToBind spécifié (et souvent le 500/IAS).
Niveau ReadAttributes, si c'est des masques binaires, il y en a un répété.
Je ne l'avais pas indiqué, mais c'est un capteur sur batterie et cela semble se préciser (BatteryDevice).
Il semble que pour les senseurs qui donnent l'info de fin d'une détection/vibration, si c'est bien le cas ici, mettre le paramètre resetMotiondelay à 0 soit requis. J'ai tenté vu qu'il est en paramètre mais c'est sans effet...
Plus anecdotique, peut-être conserver en commentaire l'info Manufacturer Name en plus du Model Name visibles à l'inclusion:

Code : Tout sélectionner

2024-02-16 06:44:37,078 INFO    :b'[0] NEW OBJECT: 50d1 Model Name: TS0210'
2024-02-16 06:44:37,086 INFO    :b'[0] NEW OBJECT: 50d1 Manufacturer Name: _TZ3000_bmfw9ykl'
Il semble en effet que pour un model donné, on ait parfois besoin de l'info manufacturer ensuite car des variations sont introduites, j'ai vu qq exemples. Pas forcément le spécifier d'entrée mais pour se rappeler le modèle précis validé au cas ou il faille un jour multiplier les configs sans risquer de casser l'existant.

Je n'ai pas d'autres idées, pas mal de configs ont été ajoutées vs lien/doc cité plus haut et sont non documentés. Je dis donc peut-être des conneries en raisonnant essentiellement par analogie. :mrgreen:

Pour tester des trucs localement, par contre, il semble y avoir un fichier RECORD qui contient à le lire les "sha256,taille" des fichiers de conf. Je me doute que si on modifie la conf, il faut mettre cela à jour sinon on se fait jeter. Pb, ca ressemble pas à un un sha256:

Code : Tout sélectionner

root@rasDomo:/home/domo/domoticz/plugins/Domoticz-Zigbee/Logs# grep TS0210 /usr/local/lib/python3.9/dist-packages/z4d_certified_devices-4.218.dist-info/RECORD 
z4d_certified_devices/Certified/Tuya/TS0210.json,sha256=wI_2KvnfFCGral8yqNK5vrMADrsQ3vFfhiwf0viIbAE,860
root@rasDomo:/home/domo/domoticz/plugins/Domoticz-Zigbee/Logs# sha256sum /usr/local/lib/python3.9/dist-packages/z4d_certified_devices/Certified/Tuya/TS0210.json
c08ff62af9df1421ab6a5f32a8d2b9beb3000ebb10def15f862c1fd2f8886c01  /usr/local/lib/python3.9/dist-packages/z4d_certified_devices/Certified/Tuya/TS0210.json
root@rasDomo:/home/domo/domoticz/plugins/Domoticz-Zigbee/Logs# ls -al /usr/local/lib/python3.9/dist-packages/z4d_certified_devices/Certified/Tuya/TS0210.json
-rw-r----- 1 root root 860 Feb 16 06:35 /usr/local/lib/python3.9/dist-packages/z4d_certified_devices/Certified/Tuya/TS0210.json
La taille de 860 octets colle, mais la somme de contrôle est bizarre: Pas stockée en hexa, me semblait l'être en ascii au vu des caractères alpha... mais w=0x77 != 0xc0 pour le 1er, ce qui ne colle pas. Si tu sais comment c'est calculé/encodé...
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Optimisation: Moes Vibration Sensor.

Message par pipiche »

Ok, j'ai fait une erreur dans le fichier de config, sinon je te confirme que la détection fonctionne.

Ca devrait etre bon avec la [4.219]

il faut que tu refasses l'appairage from scratch
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Optimisation: Moes Vibration Sensor.

Message par lost »

Champagne! :D
Ça parait OK avec cette base 4.219, faudra que je tâtonne un peu avec la sensi faute de connaître le min/max admissible car par défaut c'est peut-être un peu haut (mon fils descendant de son pas discret l'escalier pas loin de la porte fait tilter le capteur... Moi avec 20kg de plus j'y arrive pas, il est très fort!)! En tout cas il parait sensible au moins car la porte est plutôt massive et il fait le job.
Merci de ta persévérance!
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Optimisation: Moes Vibration Sensor.

Message par pipiche »

Je te tiens au courant pour la sensibilite car pas implémenté à ce stade
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.

Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Optimisation: Moes Vibration Sensor.

Message par lost »

J'ai MAJ ce matin pour la 7.009, tu me diras si c'est inclus que je teste. Mais la sensi par défaut est pas mal car la mise en branle de la serrure multipoint en ouvrant avec la clef suffit à déclencher, donc même avec une ouverture "fine" sans secouer la porte (un doute que j'avais vs un simple capteur d'ouverture classique) c'est imparable. :D

MAJ sans souci, au passage, merci!

EDIT: En fait, il semble que ce capteur pose de nouveau souci après MAJ. Au premier déclenchement il est resté 'On' depuis le début d'après midi malgré de multiples ouverture de porte. Bizarre car niveau paramètres rien de changé?!!

Niveau logs plugins, erreurs en boucle:

Code : Tout sélectionner

2024-02-25 21:28:00.088  Error: Zi-Stick: Call to function 'onHeartbeat' failed, exception details:
2024-02-25 21:28:00.095  Error: Zi-Stick: Traceback (most recent call last):
2024-02-25 21:28:00.095  Error: Zi-Stick:   File "/home/domo/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 1543, in onHeartbeat
2024-02-25 21:28:00.095  Error: Zi-Stick:     _plugin.onHeartbeat()
2024-02-25 21:28:00.095  Error: Zi-Stick:   File "/home/domo/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 896, in onHeartbeat
2024-02-25 21:28:00.095  Error: Zi-Stick:     processListOfDevices(self, Devices)
2024-02-25 21:28:00.095  Error: Zi-Stick:   File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/heartbeat.py", line 878, in processListOfDevices
2024-02-25 21:28:00.095  Error: Zi-Stick:     processKnownDevices(self, Devices, NWKID)
2024-02-25 21:28:00.096  Error: Zi-Stick:   File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/heartbeat.py", line 613, in processKnownDevices
2024-02-25 21:28:00.096  Error: Zi-Stick:     sanity_check_of_param(self, NWKID)
2024-02-25 21:28:00.096  Error: Zi-Stick:   File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/paramDevice.py", line 108, in sanity_check_of_param
2024-02-25 21:28:00.096  Error: Zi-Stick:     DEVICE_PARAMETERS[param](self, NwkId, value)
2024-02-25 21:28:00.096  Error: Zi-Stick: TypeError: ias_CurrentZoneSensitivityLevel() missing 1 required positional argument: 'value'
Je vais devoir arrêter le plugin car les logs domoticz eux aussi explosent et mon tmpfs n'est pas taillé pour:

Code : Tout sélectionner

 2024-02-25 21:36:36.067 Error: Zi-Stick: Traceback (most recent call last):
2024-02-25 21:36:36.067 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 1543, in onHeartbeat
2024-02-25 21:36:36.067 Error: Zi-Stick: _plugin.onHeartbeat()
2024-02-25 21:36:36.067 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 896, in onHeartbeat
2024-02-25 21:36:36.067 Error: Zi-Stick: processListOfDevices(self, Devices)
2024-02-25 21:36:36.067 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/heartbeat.py", line 878, in processListOfDevices
2024-02-25 21:36:36.067 Error: Zi-Stick: processKnownDevices(self, Devices, NWKID)
2024-02-25 21:36:36.067 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/heartbeat.py", line 613, in processKnownDevices
2024-02-25 21:36:36.067 Error: Zi-Stick: sanity_check_of_param(self, NWKID)
2024-02-25 21:36:36.067 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/Modules/paramDevice.py", line 108, in sanity_check_of_param
2024-02-25 21:36:36.068 Error: Zi-Stick: DEVICE_PARAMETERS[param](self, NwkId, value)
2024-02-25 21:36:36.068 Error: Zi-Stick: TypeError: ias_CurrentZoneSensitivityLevel() missing 1 required positional argument: 'value' 
Rien d'indispensable en zigbee pour le moment de toutes manières, mais il semble que les sensibilités soient concernées pour le type d'alarme utilisé.
Répondre