zigbeefordomoticz / Domoticz-Zigbee

Zigbee plugin for Domoticz. Allow to connect various zigbee controllers like Zigate but also Texas Instrument CC2531, CC13x2, CC26x2 ; Silicon-Labs; deConz based chipset to be connected to Domoticz
GNU General Public License v3.0
101 stars 43 forks source link

ajout decodage consommation cluster 000C #58

Closed Cortexlegeni closed 6 years ago

Cortexlegeni commented 6 years ago

Bonjour, Domoticz tourne bien avec la Zigate depuis 2 jour et là j'ai voulu rajouter une prise xiaomi et depuis plus aucun capteur ne remonte d'infos: Voici le log du moment:

prise.txt

Merci beaucoup. (je suis disponible si besoin de faire des tests ou autre) Rémi

Cortexlegeni commented 6 years ago

J'ai reset la zigate via les reglages du plugins et je n'arrive toujours pas à ajouter la prise. ajout prise apres reset zigate.txt

zaraki673 commented 6 years ago

d apres les logs, aucun problème avec une prise mais avec un detecteur d'eau : 'Model': 'lumi.sensor_wleak.aq1'

apres, comme toujours, : quel version du plugin? quel version de domoticz?

d'apres la log, la variable DeviceConf, as-tu bien copié tous les fichiers du plugins et non pas juste le plugin.py ?

Cortexlegeni commented 6 years ago

Bonsoir, Plugin en version 2.0.1 et domoticz 3.8834 J'ai bien copié tous les fichiers, et tout marchait bien depuis 2 jours alors que le détecteur d'eau était déjà là. j'avais 2 capteurs de temperature, un detecteur de fuite d'eau, un inter et un detecteur de mouvement, juste pour faire des tests.

zaraki673 commented 6 years ago

bonsoir,

humm, peux tu test avec la version 2.1.0, j ai modifier la fonction GetType, j'esperes que ca solutionne ton problème,

;)

Cortexlegeni commented 6 years ago

j'ai mis la version 2.1, mis Domoticz à jour, fait un reset via le plugin et j'ai toujours ça dans le log

2018-01-25 20:09:59.042 (Zi-test) Calling message handler 'onHeartbeat'. 2018-01-25 20:09:59.043 (Zi-test) ListOfDevices : {'7902': {'RIA': '2', 'Ep': {'01': {'0006': {}, '0000': {}}}, 'IEEE': '00158d0001dbc932', 'MacCapa': '80', 'Status': 'inDB', 'Battery': {}, 'Type': 'Door', 'Model': 'lumi.sensor_magnet.aq2', 'ZDeviceID': {}, 'ProfileID': {}, 'Heartbeat': '201'}, 'e0f9': {'RIA': '2', 'Ep': {'01': {'0006': {}, '0000': {}}}, 'IEEE': '00158d0001bbe9bf', 'MacCapa': '80', 'Status': 'inDB', 'Battery': {}, 'Type': 'Water', 'Model': 'lumi.sensor_wleak.aq1', 'ZDeviceID': {}, 'ProfileID': {}, 'Heartbeat': '201'}, '5a19': {}, '9d3e': {'RIA': '2', 'Ep': {'01': {'0000': {}, '0400': {}, '0406': {}}}, 'IEEE': '00158d0001a33a9b', 'MacCapa': '80', 'Status': 'inDB', 'Battery': {}, 'Type': 'Motion/Lux', 'Model': 'lumi.sensor_motion.aq2', 'ZDeviceID': {}, 'ProfileID': {}, 'Heartbeat': '0'}} 2018-01-25 20:09:59.043 Error: (Zi-test) 'onHeartbeat' failed 'KeyError'. 2018-01-25 20:09:59.043 Error: (Zi-test) ----> Line 286 in /home/pi/domoticz/plugins/zigate/plugin.py, function onHeartbeat 2018-01-25 20:09:59.043 Error: (Zi-test) ----> Line 193 in /home/pi/domoticz/plugins/zigate/plugin.py, function onHeartbeat

zaraki673 commented 6 years ago

