Closed KiwiHC16 closed 4 years ago
Si je me mets en écoute sur 26, j'ai des beacon requests toutes les 0.8s et si je debranche l inter, plus de beacon, si je rebranche immédiatement beacon.
Need to add the Channel selection command before going to next step.
Et voila c est dans Abeille. Reste une petite modif pour le firmware de la zigate et on aura le retour d'état. Il faut aussi que j ajoute la selection du Channel. Je push dans master cette premiere version.
J'ai le retour d etat sur un getEtat qui est fait automatiquement, il faut donc mettre les boutons associés:
AbeilleParser 2019-01-30 18:37:18[DEBUG];Type; 8102; (Attribut Report)(Processed->MQTT); SQN: fb; Src Addr : 0D1a; End Point : 06; Cluster ID : 0006; Attr ID : 0000; Attr Status : 00; Attr Data Type : 10; Attr Size : 0001; Data byte list : 03
Mettre dans le modele deux commandes info virtuel pour separer le retour d état des interrupteurs. Bon ca ne fonctionne pas. Je laisse la donnée brute et met dans la doc la solution virtuel pour les utilisateurs.
Si j'interroge trop vite pour avoir le retour d'etat alors la valeur n'est pas a jour. Mais si je mets un delai alors je ralenti tout le monde.
Hello @KiwiHC16 Si je comprends bien tu as réussi à faire fonctionner le switch 2 boutons. J'ai une dizaines de switches, je peux faire des tests si tu le souhaites. Comment as tu géré le fait que les switch renvoi des demandes de join régulièrement ? Sur zigbee2mqtt on est obligé de laissé en permit join le coordinateur. Pour le retour d'état, tu sondes à interval régulier ? Car sur mon réseau à partir de quelques switch (7/8), le coordinateur n'arrive plus à suivre et plante. À bientôt
Salut, Oui j'avais vu le permit join mais pas besoin avec zigate. Depuis j'ai remplacé mon module deux boutons par un module un bouton mais lui ne tient pas longtemps contrairement au 2 boutons. Pas eu le temps de regarder plus en détail pourquoi....
Je pense avoir trouvé une solution qui fait qu'il tient dans le réseau. Il est toujours alors que j'écris et cela fait plusieurs minutes alors que sinon il serait deja dans les choux. Rest a voir comment je mets ca dans le code.
Si tu arrives à le faire fonctionner en continu tu es mon dieu <3
J'ai équipé la maison, mais c'est loin d'être parfait avec z2mqtt ...
Trop d'honneur. J'ai vu que tu participais à la discussion. En fait j'ai collecté les infos z2m et utilisé la GW Livolo pour sniffer et je pense tout avoir. Il faut que je relance Akila pour avoir le retour d'état du fait de messages propriétaires ;-(
C est dans le master
reste l integration du retour d etat dans la zigate.
reste l integration du retour d etat dans la zigate.
Est ce qu'on peut avoir un retour d'état manuel en déclenchant une commande en attendant une éventuelle solution automatique ? Je vais essayer de tester ce week end ce que tu as fait.
J'ai une version de la zigate avec les modifs qu'il faut. Je vais tester ce week end.
Je viens de tester, cela fonctionne plutôt pas mal. 8 interrupteurs connectés dont 6 simples.
J'ai pas encore regardé si le retour d'état était ok, mais j'ai cru comprendre qu'il fallait mettre à jour le fwk de la zigate ? Que dois-je te faire passer pour que tu puisses rajouter le livolo 1 way switch ? (1 bouton) La ça fonctionne, la zigate les reconnait en 2 boutons et le On 1 / Off 1 sont ok.
Je vérifie demain que tous les inters sont encore dans le réseau.
Edit : comment fonctionne la commande état ? Il n'y a qu'une commande mais 2 switch. J'ai l'impression qu'elle peut prendre comme valeur 0, 1 ou 2
Les deux device sont identiques. Si tu as un bouton, tu ne rends pas visible le deuxième bouton dans Jeedom et le tour est joué.
Pour le retour d'état il faut la 3.1a (Bizarre j ai mis l inverse dans la doc, je ne sais plus) si mes souvenirs sont bons mais je ne suis pas sure que cela est completement integré dans Abeille. Je ne me souviens plus. Il faut que je regarde.
D'après mes notes, le Livolo envoie: 0: Inter 1 et 2 à Off 1: Inter 1 On et 2 Off 2: Inter 1 Off et 2 On 3: Inter 1 et 2 On
Je pense qu'Abeille ne modifie pas cette valeur.
Il faudrait que je vérifie l integration dans Abeille et que je fasse la doc: https://abeilledocsphinx.readthedocs.io/fr/latest/Livolo.html
merci @KiwiHC16 Je regarde ça à mon retour de congés
Le retour d'etat n'est pas encore dans Abeille, je viens de voir la fonction en cours de dev et surtout il faut une mise a jour du firmware (pas encore dispo) que je suis entrain de testé.
Voila c est fait. Il faut une version Firmware en cours de dev (3.1b) et la version master de ce jour. Retour d'etat quand on pilote depuis abeille mais aussi quand on utilise physiquement l'interrupteur.
Comme je vais déplacer la doc je mets le nouveau chemin: http://kiwihc16.free.fr/Livolo.html
Comme tout est ok en dev, je clos le sujet. Pour la prod il faudra attendre la prochaine verison zigate et stable abeille (ou prendre master pour impatient).
j'ai hâte de tester ça. J'ai un des interrupteurs qui est un peu capricieux avec la zigate. J'ai vu dans la doc que tu invitais à refaire l'association. J'ai essayé mais c'est pas mieux. Une idée ? Par capricieux j'entends, il ne répond pas toujours aux commandes.
J'ai voulu tester .... mais peu de doc pour compiler les sources de la zigate (3.1b), du coup pour le moment je n'ai pas pu tester. Sinon pour le moment tout semble ok sur les interrupteurs simple. Par contre pour les doubles (j'en ai 2) je perds systématiquement la synchro et je suis obligé de refaire une inclusion.
Info found on the net:
I see "Beacon Requsts" packets from the sniffer. They are on the channel 0x1A (26)
Device with modelID 'TI0001 "TI0001 " - 10th spaces after TI0001 :)
There is also a 2 channels variant of this switch, I think it's possible that both switches have the same firmware, so I added ep: {'left': 1, 'right': 2, 'both': 3},
The gateway sends to the switch a command: ZCL Level Control: Move to Level Level: 108, Transition Time: 0.1 sec - to on Level: 1, Transition Time: 0.1 sec - to off
I've found out that to toggle the second (right) switch you would have to change transition to 0.2 in published message, like this: { "brightness": 108, "transition": 0.2 }
Received zigbee message of type 'devChange' with data '{"cid":"genOnOff","data":{"onOff":3}}' where onOff is 3 if both switches are on, 2 if only right is on, 1 if only left and 0 if both are off.
Livolo always answers about its state
So, there is the last problem (at least for me). If I unplug then plug the coordinotor my switch sends 'Rejoin request', it's ok, but if I power off the switch itself, it sends 'Association request'. It's the reason why 'permit_join' has to be always 'true'.
We need to use the specific channelId and extPanId. We need to send ZCL OnOff: Toggle after the device is connected to the coordinator (only once). Poll the device ZCL OnOff: Read to get the current state of buttons.