KiwiHC16 / Abeille

Abeille pour Jeedom (Gateway ZiGate)
GNU Affero General Public License v3.0
60 stars 52 forks source link

Device name too long: one char too many #1352

Closed KiwiHC16 closed 3 years ago

KiwiHC16 commented 4 years ago

Pensez à la cagnotte: http://kiwihc16.free.fr/index.html#cagnotte Donate

KiwiHC16 commented 4 years ago
KiwiHC16 commented 4 years ago

I think the correction was: https://github.com/KiwiHC16/Abeille/commit/110070a94fdb57abec1bc017a1b3e290c0c85613

battousai90 commented 4 years ago

1286

Pour le problème avec Homebridge, cela vient du fait que certains périphériques retourne un nom avec un charactère spécial : lumi.sensor_magnet.aq2� TRADFRI bulb E27 W opal 1000lm�

@battousai90: quelle version du firmware utilises tu quand tu as ce soucis ? Je suppose 3.1D mais je veux etre sure. Est ce que tu te souviens d'avoir ce soucis dans un firmware precedent ?

Firmware 3.1d, firmware précédent 3.0f et aucuns soucis.

KiwiHC16 commented 4 years ago

Une beta sera dispo demain si tu veux essayer. Surtout faire un backup de jeedom avant.

battousai90 commented 4 years ago

Entendu je testerai ca et ferai un retour ;)

mickadam29 commented 4 years ago

Le firmware 3.1D retourne en effet des noms avec des caractères "spéciaux" Par exemple ] Je n'avais aucun souci auparavant.

tcharp38 commented 4 years ago

J'ai un doute car j'ai au moins un de tes equipements... lumi.sensor_magnet.aq2 et je vois pas ce pb. En outre j'ai du mal à croire que le FW est coupable. Tu as confirmé avec un essai en 3.1c ?

mickadam29 commented 4 years ago

Je vais faire le retour en 3.1C Aucun souci. Tout réagissait rapidement Les équipements remontent maintenant avec ces noms par exemple Tu peux voir les caractères à la fin. Ils étaient peut-être présents avant mais jamais vu. J'ai viré une ampoule IKEA qui serait peut-être coupable d'un mauvais routage ? D'autres anomalies sont apparues. Seconde image : Plus de placement réseau. En tout cas tout est apparu après le passage 3.1c vers 3.1d.

image image

Et cela aussi

image

Mais tout n'est peut-être pas lié. Juste que c'est pénible car cela touche les interrupteurs !

tcharp38 commented 4 years ago

C 'est pas simple à isoler LA cause du pb. Parfoit on cumule trop de changements et c'est galère. Quoi qu'il en soit je suis maintenant en 3.1d, et j'ai ce capteur de door. Pas vu du tout ce caractere de fin. Peut etre que demain tu pourra nous dire si le souci est toujours la. Il y a eu tellement de modifs depuis..

battousai90 commented 4 years ago

De mon côté je n’ai pas les characters spéciaux sur tous les périphériques. J’ai 8 détecteurs d’ouvertures xiaomi Aqara 2 et seulement 4 on le characters à la fin. Pareil pour les Ampoules IKEA.

Envoyé de mon iPhone

Le 9 nov. 2020 à 20:08, mickadam29 notifications@github.com a écrit :

 Je vais faire le retour en 3.1C Aucun souci. Tout réagissait rapidement Les équipements remontent maintenant avec ces noms par exemple Tu peux voir les caractères à la fin. Ils étaient peut-être présents avant mais jamais vu. J'ai viré une ampoule IKEA qui serait peut-être coupable d'un mauvais routage ? D'autres anomalies sont apparues. Seconde image : Plus de placement réseau. En tout cas tout est apparu après le passage 3.1c vers 3.1d.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

mickadam29 commented 4 years ago

C'est surtout très embêtant car les scénarios ne fonctionnent plus puisque les noms ne sont pas correctement reconnus. Si j'exécute les scénarios liés à l'appui des boutons en manuel, je pilote correctement le ON/OFF des ampoules. Je n'avais pas ce problème jusqu'à hier matin, passage de 3.1c à 3.1d. 37 objets dans la zigate. La mémoire commence peut-être à saturer. Comme l'ajout des prises ajoute des routeurs je vais patienter. Mais tant que les noms seront "parasités" mes scénarios risquent de ne plus fonctionner. Je suis surtout embêté par un interrupteur double sur pile Xiaomi que j'ai réinclus quand je me suis aperçu qu'il ne pilotait plus l'éclairage. Je vais faire un request de son nom pour vérifier s'il correspond à celui qui existait à la création du scénario.