hum redemmarre le plugin ou domoticz et vide le fichier devicelist.txt (il doit y avoir que {} ) il y a eu un probleme sur un device, juste l adresse c est ajouter et pas le contenu par defaut, (pas normal :( )

Cortexlegeni commented 6 years ago

le fichier DeviceList.txt est bien vide ( juste les accolades), mais je n'ai pas encore viré les devices de Domoticz par contre. je le fais.

Cortexlegeni commented 6 years ago

Apres reboot plugin et device supprime.txt

Après un reboot du plugin et le device supprimé de domoticz

Cortexlegeni commented 6 years ago

Bilan je n'arrive plus non plus à ajouter de nouveaux devices dans Domoticz, le reset du plugin ne semble pas suffire. Dois-je tenter un reset via l'appli windows ou je laisse comme cela pour pouvoir te donner les résultats des essais que tu veux que je réalise ? (je ne suis pas pressé, je fais des tests, et je vais sans doute commander une deuxième Zigate pour tester un peu plus loin)

zaraki673 commented 6 years ago

essaie de supprimer le plugin de domoticz, normalement apres avoir tout supprimer tu devrais avoir dans les logs : (Zi-test) ListOfDevices : {} alors que dans ta derniere log je vois encore ton detecteur d'ouverture xiaomi et detecteur de mouvement et un device adresse '5a19': {} qui fou le bordel :(

(je vais regarder pour mettre une exception dans ce cas la )

Cortexlegeni commented 6 years ago

c'est fait, j'arrive à remettre des dispositifs mais toujours pas ma prise Xiaomi.

apres full plugin remove.txt

zaraki673 commented 6 years ago

ok, normal, il manque les lignes pour le Type Plug :( du coup il essaie de creer le device mais comme le type est pas defini ds le code, il fait rien :(

je corrige ca de suite ;)

par contre pourrait tu me dire ce qu il t envoies pour ces different états ?

j ai vu une valeur de 030303 sur le cluster 0006 (je m attendais plus a 00 ou 01) je ne vois pas à quoi cela correspond ,

merci ;)

Cortexlegeni commented 6 years ago

je te dis ça dès que tu commit.

Cortexlegeni commented 6 years ago

j'ai encore quelques minutes avant de me coucher, et si tu as besoin d'autres choses n'hésites pas. Je commence à avoir un bon nombre de capteurs xiaomi si jamais tu as besoin de cobaïe

zaraki673 commented 6 years ago

c'est commit version 2.1.1 ;)

merci

zaraki673 commented 6 years ago

ca créait le device ds domoticz, tu dois pouvoir la piloté, mais par contre je sais pas encore decodé ces retours d'état (030303)

zaraki673 commented 6 years ago

desolé je viens de repousser, j avais oublier de definir le type pour l envoie de commande :p

zaraki673 commented 6 years ago

pour ce qui est des capteurs xiaomi, jen ai pas mal également, mais test tout ce que tu peux, ca permet detre sur que tout fonctionne ;)

merci

Cortexlegeni commented 6 years ago

ok, j'avais pris la version intermédiaire et je n'arrivais plus a activer la detection/ajout.

zaraki673 commented 6 years ago

oui j ai fais une erreur (meme sur le dernier commit), je corrige ca vite

zaraki673 commented 6 years ago

dsl

Cortexlegeni commented 6 years ago

ok, je me disais aussi, car même là ça ne fonctionnait pas. Faut que je passe un peu de temps à analyser ton code pour mettre le nez dedans aussi.

zaraki673 commented 6 years ago

c'est bon cette fois, desole

zaraki673 commented 6 years ago

