KiwiHC16 / Abeille

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

Aeotec Multipurpose Sensor (id = multi, Samjin) #2376

Closed eoeir closed 3 months ago

eoeir commented 2 years ago

Hello,

Je viens de faire l'acquisition d'un capteur d'ouverture, de vibration et de température Aeotec. Il n'est pas supporté par Abeille.

Voici le modèle de capteur : https://aeotec.com/smartthings/zigbee-multipurpose-sensor.html https://help.aeotec.com/support/solutions/articles/6000242294-aeotec-multipurpose-sensor-technical-specifications https://help.aeotec.com/support/solutions/articles/6000242293-aeotec-multipurpose-sensor-user-guide https://www.domadoo.fr/en/security/5964-aeotec-multipurpose-sensor-zigbee-smartthings-4251295701646.html

Voici le fichier discovery : Aeotec discovery.zip

Est-ce possible de l'ajouter à Abeille ?

tcharp38 commented 2 years ago

Salut

multi_Samjin.zip A decompresser dans core/config/devices

Il doit y avoir le support de

Il doit manquer vibration. Autre chose ?

eoeir commented 2 years ago

Merci.

Le modèle est reconnu maintenant.

Les commandes Battery-Percent et Temperature ne remontent rien. Zone Status remonte la valeur "21" quand le capteur est ouvert, "20" quand le capteur est fermé.

Comment puis-je aider pour faire fonctionner ces commandes et trouver celle qui manque (vibration) ?

tcharp38 commented 2 years ago

Salut. Peux tu refaire une inclusion et me filer le package de logs 2 mins apres ?. Assure toi d etre en mode debug avant.

Autre point. Es tu sur la beta ? Je prefere faire du support sur la derniere release plutot que sur qqch deja vieux.

eoeir commented 2 years ago

Salut,

Je me suis remis sur la version beta d'Abeille. Voici les logs après ré-inclusion du capteur :

AbeilleLogs-220425.tar.gz

tcharp38 commented 2 years ago

L'inclusion semble bien se passer mais je vois un manque côté température. Cote batterie, a voir au bout d 1H mais je ne comprends pas pourquoi il n'y aurait pas de reporting.

A decompresser dans core/config/commands commands.zip

Et dans core/config/devices/multi_Samjin multi_Samjin.zip

puis redemarrer Abeille refaire inclusion

Dis moi ce que ca donne. Note: pas encore creusé le coté "vibration"

eoeir commented 2 years ago

Bonjour,

Les manipulations sont faites.

Capteur de température : la température remonte bien maintenant.

Capteur d'ouverture : Le widget du capteur a changé : image

