jeedom-zigate / jeedom-plugin-zigate

Plugin Jeedom for ZiGate key.
MIT License
29 stars 12 forks source link

Inclusion de nouvel équipement impossible - Thermomètre et bouton Xiaomi, Prise Ledvance Smart+, ... #297

Open deepee2m opened 3 years ago

deepee2m commented 3 years ago

Description du bug Je n'arrive plus à inclure de nouveaux appareils au système. Lors de l'inclusion, un nouveau "Device" apparait, avec uniquement la commande "refresh" et "Type" et "Manufacturer" n'apparaissent pas.

Sur RPI3B et SSD depuis 2 ans, j'ai voulu passer mon système en RPI4 B 4Go avec SSD. Une fois le système opérationnel sur le Pi4, j'ai voulu ajouté un nouvel équipement (capteur de température aqara neuf), ce qui n'a pas été possible. Pour m'assurer le l'équipement n'était pas défectueux, j'ai voulu inclure un autre capteur identique neuf que j'avais en stocke, sans meilleur résultat. Problème toujours identique avec un bouton aqara. J'ai une prise Zigbee LEDVANCE Smart+ qui était dans le système, mais que je n'arrive plus non plus à inclure, alors qu'elle apparait dans les équipements de la Zigate. A chaque fois, le nouvel équipement apparait sous le nom "Device", pas de Type, pas de "Manufacturer" et uniquement la commande refresh.

J'ai mis à jour le firmware de la clé Zigate qui était en 3.1c vers 3.1d en suivant la procédure officielle. Sans résultat.

Je me suis dit que le problème venait du RPI4, j'ai zoné sur des forums à la recherche d'infos, j'ai trouvé que cela pouvait provenir de la connexion du SSD sur un port USB3. Après connexion sur un USB2, même résultat. J'ai aussi lu qu'un câble USB de 2 mètres pour connecter la Zigate pouvait résoudre le problème... essai effectué, mais sans meilleur résultat. 1 ou 2 fois l'équipement a été reconnu comme un détecteur de mouvement : "lumi.sensor_motion.aq2" avec les commandes qui vont avec, alors que c'était un capteur de température...