il est pas tres compliqué tu veras, je ne suis loin d etre expert python, du coup il y a bcp de raccourci (ou optimisation) que je ne fais :(

Cortexlegeni commented 6 years ago

ok je teste. je ne suis pas expert Python non plus ne t'inquiètes pas ;)

Cortexlegeni commented 6 years ago

elle ne veut toujours pas venir ma prise (j'espère que je ne l'ai pas flinguée.) voici deux logs. test ajout 1.txt test ajout 1 et 2.txt

Cortexlegeni commented 6 years ago

ok, j'ai vu, tu n'as pas mis le code d'ajout du plug dans le domoDevice, je verrai demain si j'ai le temps car là je vais me coucher, bonne nuit.

zaraki673 commented 6 years ago

humm etrange il je voit un plug qui devrait etre ds les devices (id 5294)

ok, bonne nuit,

pour demain :

tu va dans hardware, tu effaces le plugin, tu verifis que le fichier devicelist.txt est bien vide (enfin juste {} ) tu rajoutes le plugin en mettant la fonction reset a true tu attends quelques secondes tu selectionnes le plugin dans la liste,tu mets reset PD a false puis update

et a partir de la tu reassocie le plug (juste lui pour le moment)

Cortexlegeni commented 6 years ago

il n'apparait pas dans les devices. je teste ce que tu viens de dire et te réponds, après j'irai au lit. (j'aime pas laisser un truc pas fini)

Cortexlegeni commented 6 years ago

j'ai suivi ta liste, ça fonctionne, voilà le rapport si besoin. plug ok.txt

zaraki673 commented 6 years ago

merci :D

du coup un nouveau bug, j ai deux trames vu comme unelors de la reponse de l envoie d'une commande

merci pour tous ces test , bonne nuit ;)

Cortexlegeni commented 6 years ago

tu ne remontes pas la conso par contre ? je ne sais pas si ce modèle le fait ? bonne nuit.

zaraki673 commented 6 years ago

non pas encore, c'est prevue, un peu plus tard :D

2018-01-26 1:00 GMT+01:00 Cortexlegeni notifications@github.com:

tu ne remontes pas la conso par contre ? je ne sais pas si ce modèle le fait ? bonne nuit.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-360641360, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7Kz_n9KLcRbAKyNgSYxnlv6R8C-Rks5tORWdgaJpZM4RseQn .

Cortexlegeni commented 6 years ago

J'ai regardé pour la remontée de la conso de la prise, mais je me heurte à quelques soucis, je n'ai que très peu de valeurs dans le champs de retour. J'ai aussi modifié la ligne de calcul de la longeur dans le send, car il ne passait pas en hexa: length=returnlen(4,(str(hex(int(round(len(datas)/2)))).split('x')[-1]))

Tous les cas testés ne renvoient dans le champ de conso que 4 fois le même octet : 00, 40, 41 ou 42 quelque soit la charge

zaraki673 commented 6 years ago

pour la conso tu envoi un readattribute pour avoir ces valeurs ? (tu passes par le soft windows por tester ?) (cf : http://zigate.fr/xiaomi-power-socket-prise-pilotee-clusters/ )

pour la longueur du send je pensais l avoir corrigé :(, je vais checker ca et mettre ta solution si c est pas fait :) )

Le 26 janvier 2018 à 19:10, Cortexlegeni notifications@github.com a écrit :

J'ai regardé pour la remontée de la conso de la prise, mais je me heurte à quelques soucis, je n'ai que très peu de valeurs dans le champs de retour. J'ai aussi modifié la ligne de calcul de la longeur dans le send, car il ne passait pas en hexa: length=returnlen(4,(str(hex(int(round(len(datas)/2)))).split('x')[-1]))

Tous les cas testés ne renvoient dans le champ de conso que 4 fois le même octet : 00, 40, 41 ou 42 quelque soit la charge

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-360860588, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7LbQI5vECmpmhLuvAYIM1QnoS9k3ks5tOhUFgaJpZM4RseQn .

Cortexlegeni commented 6 years ago

J'ai testé la conso via ton plugin et via l'appli windows et à chaque fois, les 4 octets qui doivent représenter la conso sont identiques et me donnent des valeurs du type 40, 41 ou 42, ce qui donne: 21:42:26.528 <- 01 81 02 00 11 04 CF 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9F 03 (donc que des 0 en l'absence de courant.

et sur ton plugin : 2018-01-26 14:15:04.344 (Zi-Test) Received 82 bytes of data: 2018-01-26 14:15:04.344 (Zi-Test) 01 80 02 10 02 10 02 15 9a 02 10 1e 02 11 02 10 02 10 03 01 .�......�........... 2018-01-26 14:15:04.344 (Zi-Test) 81 02 12 02 10 11 e1 1e 83 23 02 12 02 10 02 1c 02 10 55 02 �.....�.�#........U. 2018-01-26 14:15:04.344 (Zi-Test) 10 39 02 10 02 14 41 41 41 41 ab 03 01 81 02 12 02 10 02 1d .9....AAAA�..�...... 2018-01-26 14:15:04.344 (Zi-Test) ec 1e 83 23 02 12 02 10 02 1c 02 10 02 10 86 ff 02 10 02 10 �.�#..........��.... 2018-01-26 14:15:04.345 (Zi-Test) ab 03 . donc 41 41 41 41 avec une petite charge, un grosse charge ,ne change rien

Cortexlegeni commented 6 years ago

22:59:33.255 <- 01 81 02 00 11 7F 53 83 23 02 00 0C 00 55 00 39 00 04 44 44 44 44 78 03 1012w de conso d'aprés une seconde prise branchée en série et reliée au home xiaomi.

zaraki673 commented 6 years ago

bon bah va falloir la chercher la trame, car ca doit pas etre celle ci :(, a voir si y en a pas d autres, je v regarder pour ajouter le decodage des ce cluster cette nuit pour que tu puisses tester demain ;)

2018-01-26 23:01 GMT+01:00 Cortexlegeni notifications@github.com:

22:59:33.255 <- 01 81 02 00 11 7F 53 83 23 02 00 0C 00 55 00 39 00 04 44 44 44 44 78 03 1012w de conso d'aprés une seconde prise branchée en série et reliée au home xiaomi.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-360916402, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7BREQq_sb355tY6EXbEjHkMH7cc3ks5tOkswgaJpZM4RseQn .

Cortexlegeni commented 6 years ago

t'embètes pas trop, je ne suis pas chez moi du week end. Le truc c'est qu'une fois que tu as fais la demande, la prise t'envoie de façon périodique la trame de réponse, donc elle doit bien servir à quelque chose. Sinon faudrait refabriquer un sniffer comme akila pour tester ça, mais j'ai pas trop le temps de me lancer là dedans en ce moment, J'ai des malades à la maison.

Cortexlegeni commented 6 years ago

en fait elle balance cette trame tous les 15 minutes, alors va savoir ce qu'elle contient. 23:18:45.401 <- 01 81 02 00 11 E2 2A 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:19:01.422 <- 01 81 02 00 11 F3 3B 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:19:17.384 <- 01 81 02 00 11 85 4D 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:19:33.397 <- 01 81 02 00 11 99 5E 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 93 03 23:19:49.382 <- 01 81 02 00 11 A8 6F 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 93 03 23:20:05.414 <- 01 81 02 00 11 47 80 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 93 03 23:20:21.390 <- 01 81 02 00 11 5A 92 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:20:37.393 <- 01 81 02 00 11 6E A3 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 99 03 23:20:53.400 <- 01 81 02 00 11 79 B4 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 99 03 23:21:09.407 <- 01 81 02 00 11 0B C6 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 99 03 23:21:25.407 <- 01 81 02 00 11 1A D7 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 99 03 23:21:41.429 <- 01 81 02 00 11 21 E9 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:21:57.413 <- 01 81 02 00 11 3D FA 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 93 03

Cortexlegeni commented 6 years ago

Quand tu modifie la charge, elle renvoie bien cette trame: 23:22:45.377 <- 01 81 02 00 11 E6 2E 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9C 03 23:22:56.991 <- 01 81 02 00 11 F3 3B 83 23 02 00 0C 00 55 00 39 00 04 44 44 44 44 9C 03 23:23:08.038 <- 01 81 02 00 11 84 49 83 23 02 00 0C 00 55 00 39 00 04 44 44 44 44 99 03 23:23:10.820 <- 01 81 02 00 11 86 4B 83 23 02 00 0C 00 55 00 39 00 04 43 43 43 43 99 03 23:23:35.402 <- 01 81 02 00 11 AE 65 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9F 03 23:23:51.408 <- 01 81 02 00 11 BD 76 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9F 03 23:24:07.391 <- 01 81 02 00 11 43 88 83 23 02 00 0C 00 55 00 39 00 04 00 00 00 00 9F 03

J'qi branché un chauffage de 1000w que j'ai allumé puis rééteinds.

Cortexlegeni commented 6 years ago

je ne sais pas trop comment faire pour trouver la bonne trame de façon simple.

zaraki673 commented 6 years ago

va alloir passer la zigate en mode sniffer et regarder ce qui passe entre la prise et la gateway ...

ca va pas etre simple quoi :)

2018-01-26 23:45 GMT+01:00 Cortexlegeni notifications@github.com:

je ne sais pas trop comment faire pour trouver la bonne trame de façon simple.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-360925555, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7Fzd9MvM3ZFpVQmTk_mNfUVOueC4ks5tOlWEgaJpZM4RseQn .

Cortexlegeni commented 6 years ago

Bonjour, Comment est-ce que je passe la zigate en sniffer ? Merci

zaraki673 commented 6 years ago

il faut lui charger un autre firmware cf le site zigate.fr (dsl pas acces depuis le taf pour mettre le lien :( )

2018-01-30 6:03 GMT+01:00 Cortexlegeni notifications@github.com:

Bonjour, Comment est-ce que je passe la zigate en sniffer ? Merci

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-361478149, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7BdklCkkiCXBxvvrX_0ukdBoHZ23ks5tPqKmgaJpZM4RseQn .

Cortexlegeni commented 6 years ago

j'ai regardé le lien vers la prise Salus, cela semble plus simple vu qu'il propose l'accès au cluster 0x0702 qui est le standard pour la gestion d'energie. Je regarderai pour le sniffer ce soir aussi car au boulot je n'ai pas pris ma centrale, je n'ai que la clé et la prise commandée.

deennoo commented 6 years ago

Voici tout les elements de la salus sur le ep : 09

Input Cluster Count: 9 Cluster 0: Cluster ID: 0x0000 (General: Basic) Cluster 1: Cluster ID: 0x0001 (General: Power Config) Cluster 2: Cluster ID: 0x0003 (General: Identify) Cluster 3: Cluster ID: 0x0004 (General: Groups) Cluster 4: Cluster ID: 0x0005 (General: Scenes) Cluster 5: Cluster ID: 0x0006 (General: On/Off) Cluster 6: Cluster ID: 0x0402 (Measurement: Temperature) Cluster 7: Cluster ID: 0x0702 (Smart Energy: Metering) Cluster 8: Cluster ID: 0xFC01 (Unknown)

Cortexlegeni commented 6 years ago

OK, il doit falloir taper dans le clusters 0x0702 pour cette prise la, mais sur la xiaomi, je ne trouve pas ce clusters, ni le 0x0B04 qui semble être l'autre qui gère la conso. Il n'y a que le 0x0064 qui me semble étrange mais je vais essayer de pousser si j'arrive a sniffer le zigbee, pour le moment je peine avec ubiqua.

Cortexlegeni commented 6 years ago

J'ai bien avancé sur la conso, j'ai quasi bouclé le truc, comment puis-je t'envoyer ça (ya le plugin ainsi que le fichier texte de modifié)

zaraki673 commented 6 years ago

soit via github, tu pull sur la branch dev2 soit tu copies colles ta modification ici et j'ajouterais sur git ;)

2018-02-14 20:06 GMT+01:00 Cortexlegeni notifications@github.com:

J'ai bien avancé sur la conso, j'ai quasi bouclé le truc, comment puis-je t'envoyer ça (ya le plugin ainsi que le fichier texte de modifié)

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/sasu-drooz/Domoticz-Zigate/issues/58#issuecomment-365711617, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGF7JulCwbOl3tr6MMBci9-9xJHFO6vks5tUy6pgaJpZM4RseQn .