L'icone de Zone Alarme ne change pas à l'ouverture/fermeture du capteur. Je pense que l'icone de la porte qui se ferme/s'ouvre (comme sur le capteur d'ouverture Aqara) me semble plus adaptée. image

Dans les logs on voit bien le changement de valeurs lors des ouvertures/fermetures :

[2022-04-25 23:08:12][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/E9A5/01 [2022-04-25 23:08:12][DEBUG] : 'Zone Status' (0500-01-0002) => 0021 [2022-04-25 23:08:16][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/E9A5/01 [2022-04-25 23:08:16][DEBUG] : 'Zone Status' (0500-01-0002) => 0020 [2022-04-25 23:08:28][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/E9A5/01 [2022-04-25 23:08:28][DEBUG] : 'Zone Status' (0500-01-0002) => 0021

AbeilleLogs-220425(2).tar.gz

tcharp38 commented 2 years ago

Correction cote commandes: commands.zip

Et mise à jour cote modele d equipement: multi_Samjin.zip

Une fois decompressés, tu fais juste un "reinitialiser" via la page EQ/Avancé de l equipement

eoeir commented 2 years ago

Nickel pour le changement d’icône : image

En revanche, la porte est inversée par rapport au capteur (ex : ouverte quand fermé).

Que puis-je faire pour t'aider sur la partie vibration ?

tcharp38 commented 2 years ago

multi_Samjin.zip Refaire une inclusion apres decompression.

Ca devrait inverser le door status.

Puis declencher une vibration en le secouant. Ca devrait le faire. je m'attends a une remontée d'info sur le cluster FC02. File moi le package de logs que je creuse.

eoeir commented 2 years ago

Pas d'amélioration visible de mon côté. Pire le widget du capteur de fermeture ne fonctionne plus (l’icône ne change plus en fonction de l'ouverture/fermeture du capteur).

J'ai fait aussi des tests de vibration. Voici les logs : AbeilleLogs-220427.tar.gz

A force de faire des exclusions/inclusions, je remarque ce qui me semble être un bug au niveau de l'interface. Après une exclusion réussie, le device exclu (en rouge sur l'image) est déselectionné et d'autres devices sont sélectionnés (en bleu) : image

Du coup si on clique un peu vite sur "supprimer de jeedom" après l'exclusion, on supprime des devices random...

tcharp38 commented 2 years ago

Salut Côte capteur de fermeture, je pense que tu as perdu les commandes que je t'avais envoyé. Peux tu decompresser à nouveau "commands.zip" au bon endroit et retenter l inclusion ?

Concernant les vibrations, j'ai besoin de connaitre l 'instant exacte histoire de faire un lien avec les infos remontées.

Enfin le 3iem point m interesse. Je me demande si il n'est pas en lien avec celui que j'ai fermé par manque de details (https://github.com/KiwiHC16/Abeille/issues/2365#). Si tu penses que c est la meme chose, tu peux le reouvrir et me dire comment tu procedes pour reproduire ce souci ?

eoeir commented 2 years ago

J'ai remis les commandes, réinclu et c'est bien fonctionnel pour l'icone d'ouverture / fermeture.

Pour la vibration, j'ai refait un package de log : AbeilleLogs-220428.tar.gz

Les tests de vibration sont à 21:30:40 et 21:31:00.

Pour le bug sur la sélection, la description de l'autre issue est tout à fait le comportement que je rencontre, mais ce n'est pas reproductible de manière systématique. Je viens de faire une exclusion sans rencontrer ce soucis. En revanche, suite à la suppression, j'avais le device suivant vers la droite dans l'ordre d'affichage qui a été sélectionné.

image

tcharp38 commented 2 years ago

La vibration semble remonter via la commande 01 generée par le cluster 0500

[2022-04-28 21:30:40] Abeille1, Type=8002/Data indication, Status=00, ProfId=0104, ClustId=0500, SrcEP=01, DstEP=01, SrcAddrMode=02, SrcAddr=F6D6, DstAddrMode=02, DstAddr=0000 [2022-04-28 21:30:40] FCF=09/Cluster-specific/Serv->Cli, SQN=00, cmd=01/Unknown-0500-01 [2022-04-28 21:30:40] Ignored cluster specific command 0500-01

Je ne vois pas quelle regle ca suit mais on va tacher de l'intercepter.

tcharp38 commented 2 years ago

3 fichiers pour test:

Ecraser le modele avec multi_Samjin.zip

Ajouter cette commande dans "core/config/commands" zbCmdR-0500-ZoneStatus-ZoneEnrollRequest.zip

Ecraser le code "core/class/AbeilleParser.class.php" avec AbeilleParser.class.php.zip

Redemarrer page EQ/avancé => reinitialiser declencher une vibration => J'ai ajouté une info "vibration" sur le dashboard me filer les logs

eoeir commented 2 years ago

Salut,

J'ai fait le test. Voici les logs. AbeilleLogs-220503.tar.gz

Les tests de vibrations sont faits de 21:49 à 21:50.

Je n'ai rien vu passer dans le log Abeille lors des secousses. En revanche quand j'ouvre et je ferme le capteur j'ai la ligne suivante : [2022-05-03 21:50:12][DEBUG] : 'Vibration' (01-0500-cmd01) => 0015-1241

eoeir commented 2 years ago

Comme je n'étais pas certain d'avoir fait des essais très probants pour ton analyse, j'ai refait une seule et unique tentative à 07:39:00 exactement : AbeilleLogs-220504.tar.gz

tcharp38 commented 2 years ago

Donc l'info 01-0500-cmd01 n'est pas pour la vibration mais pour l'ouverture/fermeture. On avait déja ca donc fausse piste.

Je ne vois rien dans ton log parser. Il ne fait que 4 lignes et pas de log "previous". On dirait que tu redemarre completement Jeedom. Tu dois juste redemarrer le démon Abeille via sa page de config image

Bref à ce stade je ne sais pas d'ou vient l'info "vibration detectée".

tcharp38 commented 2 years ago

Memo:

accelerometer is on 0xfc02 cluster you do need to configure attribute reporting on 0xfc02 cluster for [0x0010, 0x0012, 0x0013, 0x0014] attributes configure_reporting needs to use manufacturer id manufacturer ID must be correct for the specific manufacturer ID. Mine PN is IM6001-MPP01 from Samjin. Based on the older ST DH version i've tried Centralite & ST manufacturer codes and configure_reporting was failing with "unsupported attribute". It wasn't until I put correct manufacturer code for samjn 0x1241 based on newer DH configure_reporting succeeded and I got readings.

eoeir commented 2 years ago

En fait je purge les logs manuellement en console avant le redémarrage parce que sinon j'en ai des Mo.

Nouveaux tests : capteur secoué à 7:53:30 capteur secoué à 7:55:30

Tu as tous les logs AbeilleLogs-220506.tar.gz

tcharp38 commented 2 years ago

Rien à signaler et toujours pas de "trace" d'une quelconque info à ces heures la. Peux tu refaire une inclusion et me filer le package de logs ? Il doit toujours manquer une config pour avoir du reporting de "vibration".

eoeir commented 2 years ago

Pas de soucis, voici les logs. J'ai rien purgé, il y en a pour 30Mo de fichiers texte.

AbeilleLogs-220509.tar.gz

Inclusion ce soir à 20:14:24

tcharp38 commented 2 years ago

Nouvelle inclusion à faire apres avoir décompressé ce modele (dans core/config/devices/multi_Samjin)

multi_Samjin.zip

eoeir commented 2 years ago

OK c'est fait. Voici les nouveaux logs suite à l'inclusion + tests de vibration de 22:01:30 à 22:02:00. AbeilleLogs-220511.tar.gz

tcharp38 commented 2 years ago

Pas de progres cote vibration mais la config du reporting des attribute 0010, 0012, 0013 & 0014 est refusée. Il faut que je creuse encore

Memo

Configure reporting response
80020015FB000104FC02010102FF720200000803078600100080
    8002
    0015
    FB
        00
        0104
        FC02
        01
        01
        02
        FF72
        02
        0000
            08
            03
            07
                86 => unsupported
                00
                1000 => attrId 0010
    80
tcharp38 commented 2 years ago

Ok je crois que j'ai compris. Le 'manufId' n'est pas pris en compte car pas supporté jusque la.

Peux tu ecraser AbeilleCmdProcess.class.php avec celui ci (core/class) AbeilleCmdProcess.class.php.zip

puis

Merci

eoeir commented 2 years ago

Je ne comprends pas pour "refaire test ECO" mais j'ai mis à jour AbeilleCmdProcess.class.php, redémarré le démon Abeille et refais un test de vibration a 22:50:00.

Voici les logs AbeilleLogs-220513.tar.gz .

tcharp38 commented 2 years ago

Désolé, je m'embrouille. Je mélange les sujets. Peux tu refaire une inclusion et me filer les logs.

eoeir commented 2 years ago

OK. Voici les logs.

Tests à 10:51:00

AbeilleLogs-220514.tar.gz .

tcharp38 commented 2 years ago

On dirait que cette fois il rale que le type d'attribut est incorrect (on utilise x19).

Decompresse ce fichier dans core/php AbeilleZigbeeConst.zip

puis redemarre le demon Abeille et tente une lecture de l'attribut 0010 (puis 0012, puis 0013 et 0014) via la page EQ/avancé image

et file moi le package de logs. Merci

eoeir commented 2 years ago

J'ai reproduis la même configuration et j'ai fait les lectures. image

Rien de visible à mon niveau, j'espère qu'il y a ce qu'il faut dans les logs. AbeilleLogs-220515.tar.gz

tcharp38 commented 2 years ago

Ca avance doucement mais ca avance. Je tombe sur des soucis de gestion de cluster privé avec un code fabricant. Bref je dois pousser une nouvelle beta pour continuer.

Donc à partir de demain (une fois que tu as migré sur la nouvelle beta), meme essai a refaire, lecture de l'attribut mais en ajoutant le code 'fabricant' comme suit

image

eoeir commented 2 years ago

Je suis passé sur la nouvelle beta et voici les logs suite au tests de lecture de l'attribut AbeilleLogs-220517.tar.gz .

tcharp38 commented 2 years ago

Reponses

[2022-05-17 19:36:25] Abeille1, Type=8002/Data indication, Status=00, ProfId=0104, ClustId=FC02, SrcEP=01, DstEP=01, SrcAddrMode=02, SrcAddr=FF72, DstAddrMode=02, DstAddr=0000 [2022-05-17 19:36:25] FCF=1C/General/Serv->Cli, SQN=49, cmd=01/Read Attributes Response [2022-05-17 19:36:25] AttrId=0010/Unknown-FC02-0010, Status=00, AttrType=18, Value=00 => 0

[2022-05-17 19:36:47] Abeille1, Type=8002/Data indication, Status=00, ProfId=0104, ClustId=FC02, SrcEP=01, DstEP=01, SrcAddrMode=02, SrcAddr=FF72, DstAddrMode=02, DstAddr=0000 [2022-05-17 19:36:47] FCF=1C/General/Serv->Cli, SQN=4A, cmd=01/Read Attributes Response [2022-05-17 19:36:47] AttrId=0012/Unknown-FC02-0012, Status=00, AttrType=29, Value=0034 => 52

[2022-05-17 19:37:02] Abeille1, Type=8002/Data indication, Status=00, ProfId=0104, ClustId=FC02, SrcEP=01, DstEP=01, SrcAddrMode=02, SrcAddr=FF72, DstAddrMode=02, DstAddr=0000 [2022-05-17 19:37:02] FCF=1C/General/Serv->Cli, SQN=4B, cmd=01/Read Attributes Response [2022-05-17 19:37:02] AttrId=0013/Unknown-FC02-0013, Status=00, AttrType=29, Value=0005 => 5

[2022-05-17 19:37:24] Abeille1, Type=8002/Data indication, Status=00, ProfId=0104, ClustId=FC02, SrcEP=01, DstEP=01, SrcAddrMode=02, SrcAddr=FF72, DstAddrMode=02, DstAddr=0000 [2022-05-17 19:37:24] FCF=1C/General/Serv->Cli, SQN=4C, cmd=01/Read Attributes Response [2022-05-17 19:37:24] AttrId=0014/Unknown-FC02-0014, Status=00, AttrType=29, Value=FBFB => -1029

Donc

tcharp38 commented 2 years ago

Nouveau modele avec les bons types: multi_Samjin.zip

Refaire inclusion Et filer les logs

Si tu as des questions concernant le deroulement des tests, n hesite pas.

eoeir commented 2 years ago

C'est fait.

AbeilleLogs-220519.tar.gz

Maintenant je vois que cela spamme dans les logs quand je secoue le capteur :

[2022-05-19 12:26:09][DEBUG] : Unknown Jeedom command logicId='FC02-01-0012' [2022-05-19 12:26:09][DEBUG] : Unknown Jeedom command logicId='FC02-01-0013' [2022-05-19 12:26:09][DEBUG] : Unknown Jeedom command logicId='FC02-01-0014' [2022-05-19 12:26:10][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01

J'exécute tes tests, je vois bien que l'on avance, mais je ne comprends pas tout :)

tcharp38 commented 2 years ago

Ha super. Donc maintenant le periph renvoi de nouvelles infos, à priori d'un accelerometre intégré.

[2022-05-19 12:23:31] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=4 [2022-05-19 12:23:31] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=-9 [2022-05-19 12:23:31] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1031 [2022-05-19 12:23:45] AttrId=0010/Unknown-FC02-0010, AttrType=18, Value=0

Reste à comprendre comment les interpreter pour la partie "vibration".

Tu peux verifier que ce genre d'info n'apparait que lorsque tu secoue ton périph et pas quand il ne bouge plus ? Juste pour etre sur qu'il ne fait pas de reporting inutile.

eoeir commented 2 years ago

Je viens de regarder un peu dans le log Parser et faire quelques tests. Ce type d'information n'apparaît que rarement dans mes logs (le capteur est posé sur mon bureau donc il bouge de temps en temps).

De ma compréhension de son comportement, pour un test avec une secousse unique :

Exemple :

[2022-05-23 19:03:22] AttrId=0010/Unknown-FC02-0010, AttrType=18, Value=1 [2022-05-23 19:03:22] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=11 [2022-05-23 19:03:22] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=13 [2022-05-23 19:03:22] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1006 [2022-05-23 19:03:23] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=6 [2022-05-23 19:03:23] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=2 [2022-05-23 19:03:23] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1028 [2022-05-23 19:03:24] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=1 [2022-05-23 19:03:24] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=3 [2022-05-23 19:03:24] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1034 [2022-05-23 19:03:25] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=0 [2022-05-23 19:03:25] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=12 [2022-05-23 19:03:25] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1031 [2022-05-23 19:03:26] AttrId=0012/Unknown-FC02-0012, AttrType=29, Value=1 [2022-05-23 19:03:26] AttrId=0013/Unknown-FC02-0013, AttrType=29, Value=1 [2022-05-23 19:03:26] AttrId=0014/Unknown-FC02-0014, AttrType=29, Value=-1032 [2022-05-23 19:03:36] AttrId=0010/Unknown-FC02-0010, AttrType=18, Value=0

Si le capteur est secoué plus longtemps, c'est le même comportement sauf que les attributs 0012, 0013 et 0014 sont répétés toute la durée du test + 5 mesures.

Donc à mon avis la valeur de l'attribut 0010 à 1 correspond au début du mouvement et à 0 à sa fin. Les autres donnent les paramètres du mouvement.

Après quelques tests complémentaires :

Je te laisse confirmer :)

eoeir commented 2 years ago

@tcharp38, tu en penses quoi ?

eoeir commented 2 years ago

Hello @tcharp38,

Comment puis-je aider pour que le capteur de vibration soit supporté ?

tcharp38 commented 2 years ago

Salut @eoeir Désolé pour le silence. En fait je crois que tes tests sont suffisants. Il faut que je reflechisse à comment interpreter tout ou partie de ces résultats pour sortir une info "vibration".

eoeir commented 2 years ago

Je vois dans la documentation que le seul capteur de vibration supporté par Abeille est celui de Xiaomi : https://kiwihc16.github.io/AbeilleDoc//devices/Xiaomi.html?highlight=vibration Le comportement décrit sur cette page est un peu différent de celui que j'ai constaté sur l'Aerotec mais la réflexion est un peu similaire : comment différencier les différents mouvements du capteur ?

Vu que l'on est sur un capteur ouverture + vibration, je cherche en priorité à couvrir la détection de chocs sur une menuiserie (poste/fenêtre) qui serait fermée = probable tentative d'effraction.

On a plusieurs infos à disposition :

Comment Abeille peut manipuler ces informations, car aucune ne permet de tirer de conclusion de manière isolée ? Peut-on les corréler (si AttrId=0010 = 1 et Zone Status = 00200 alors...) ? faire des opérations (addition, moyenne...) ?

tcharp38 commented 2 years ago

Bon résumé. En fait je me demande s'il ne suffit pas de prendre l'un des 2 rotation et dire que des que ca remonte qqch il faut lever une alarme "vibration"

tcharp38 commented 2 years ago

Tu avais déja fait une analyse pas mal. A savoir que ne tenir compte que de l'attribut 0010 devrait suffire pour dire "Vibration"

Peux tu decompresser ce modele reinit via page EQ/avancé et tester ? multi_Samjin.zip

eoeir commented 2 years ago

Vu que mon réseau zigbee refonctionne (un peu), j'ai repris ce sujet. J'ai fait les manipulations :

Je n'ai pas de changement de visible. Voici les logs de la réinitialisation puis d'une secousse :

[2022-08-18 15:52:52][DEBUG] : msgFromParser(): Abeille1, permit join, status=00
[2022-08-18 15:52:52][DEBUG] : msgFromParser(): Abeille1, Zigate timeServer 1660830772
[2022-08-18 15:52:52][DEBUG] : msgFromParser(): Abeille1, Zigate version 0005-0321
[2022-08-18 15:52:55][DEBUG] :   modelPath=/var/www/html/plugins/Abeille/core/class/../config/devices/multi_Samjin/multi_Samjin.json
[2022-08-18 15:52:55][DEBUG] : message(topic='CmdCreateAbeille1/FF72/resetFromJson', payload='')
[2022-08-18 15:52:55][DEBUG] : message(): resetFromJson, Abeille1/FF72
[2022-08-18 15:52:55][DEBUG] : createDevice(reset, dev={"net":"Abeille1","addr":"FF72","jsonId":"multi_Samjin","jsonLocation":"Abeille","ieee":"286D9700011300B5"}
[2022-08-18 15:52:55][DEBUG] :   modelPath=/var/www/html/plugins/Abeille/core/class/../config/devices/multi_Samjin/multi_Samjin.json
[2022-08-18 15:52:55][DEBUG] :   Already existing device Abeille1/FF72 => [Maison][Aeotec Multipurpose Sensor]
[2022-08-18 15:52:56][DEBUG] :   modelConfig={"icon":"Aeotec-MultiPurposeSensor","mainEP":"01","batteryType":"1x3V CR2032"}
[2022-08-18 15:52:56][DEBUG] : postSave()
[2022-08-18 15:52:56][DEBUG] :   mainEP=01
[2022-08-18 15:52:56][DEBUG] :   Updated commands={"SWBuildID":{"name":"SWBuildID","subType":"string","configuration":{"visibilityCategory":"All"},"type":"info","logicalId":"0000-01-4000"},"Get SWBuildID":{"comment":"Generic command to read any attribute","isVisible":0,"name":"ReadAttribute","isHistorized":0,"subType":"other","configuration":{"topic":"readAttribute","request":"ep=01&clustId=0000&attrId=4000"},"type":"action"},"Battery-Percent":{"isVisible":0,"name":"Batterie","isHistorized":0,"subType":"numeric","invertBinary":"0","template":"vuMeter","configuration":{"minValue":"0","maxValue":"100","historizeRound":1,"visibilityCategory":"All"},"type":"info","logicalId":"0001-01-0021","unit":"%","genericType":"BATTERY"},"SetReporting 0001-00021":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=0001&attrType=20&attrId=0021&minInterval=0708&maxInterval=0E10&changeVal=","execAtCreation":"yes"},"type":"action"},"Bind 0001-ToZigate":{"name":"Bind device to Zigate","comment":"Simplified version of zbBind","subType":"other","template":"","configuration":{"topic":"bind0030","request":"addr=#IEEE#&ep=01&clustId=0001&destAddr=#ZigateIEEE#&destEp=01","execAtCreation":"yes"},"type":"action"},"Identify":{"isVisible":0,"name":"Identify","isHistorized":"0","subType":"other","invertBinary":"0","template":"","configuration":{"topic":"identifySend","request":"EP=01&duration=0010","visibilityCategory":"additionalCommand"},"type":"action"},"Temperature":{"comment":"0402\/Temperature measurement cluster, attrib 0000\/MeasuredValue","comment2":"TODO: calculValueOffset to be removed and done in parser since frozen by Zigbee spec","comment3":"Derived from obsolete 'temperature.json'","name":"MeasuredValue","subType":"numeric","template":"badge","configuration":{"calculValueOffset":"#value#\/100","historizeRound":"1"},"type":"info","logicalId":"0402-01-0000","unit":"\u00b0C","genericType":"TEMPERATURE","isVisible":"1"},"SetReporting 0402-0000":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=0402&attrType=29&attrId=0000&minInterval=012C&maxInterval=0258&changeVal=","execAtCreation":"yes"},"type":"action"},"Bind 0402-ToZigate":{"name":"Bind device to Zigate","comment":"Simplified version of zbBind","subType":"other","template":"","configuration":{"topic":"bind0030","request":"addr=#IEEE#&ep=01&clustId=0402&destAddr=#ZigateIEEE#&destEp=01","execAtCreation":"yes"},"type":"action"},"Zone Status":{"comment":"0500\/IAS Zone cluster, attrib 0002\/ZoneStatus, type map16\/0x19","subType":"numeric","configuration":{"trigOut":"01-0500-0002-alarm1","trigOutOffset":"#value#&1"},"type":"info","logicalId":"0500-01-0002"},"Door Status":{"comment":"0500\/IAS Zone cluster, attrib 0002\/ZoneStatus, type map16\/0x19, bit 0","subType":"binary","configuration":[],"type":"info","logicalId":"01-0500-0002-alarm1","template":"door","genericType":"ALARM_STATE","isVisible":"1","invertBinary":1},"Bind 0500-ToZigate":{"name":"Bind device to Zigate","comment":"Simplified version of zbBind","subType":"other","template":"","configuration":{"topic":"bind0030","request":"addr=#IEEE#&ep=01&clustId=0500&destAddr=#ZigateIEEE#&destEp=01","execAtCreation":"yes"},"type":"action"},"SetReporting 0500-0002":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=0500&attrType=19&attrId=0002&minInterval=0000&maxInterval=0000&changeVal=","execAtCreation":"yes"},"type":"action"},"Vibration":{"comment":"Generic attribute","comment2":"To be overloaded from device model","type":"info","subType":"binary","template":"badge","logicalId":"'FC02-01-0010","unit":"","genericType":"ALARM_STATE","isVisible":"1"},"Bind FC02-ToZigate":{"name":"Bind device to Zigate","comment":"Simplified version of zbBind","subType":"other","template":"","configuration":{"topic":"bind0030","request":"addr=#IEEE#&ep=01&clustId=FC02&destAddr=#ZigateIEEE#&destEp=01","execAtCreation":"yes"},"type":"action"},"SetReporting FC02-0010":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=FC02&attrType=18&attrId=0010&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241","execAtCreation":"yes"},"type":"action"},"SetReporting FC02-0012":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=FC02&attrType=29&attrId=0012&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241","execAtCreation":"yes"},"type":"action"},"SetReporting FC02-0013":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=FC02&attrType=29&attrId=0013&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241","execAtCreation":"yes"},"type":"action"},"SetReporting FC02-0014":{"comment":"Generic configure reporting command","name":"Configure reporting","subType":"other","configuration":{"topic":"configureReporting","request":"ep=01&clustId=FC02&attrType=29&attrId=0014&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241","execAtCreation":"yes"},"type":"action"},"IEEE-Addr":{"isVisible":0,"name":"IEEE-Addr","isHistorized":"0","subType":"string","invertBinary":"0","template":"badge","configuration":{"visibilityCategory":"Network"},"type":"info","logicalId":"IEEE-Addr"},"Link Quality":{"isVisible":0,"name":"Link Quality","isHistorized":"0","subType":"string","invertBinary":"0","template":"badge","configuration":{"visibilityCategory":"Network"},"type":"info","logicalId":"Link-Quality"},"Time-Time":{"isVisible":0,"name":"Time-Time","isHistorized":"0","subType":"string","invertBinary":"0","template":"","configuration":{"visibilityCategory":"Time"},"type":"info","logicalId":"Time-Time"},"Time-TimeStamp":{"isVisible":0,"name":"Time-TimeStamp","isHistorized":"0","subType":"numeric","invertBinary":"0","template":"badge","configuration":{"visibilityCategory":"Time"},"type":"info","logicalId":"Time-TimeStamp"},"Short-Addr":{"isVisible":0,"name":"Short-Addr","isHistorized":"0","subType":"string","invertBinary":"0","template":"badge","configuration":{"visibilityCategory":"Network"},"type":"info","logicalId":"Short-Addr"},"Online":{"isVisible":0,"name":"Online","isHistorized":"0","subType":"binary","invertBinary":"0","template":"","configuration":{"returnStateValue":"0","returnStateTime":"60","visibilityCategory":"Network"},"type":"info","logicalId":"online","genericType":"ONLINE"}}
[2022-08-18 15:52:56][DEBUG] :   Updating info 'SWBuildID' (0000-01-4000)
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Get SWBuildID' () => 'readAttribute', 'ep=01&clustId=0000&attrId=4000'
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Battery-Percent' (0001-01-0021)
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting 0001-00021' () => 'configureReporting', 'ep=01&clustId=0001&attrType=20&attrId=0021&minInterval=0708&maxInterval=0E10&changeVal='
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Bind 0001-ToZigate' () => 'bind0030', 'addr=#IEEE#&ep=01&clustId=0001&destAddr=#ZigateIEEE#&destEp=01'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Identify' () => 'identifySend', 'EP=01&duration=0010'
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Temperature' (0402-01-0000)
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting 0402-0000' () => 'configureReporting', 'ep=01&clustId=0402&attrType=29&attrId=0000&minInterval=012C&maxInterval=0258&changeVal='
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Bind 0402-ToZigate' () => 'bind0030', 'addr=#IEEE#&ep=01&clustId=0402&destAddr=#ZigateIEEE#&destEp=01'
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Zone Status' (0500-01-0002)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Door Status' (01-0500-0002-alarm1)
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Bind 0500-ToZigate' () => 'bind0030', 'addr=#IEEE#&ep=01&clustId=0500&destAddr=#ZigateIEEE#&destEp=01'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting 0500-0002' () => 'configureReporting', 'ep=01&clustId=0500&attrType=19&attrId=0002&minInterval=0000&maxInterval=0000&changeVal='
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Vibration' ('FC02-01-0010)
[2022-08-18 15:52:56][DEBUG] :   Updating action 'Bind FC02-ToZigate' () => 'bind0030', 'addr=#IEEE#&ep=01&clustId=FC02&destAddr=#ZigateIEEE#&destEp=01'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting FC02-0010' () => 'configureReporting', 'ep=01&clustId=FC02&attrType=18&attrId=0010&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting FC02-0012' () => 'configureReporting', 'ep=01&clustId=FC02&attrType=29&attrId=0012&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting FC02-0013' () => 'configureReporting', 'ep=01&clustId=FC02&attrType=29&attrId=0013&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241'
[2022-08-18 15:52:56][DEBUG] :   Updating action 'SetReporting FC02-0014' () => 'configureReporting', 'ep=01&clustId=FC02&attrType=29&attrId=0014&minInterval=0000&maxInterval=0000&changeVal=&manufId=1241'
[2022-08-18 15:52:56][DEBUG] :   Updating info 'IEEE-Addr' (IEEE-Addr)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Link Quality' (Link-Quality)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Time-Time' (Time-Time)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Time-TimeStamp' (Time-TimeStamp)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Short-Addr' (Short-Addr)
[2022-08-18 15:52:56][DEBUG] :   Updating info 'Online' (online)
[2022-08-18 15:52:56][DEBUG] : msgFromParser(): Abeille1/FF72, Bind response, status=00
[2022-08-18 15:52:57][DEBUG] : msgFromParser(): Abeille1/FF72, Bind response, status=00
[2022-08-18 15:52:57][DEBUG] : msgFromParser(): Abeille1/FF72, Bind response, status=00
[2022-08-18 15:52:57][DEBUG] : msgFromParser(): Abeille1/FF72, Bind response, status=00
[2022-08-18 15:53:03][DEBUG] : checkAllDaemons2()
[2022-08-18 15:53:03][DEBUG] :   expected=["SerialRead1","Parser","Cmd"]
[2022-08-18 15:53:03][DEBUG] :   running={"runBits":7,"daemons":{"SerialRead1":{"pid":"6556","cmd":" \/usr\/bin\/php \/var\/www\/html\/plugins\/Abeille\/core\/class\/..\/php\/AbeilleSerialRead.php Abeille1 \/dev\/ttyUSB0 debug"},"Parser":{"pid":"6558","cmd":" \/usr\/bin\/php \/var\/www\/html\/plugins\/Abeille\/core\/class\/..\/php\/AbeilleParser.php debug"},"Cmd":{"pid":"6560","cmd":" \/usr\/bin\/php \/var\/www\/html\/plugins\/Abeille\/core\/class\/..\/php\/AbeilleCmd.php debug"}}}
[2022-08-18 15:53:03][DEBUG] : checkAllDaemons2() => ok
[2022-08-18 15:53:03][DEBUG] : cron(): Daemons: 6556/SerialRead1, 6558/Parser, 6560/Cmd
[2022-08-18 15:53:03][DEBUG] :   publishMosquitto(): Envoyé '{"topic":"TempoCmdAbeille1\/0000\/getZgVersion&time=1660830803","payload":""}' vers queue 1212
[2022-08-18 15:53:10][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:10][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0010'
[2022-08-18 15:53:10][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0012'
[2022-08-18 15:53:10][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0013'
[2022-08-18 15:53:10][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0014'
[2022-08-18 15:53:11][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:11][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0012'
[2022-08-18 15:53:11][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0013'
[2022-08-18 15:53:11][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0014'
[2022-08-18 15:53:12][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:12][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0012'
[2022-08-18 15:53:12][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0013'
[2022-08-18 15:53:12][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0014'
[2022-08-18 15:53:13][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:13][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0012'
[2022-08-18 15:53:13][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0013'
[2022-08-18 15:53:13][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0014'
[2022-08-18 15:53:14][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:14][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0012'
[2022-08-18 15:53:14][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0013'
[2022-08-18 15:53:14][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0014'
[2022-08-18 15:53:24][DEBUG] : msgFromParser(): Abeille1, Zigate version 0005-0321
[2022-08-18 15:53:24][DEBUG] : msgFromParser(): Attributes report by name from 'Abeille1/FF72/01
[2022-08-18 15:53:24][DEBUG] :   Unknown Jeedom command logicId='FC02-01-0010'
tcharp38 commented 2 years ago

A priori tu devrais avoir la commande info "Vibration" sur le dashboard

[2022-08-18 15:52:56][DEBUG] : Updating info 'Vibration' ('FC02-01-0010)

mais etrangement quand l'info remonte il ne la trouve pas

[2022-08-18 15:53:10][DEBUG] : Unknown Jeedom command logicId='FC02-01-0010'

Le package de logs aurait pu m'en dire un peu +. Tu es sur la beta ?

tcharp38 commented 2 years ago

Tiens, nouveau modele. Meme manip. J'ai trouvé une coquille dedans. multi_Samjin.zip

eoeir commented 2 years ago

Oui, je suis bien sur la beta.

Je viens de faire la manip avec une erreur à la clé maintenant :

`2022-08-22 20:43:36 Abeille [Maison][Aeotec Multipurpose Sensor]: Réinitialisation à partir de son modèle (source=Abeille)

2022-08-22 20:43:36 Abeille deamon(): Exception [MySQL] Error code : 23000 (1062). Duplicate entry '121-Vibration' for key 'unique' : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert `

Voici le package de logs :

AbeilleLogs-220822.tar.gz

tcharp38 commented 2 years ago

Zut. Il y a un bug à cause du logical Id défini avant comme "'FC02-01-0010" et qui devrait être "FC02-01-0010" (un simple guillemet en trop qui trainait par la).

eoeir commented 2 years ago

OK. Tu vas faire un nouveau modèle ou pousser une correction en beta ?

tcharp38 commented 2 years ago

Le modele est deja corrigé. Il faut que j'arrive à reproduire ce cas pour essayer de blinder le code de "reinit".

Dans ton cas ton peux juste supprimer le device et le reinclure. Ca ca devrait passer. Sinon attendre que je corrige.