Du coup, je me suis résigné à remettre en service mon RPI3B Je n'y avais plus fait d'inclusion depuis l'été, j'étais quasi certain que tout rentrerait dans l'ordre. Même système qu'avant, même SSD (puisque j'en avais pris un nouveau pour le RPI4), et même constat ! Impossible d'inclure un nouvel équipement ! J'ai changé plusieurs fois le port USB de connexion de la Zigate et du SSD pour être sûr, j'ai downgradé le firmware de la Zigate en 3.1c, puis 3.1a (c'est le firmware que j'avais à la dernière inclusion). Sans succès, j'ai mis à jour l'OS, les dépendances, toujours rien.

Pourtant, j'ai 34 capteurs Xiaomi (fumée, mouvement, ouverture, bouton, cube) qui sont reconnus et fonctionnels. La clé Zigate USB-TTL semble donc bien opérationnelle. C'est uniquement l'inclusion qui pose problème. Il semble y avoir un décalage entre le type de l'équipement et le type "reconnu" par le système.

Les "seuls" éléments qui ont changé depuis mes dernières inclusions sont la version de Jeedom, le firmware de la clé, la version du plugin et lib. En janvier 2020 j'avais commandé un Module USB-TTL CP2102 pour éviter les pertes répétées d'équipements, problème apriori résolu, j'avais fait de nouvelle inclusions avec ce module.

Pour revenir au problème actuel, en regardant le log à l'inclusion d'un capteur lumi.weather, j'ai vraiment l'impression qu'un décalage se fait entre le type de capteur que je cherche à inclure et celui reconnu, on voit qu'il semble reconnaitre un capteur "lumi.sensor_motion.aq2"... :

zigate_Inclusion capteur température.txt

[2020-12-22 00:00:35][DEBUG] : callZiGate permit_join [2020-12-22 00:00:35][DEBUG] : result callZiGate Array ( [success] => 1 [result] => Array ( [status] => 0 [sequence] => 46 [packet_type] => 73 [error] => 02b1 [lqi] => 0 ) ) [2020-12-22 00:00:46][DEBUG] : Array ( [device] => Array ( [addr] => d5fb [generictype] => [info] => Array ( [lqi] => 0 [ieee] => 00158d00046055e6 [rejoin_status] => [addr] => d5fb [mac_capability] => 10000000 ) [discovery] => [endpoints] => Array ( ) [name] => ) [new_addr] => d5fb [old_addr] => 6290 [action] => ZIGATE_DEVICE_ADDRESS_CHANGED ) [2020-12-22 00:00:46][DEBUG] : Recherche eqLogic 00158d00046055e6 [2020-12-22 00:00:46][DEBUG] : eqLogic absent recherche eqLogic d5fb pour migration [2020-12-22 00:00:46][DEBUG] : eqLogic absent, création [2020-12-22 00:00:46][DEBUG] : Mis à jour eqLogic 192 [2020-12-22 00:00:46][DEBUG] : createcommands for 00158d00046055e6 [2020-12-22 00:00:46][DEBUG] : callZiGate available_actions Array ( [0] => d5fb ) [2020-12-22 00:00:46][DEBUG] : result callZiGate Array ( [success] => 1 [result] => Array ( ) ) [2020-12-22 00:00:46][DEBUG] : create action refresh for endpoint 0 [2020-12-22 00:00:50][DEBUG] : Array ( [device] => Array ( [addr] => d5fb [generictype] => [info] => Array ( [lqi] => 0 [ieee] => 00158d00046055e6 [rejoin_status] => [addr] => d5fb [mac_capability] => 10000000 ) [discovery] => [endpoints] => Array ( ) [name] => ) [action] => ZIGATE_DEVICE_UPDATED ) [2020-12-22 00:00:50][DEBUG] : Recherche eqLogic 00158d00046055e6 [2020-12-22 00:00:50][DEBUG] : Mis à jour eqLogic 192 [2020-12-22 00:00:50][DEBUG] : createcommands for 00158d00046055e6 [2020-12-22 00:00:50][DEBUG] : callZiGate available_actions Array ( [0] => d5fb ) [2020-12-22 00:00:50][DEBUG] : result callZiGate Array ( [success] => 1 [result] => Array ( ) ) [2020-12-22 00:00:50][DEBUG] : create action refresh for endpoint 0 [2020-12-22 00:01:03][DEBUG] : Array ( [attribute] => Array ( [data] => 0 [endpoint] => 1 [value] => 0 [attribute] => 0 [unit] => lm [cluster] => 1024 [addr] => d569 [name] => luminosity ) [device] => Array ( [addr] => d569 [generictype] => sensor [info] => Array ( [lqi] => 69 [manufacturer_code] => 4151 [ieee] => 00158d0002ec7f79 [rejoin_status] => 1 [descriptor_capability] => 00000000 [bit_field] => 0100000000000010 [last_seen] => 2020-12-22 00:01:03 [id] => 5 [addr] => d569 [mac_capability] => 10000000 [server_mask] => 0 [power_type] => 0 ) [discovery] => templated [endpoints] => Array ( [0] => Array ( [profile] => 260 [endpoint] => 1 [clusters] => Array ( [0] => Array ( [cluster] => 0 [attributes] => Array ( [0] => Array ( [data] => 5 [name] => application_version [attribute] => 1 [value] => 5 ) [1] => Array ( [data] => 3 [name] => power_source [attribute] => 7 [value] => 3 ) [2] => Array ( [data] => LUMI **[name] => manufacturer** [attribute] => 4 [value] => LUMI ) [3] => Array ( **[data] => lumi.sensor_motion.aq2** [attribute] => 5 **[value] => lumi.sensor_motion.aq2** [name] => type [type] => str ) [4] => Array ( [data] => 0121b30b0328180421a84305212900062405000000000a2100006410000b210000 [attribute] => 65281 [value] => Array ( [1] => 2995 [3] => 24 [4] => 17320 [5] => 41 [6] => 0500000000 [100] => [10] => 0 [11] => 0 ) [name] => xiaomi [type] => dict ) ) ) [1] => Array ( [cluster] => 1024 [attributes] => Array ( [0] => Array ( [data] => 0 [attribute] => 0 [unit] => lm [value] => 0 [name] => luminosity ) ) ) [2] => Array ( [cluster] => 1030 [attributes] => Array ( [0] => Array ( [data] => 1 [type] => bool [expire] => 10 [name] => presence [attribute] => 0 [value] => 1 ) ) ) [3] => Array ( [cluster] => 1 [attributes] => Array ( [0] => Array ( [data] => 29.95 [attribute] => 32 [value] => 2.995 [name] => battery_voltage [type] => float ) ) ) ) [device] => 263 [in_clusters] => Array ( [0] => 0 [1] => 65535 [2] => 1030 [3] => 1024 [4] => 1280 [5] => 1 [6] => 3 ) [out_clusters] => Array ( [0] => 0 [1] => 25 ) ) ) [name] => ) [action] => ZIGATE_ATTRIBUTE_UPDATED ) [2020-12-22 00:01:03][DEBUG] : create command 1.1024.0 [2020-12-22 00:01:04][DEBUG] : Array ( [attribute] => Array ( [data] => 1 [endpoint] => 1 [value] => 1 [expire] => 10 [attribute] => 0 [cluster] => 1030 [addr] => d569 [name] => presence [type] => bool ) [device] => Array ( [addr] => d569 [generictype] => sensor [info] => Array ( [lqi] => 69 [manufacturer_code] => 4151 [ieee] => 00158d0002ec7f79 [rejoin_status] => 1 [descriptor_capability] => 00000000 [bit_field] => 0100000000000010 [last_seen] => 2020-12-22 00:01:03 [id] => 5 [addr] => d569 [mac_capability] => 10000000 [server_mask] => 0 [power_type] => 0 ) [discovery] => templated [endpoints] => Array ( [0] => Array ( [profile] => 260 [endpoint] => 1 [clusters] => Array ( [0] => Array ( [cluster] => 0 [attributes] => Array ( [0] => Array ( [data] => 5 [name] => application_version [attribute] => 1 [value] => 5 ) [1] => Array ( [data] => 3 [name] => power_source [attribute] => 7 [value] => 3 ) [2] => Array ( [data] => LUMI [name] => manufacturer [attribute] => 4 [value] => LUMI ) [3] => Array ( [data] => lumi.sensor_motion.aq2 [attribute] => 5 [value] => lumi.sensor_motion.aq2 [name] => type [type] => str ) [4] => Array ( [data] => 0121b30b0328180421a84305212900062405000000000a2100006410000b210000 [attribute] => 65281 [value] => Array ( [1] => 2995 [3] => 24 [4] => 17320 [5] => 41 [6] => 0500000000 [100] => [10] => 0 [11] => 0 ) [name] => xiaomi [type] => dict ) ) ) [1] => Array ( [cluster] => 1024 [attributes] => Array ( [0] => Array ( [data] => 0 [attribute] => 0 [unit] => lm [value] => 0 [name] => luminosity ) ) ) [2] => Array ( [cluster] => 1030 [attributes] => Array ( [0] => Array ( [data] => 1 [type] => bool [expire] => 10 [name] => presence [attribute] => 0 [value] => 1 ) ) ) [3] => Array ( [cluster] => 1 [attributes] => Array ( [0] => Array ( [data] => 29.95 [attribute] => 32 [value] => 2.995 [name] => battery_voltage [type] => float ) ) ) ) [device] => 263 [in_clusters] => Array ( [0] => 0 [1] => 65535 [2] => 1030 [3] => 1024 [4] => 1280 [5] => 1 [6] => 3 ) [out_clusters] => Array ( [0] => 0 [1] => 25 ) ) ) [name] => ) [action] => ZIGATE_ATTRIBUTE_UPDATED ) [2020-12-22 00:01:04][DEBUG] : create command 1.1030.0

ça me fait un peu peur si un équipement fonctionnel actuellement venait à se désynchroniser...

Pour Reproduire Etapes pour reproduire le problème:

  1. Chercher à inclure un nouvelle équipement
  2. Clic sur Mode inclusion
  3. Vérification des logs
  4. L'équipement créé ne correspond pas au type souhaité et ne possède que la commande refresh

Fonctionnement attendu Inclusion correcte, reconnaissance du type de capteur avec commandes adéquates

Screenshots https://pic.infini.fr/gallery#rKa8pzfs/Rz1wckOx.JPG,inlFSfQT/QbVexStt.JPG,8zhN8o9d/XX3mxq6L.JPG

Informations:

deepee2m commented 3 years ago

Sans réponse jusque là, je complète mon message précédent après de nouveaux tests...

Informations:

Type de l'équipement : lumi.weather ; lumi.sensor_switch.aq2 ; Plug Z3 ; Mi Smart Plug
Version Jeedom : 4.1.19
Version Plugin : 1.7.6
Version lib zigate : 0.40.11
Version du firmware : 3.1d (testé aussi avec 3.1c et 3.1a)

Zigate USB-TTL Silicon_Labs

Toujours impossible d'inclure un nouvel équipement. J'ai exploré différents sites-forums pour trouver des pistes.

Je n'avais qu'une prise LEDVANCE Smart+ pour mailler mon réseau, mais elle n'est plus connectée et impossible à inclure. Avec 34 équipements inclus et fonctionnels, j'ai supposé que mon problème pouvait venir de là, car tout est en étoile sur la Zigate (je sais, c'est moche, on apprend de ses erreurs ;) )

J'ai commandé des prises Mi Smart Plug Zigbee pour mailler le réseau ; j'ai supprimé quelques équipements non essentiels pour arriver à 31 appareils au total sur le réseau pour tenter d'inclure une prise. Rien n'y fait, pas d'inclusion correcte possible. L'inclusion est lancée, mais les infos sur l'équipement ne remontent pas. (Au passage, je ne peux plus inclure les équipements supprimés pour faire de la place)

image

La seule commande créée : image

Fichier de log niveau DEBUG : zigate.txt

On voit dans le log que la communication se fait bien avec d'autres appareils Pour la prise Mi Smart Plug que je cherche à inclure, j'observe cette erreur : [2021-02-09 17:42:44][ERROR][zigate](ZiGate-Decode data) : Device 9723 doesn't receive last command to endpoint 0 cluster 5: 0xa7 J'observe aussi : rejoin_status:False [2021-02-09 17:42:51][DEBUG][zigate](ZiGate-Decode data) : Device Announce RESPONSE 0x004D - Device announce : addr:9723, ieee:04cf8cdf3c77e6e4, mac_capability:10001110, rejoin_status:False, lqi:0

Est-ce que ça ne pourrait pas venir de là, puisque d'après mes lectures la Zigate pourrait gérer jusqu'à 200 appareils, à force de tests l'eqLogic est passé au dessus...? [2021-02-09 18:42:51][DEBUG] : Mis à jour eqLogic 246 Tous mes équipements fonctionnels ont un numéro eqLogic inférieur à 200.

J'avoue ne pas être très motivé pour faire un reset de la Zigate avec tous mes équipements et réinclure et scénarios à mettre à jour... Surtout si je me retrouve encore à ne rien pouvoir inclure !

Bref, je sèche, si vous avez des pistes et/ou des idées, j'en serais ravi !