mickadam29 commented 4 years ago

Je confirme pour les noms : 3 interrupteurs / 2 portent le nom lumi.remote.b286acn01 et le 3ème qui n'est plus pris en compte dans les scénario est passé à lumi.remote.b286acn01T Le T fait toute la différence ;-) @battousai90. Peux-tu vérifier si tes objets avec les caractères spéciaux sont liés à des scénarios, s'ils fonctionnent ou pas ? De mon côté, je vais replacer mon objet sur mon scénario en espérant que le nom ne changera pas et qu'il conservera le T à la fin. Ca va être très compliqué d'appairer des objets avec nom qui change !! Le modèle json ne sera jamais bon. J'espère que qq1 trouvera une cause et une solution à ce bug. J'ai d'autres objets à inclure dans mon réseau. En tout cas merci à tous ceux qui font vivre la zigate et le plugin Abeille.

battousai90 commented 4 years ago

Pas de scénario de mon côté, j’utilise ceux de maison par l’intermédiaire de home bridge. Par contre j’ai beaucoup de groupe pour lié les interrupteur IKEA aux ampoules. A creuser.

Envoyé de mon iPad

Le 9 nov. 2020 à 20:59, mickadam29 notifications@github.com a écrit :

 Je confirme pour les noms : 3 interrupteurs / 2 portent le nom lumi.remote.b286acn01 et le 3ème qui n'est plus pris en compte dans les scénario est passé à lumi.remote.b286acn01T Le T fait toute la différence ;-) @battousai90. Peux-tu vérifier si tes objets avec les caractères spéciaux sont liés à des scénarios, s'ils fonctionnent ou pas ? De mon côté, je vais replacer mon objet sur mon scénario en espérant que le nom ne changera pas et qu'il conservera le T à la fin. Ca va être très compliqué d'appairer des objets avec nom qui change !! Le modèle json ne sera jamais bon. J'espère que qq1 trouvera une cause et une solution à ce bug. J'ai d'autres objets à inclure dans mon réseau. En tout cas merci à tous ceux qui font vivre la zigate et le plugin Abeille.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

mickadam29 commented 4 years ago

Ma crainte est fondée. L'inclusion se passe mal. Le nom du modèle à un "i" à la fin. Donc aucun modèle json à ce nom aléatoire Et pourtant je suis reparti d'une sauvegarde du 7/11. A cette date aucun objet n'avait de caractère supplémentaire. Tout va bien tant que je n'appuie pas sur cet interrupteur. Peut-être est-ce le seul qui me pose problème Je vais restaurer à l'état de 19H ce jour. Sans toucher à cet interrupteur. On verra bien. Mais je sais dorénavant que je ne peux plus ajouter d'équipement.

2020-11-09 21:51:32 Abeille IEEE-Addr; adresse IEEE 00158D0002B48B91 pour 4915 qui remonte est deja dans l objet eb46 - Couloir VV-CH, on fait la mise a jour automatique    
  2020-11-09 21:51:23 Abeille getJSonConfigFilebyDevices: filename not found: /var/www/html/plugins/Abeille/resources/AbeilleDeamon/lib/../../../core/config/devices/remote.b286acn01i/remote.b286acn01i.json will send back default template.    
  2020-11-09 21:51:23 Abeille Création d un nouvel objet Abeille (Abeille1/2f0b) en cours, dans quelques secondes rafraîchissez votre dashboard pour le voir.
KiwiHC16 commented 4 years ago

I think the correction was: https://github.com/KiwiHC16/Abeille/commit/110070a94fdb57abec1bc017a1b3e290c0c85613 Une beta sera dispo demain si tu veux essayer. Surtout faire un backup de jeedom avant.

mickadam29 commented 4 years ago

Je testerai après avoir vérifié la stabilité, pour être certain. J'ai restauré au 7/11 et j'ai retrouvé des noms erronés. Mais moins. Et pour la plupart les routeurs (Prise Ikea et Sirène PSE03) J'ai 2 interrupteurs Xiaomi qui fonctionnent très bien tant que je ne sollicite pas le 3ème qui me pose problème. Car sinon, ils ne fonctionnent plus. Reboot et ou redémarrage du plugin. Si je dois condamner un interrupteur provisoirement ça ira. Reste à voir les nouvelles inclusions. Je te fais un retour dès que j'ai testé la beta.

mickadam29 commented 4 years ago

@KiwiHC16 Le souci concernerait des équipements IKEA (après lecture il semblerait que non) ? Car effectivement, j'ai ajouté des prises. Celles-ci ont toutes un caractère supplémentaire. Je les ai remise en service cette semaine pour étendre le réseau et éviter des timeout sur des équipements sur pile. Merci à toi

KiwiHC16 commented 4 years ago

Ca peut toucher n importe quel equipement, c est generique.

mickadam29 commented 4 years ago

Je viens de corriger mon poste précédent et tombe sur ta réponse après. Concrètement que va-t-il se passer pour les objets qui ont été mal inscrits ? Il faudra les réinclure ? Ou ta version beta va prendre cela en charge ? Et donc rien à voir avec la version 3.1d ?

mickadam29 commented 4 years ago

Dis-moi c'est normal d'avoir ça sans que la zigate ne soit en inclusion ? (Et ce foutu caractère W en plus mais ça j'ai compris.) Je vais regarder l'objet, mais je risque de pas savoir à quoi il correspond du coup. Remote.b286acn01, si tu connais. Ah ben ça s'est curieux, ca correspond à un interrupteur comme celui qui me pose problème. Et ça doit faire une heure que j'ai tenté de le réinclure avec mes backup/restauration.

2020-11-09 22:42:48 Abeille getJSonConfigFilebyDevices: filename not found: /var/www/html/plugins/Abeille/resources/AbeilleDeamon/lib/../../../core/config/devices/remote.b286acn01W/remote.b286acn01W.json will send back default template.    
  2020-11-09 22:42:48 Abeille Création d un nouvel objet Abeille (Abeille1/4915) en cours, dans quelques secondes rafraîchissez votre dashboard pour le voir.
tcharp38 commented 4 years ago

Sans quelle soit en inclusion ?! Je ne maitrise pas encore tout mais ca je pige pas. Tu faisais quoi au moment ou ce message est apparu ?

mickadam29 commented 4 years ago

Rien, c'est ça qui est étrange. Je cherchais l'objet avec l'adresse courte que tu m'as demandé sur l'autre issue. Mais uniquement en visu sur les noms. En même temps ma zigate est au sous-sol. Mais suis certain qu'elle n'était pas en inclusion et encore moins d'avoir appuyé sur l'interrupteur qui est dans un couloir à 5m de moi

mickadam29 commented 4 years ago

Pour info, j'ai oublié de préciser que JEEDOM est en version 4.0.61

tcharp38 commented 4 years ago

Peut etre qu'on cron s'est déclenché et a initié tout ça. Tu peux filer la trace Abeille+AbeilleCmd+AbeillerPaser ?

mickadam29 commented 4 years ago

@tcharp38 Suis plus devant l’ordinateur. Je vérifierai demain le contenu des 3 fichiers et s’ils contiennent les événements de ce soir je les mettrai à disposition. Dans tous les cas, c’est bien l’usage de l’interrupteur qui met le bazar mais depuis quand ? Et donc peut-être rien à voir avec la 3.1d ou avec le caractère qui s’ajoutent au nom.

battousai90 commented 3 years ago

Quelque test de ce matin :

En supprimant la commande nom des abeilles sans valeur, homebridge démarre et tout fonctionne, quand à la lettre supplémentaire, ca ne dérange pas.

mickadam29 commented 3 years ago

Cela fait suite à l'installation de la version beta ?

mickadam29 commented 3 years ago

Concernant l'objet créé, j'ai un objet non reconnu car le nom porte le caractère supplémentaire. Ce nouvel objet, à l'ancienne adresse courte de l'interrupteur XIAOMI. En fait, mon interrupteur avait l'id 4915, celui est maintenant sur l'objet Abeille et l'interrupteur à une nouvelle adresse courte. Cet objet est celui créé hier soir sans que la zigate ne soit en inclusion. Et aurait dû être une simple mise à jour de l'interrupteur. Autre anomalie. L'interrupteur me renvoie 2 ID qui sont censés être identiques.

image

Interrogation de son adresse courte : 19b5 Or l'objet remonte

image

Sacré pagaille !

mickadam29 commented 3 years ago

Et enfin une autre curiosité, apparue après la mise à jour en 3.1d ou l'ajout des mes routeurs (prises IKEA) Lorsque j'appuie sur mes interrupteurs qui fonctionne et sont reconnus sans caractère supplémentaire, il ne se passe absolument rien. Puis si je réappuie, ils actionnent les scénarios. Valable pour mes 3 interrupteurs. C'est comme si le réseau se mettait en veille et que le premier appui le réveillait. Ensuite tout va bien fonctionner pendant qqs heures et ensuite il faut à nouveau appuyer une première fois pour réveiller tout ce monde.

mickadam29 commented 3 years ago

@battousai90

Es-tu certain que cela n'a pas d'influence sur le routage ? Cela concerne une ampoule qui fait routeur.

battousai90 commented 3 years ago

@mickadam29 Cela fait suite à l'installation de la version beta ? Non.

@mickadam29 Es-tu certain que cela n'a pas d'influence sur le routage ? Cela concerne une ampoule qui fait routeur. Le fait de supprimer la commande 'nom' ? C'est pas le nom de l'abeille, c'est la commande qui est censé récupérer le nom du périphérique. j'ai rien constaté d'anormal dans le network, juste quelque abeille en timeout car débranchée. image

battousai90 commented 3 years ago

Après pardon, les routes sont vides : image

KiwiHC16 commented 3 years ago

Les gars, c'est impossible de vous aider, ca part dans tous les sens. Imaginez pour nous qui cherchons a suivre ce que vous faites, essayons de traiter plus de 100 issues en ce moment, plus les dev en cours.

Je ne sais plus par quel bout prendre votre sujet.

Je suis obligé d'être "emmerdant" et procéder par étape, désolé.

Tant que le premier soucis n'est pas réglé (lettre en trop en fin de nom) tout le reste est finalement perte de temps.

Puis je vous demander de faire un test et paratger le resultat:

tcharp38 commented 3 years ago

Normal. J'allais dire la même chose. Je n'arrive pas à suivre non plus. Un pas apres l'autre

battousai90 commented 3 years ago

Oui désolé, le ticket s'est transformé en Facebook.

Alors après install de la Beta, suppression d'un detecteur d'ouverture qui remontait un caractere special, réinclusion, toujours pareil : image

image

image

battousai90 commented 3 years ago

Les logs Abeille.txt AbeilleParser.txt

KiwiHC16 commented 3 years ago

Super, le soucis est clairement visible. Reste a aller voir ce qu'il se passe dans le code.

Abeille:

[2020-11-10 15:43:12][DEBUG] : message(topic='Abeille1/2733/0000-01-0005', payload='lumi.sensor_magnet.aq2')
[2020-11-10 15:43:12][INFO] : Recherche objet: lumi.sensor_magnet.aq2 dans les objets connus
[2020-11-10 15:43:12][DEBUG] : value:lumi.sensor_magnet.aq2 / trimmed value: ->sensor_magnet.aq2<-
[2020-11-10 15:43:12][DEBUG] : Template initial: {"sensor_magnet.aq2"
...
[2020-11-10 15:43:23][DEBUG] : message(topic='Abeille1/2733/0000-01-0005', payload='lumi.sensor_magnet.aq2Ñ')
[2020-11-10 15:43:23][DEBUG] : Update ONLINE Status
[2020-11-10 15:43:29][DEBUG] : message(topic='Abeille1/2733/0000-01-0005', payload='lumi.sensor_magnet.aq2Ñ')
[2020-11-10 15:43:29][DEBUG] : Update ONLINE Status
[2020-11-10 15:43:33][DEBUG] : message(topic='Abeille1/2733/0000-01-0010', payload='Ñ')
...

AbeilleParser:

[2020-11-10 15:43:11][debug] Abeille1, Type=8102/Attribut report, SQN=00, SrcAddr=2733, EndPoint=01, ClustID=0000, AttrID=0005, AttrStatus=00, AttrDataType=42, AttrSize=0016, DataByteList=lumi.sensor_magnet.aq2
...
[2020-11-10 15:43:23][debug] Abeille1, Type=0x8100/Read attribut response, SQN=ae, SrcAddr=2733, EP=01, ClustId=0000, AttrId=0005, AttrStatus=00, AttrDataType=42
[2020-11-10 15:43:23][debug]   Size of Attribute=0016
[2020-11-10 15:43:23][debug]   Data byte list (one octet pour l instant)=6c
[2020-11-10 15:43:23][debug]   Data byte=lumi.sensor_magnet.aq2Ñ
...
KiwiHC16 commented 3 years ago

Le decodage sur Type=0x8100/Read attribut response AttrDataType=42 n est pas bon.

tcharp38 commented 3 years ago

C 'est maintenant le meme que celui du 8102 donc ce dernier devait etre daubé.

KiwiHC16 commented 3 years ago

Si c est le meme maintenant pourquoi le log est different. Si le decodage etait parfaitement identique je devrais avoir exactement le meme log ! Y a donc une difference. Dans les deux cas le lenght est 0x16.

tcharp38 commented 3 years ago

Tu marques un point ! Mais ca doit etre exactement le meme. J'appelle la meme fonction decode_8100_8102 dans les 2 cas. Ce log vient de la beta ?

KiwiHC16 commented 3 years ago

Non dans la beta ces log sont en commentaires. Je ne comprend pas quel soft tourne sur sa machine.

@battousai90: peux tu me dire ce qui est indiqué comme version dans la page de conf: Capture d’écran 2020-11-10 à 16 21 55

tcharp38 commented 3 years ago

En regardant le code rapidement pour le type 0x42 je vois que l'AttrSize n'est que rarement utilisé. Au contraire il y a du code du style $voltage = hexdec(substr($payload, 24 + 2 2 + 2, 2).substr($payload, 24 + 2 2, 2));

                $voltage = hexdec(substr($payload, 24 + 2 * 2 + 2, 2).substr($payload, 24 + 2 * 2, 2));
                $temperature = unpack("s", pack("s", hexdec( substr($payload, 24 + 21 * 2 + 2, 2).substr($payload, 24 + 21 * 2, 2) )))[1];
                $humidity = hexdec( substr($payload, 24 + 25 * 2 + 2, 2).substr($payload, 24 + 25 * 2, 2) );

                $voltage        = hexdec(substr($payload, 28+2, 2).substr($payload, 28, 2));
                $lux            = hexdec(substr($payload, 86+2, 2).substr($payload, 86, 2));

Bref ca ne tient pas compte de l'AttrSize. Mais la on parle de data brute (voltage, temp...) et non pas d'une chaine.

KiwiHC16 commented 3 years ago

Oui c est pour des raison historique. Tout au debut je ne parvenais pas a faire fonctionner le bousin donc je codais en dur. Maintenant que cela fonctionne on peut faire des optimisations mais attention de ne pas casser le code.

Je le demande si le market jeedom a pris en compte la beta mise a dispo hier. Je vais investiguer ce point.

Je vais republier une beta en mettant la date pour etre sure du soft dont on parle parceque si @battousai90 repond que c est Beta alors je ne suis toujours pas sur du code qui tourne sur sa machine.

Je vais essayer de faire ca ce soir mais sans garanti ...

battousai90 commented 3 years ago

Oups désolé j'ai restauré mon backup avant beta. En fait j'ai téléchargé la branche beta sur le git et j'ai chargé le plug-in en Samba. S'il faut ressayer je pourrai le faire ce soir après 20H.

KiwiHC16 commented 3 years ago

Ok alors je ne fais rien et tu refais les manips....

battousai90 commented 3 years ago

Désolé, rien a voir avec le ticket, mais la beta ne veut plus s'installé.

Ajout de la Beta manuellement : image Mise a jour image Echec image [2020-11-10 16:59:19][ALERT] : [START UPDATE] [2020-11-10 16:59:19][ALERT] : Début de la mise à jour de : Abeille [2020-11-10 16:59:19][ALERT] : Téléchargement du plugin... [2020-11-10 16:59:19][ALERT] : Téléchargement de Abeille... [2020-11-10 16:59:30][ALERT] : OK [2020-11-10 16:59:30][ALERT] : Décompression du zip... [2020-11-10 16:59:33][ALERT] : OK [2020-11-10 16:59:33][ALERT] : Post-installation de Abeille... [2020-11-10 16:59:33][ALERT] : Impossible d'installer le plugin. Le nom du plugin est différent de l'ID ou le plugin n'est pas correctement formé. Veuillez contacter l'auteur. [2020-11-10 16:59:33][ALERT] : [END UPDATE ERROR]

image

mickadam29 commented 3 years ago

Merci à vous 2. Ok on va s'en tenir au caractère supplémentaire. Je vais chercher de mon côté ce qui déconne. Et probablement revenir à la version 3.1c. Car là c'est vraiment galère.

mickadam29 commented 3 years ago

L'un de vous peut-il m'expliquer comment bascule sur la beta ? J'ai fait un git clone de la branche beta. Je m'attendais à trouver un install.sh mais à priori non Merci

mickadam29 commented 3 years ago

OK. Trouvé la doc. J'ai configuré le market et installe la beta

image