Commutateur aqara

Bonjour,

je viens d’acheter la clé conbee 2 avec le plugin zigbee.

avant cela j’utilisais ma domotique avec le plugin xiaomi home.
sur ces boutons on avait le click le double click et l’appui long.

j’ai testé déconz un peu, et on l’avait aussi avec les valeur 1000 1001 et 1004.

je n’arrive pas à retrouver le click long (que je souhaite pour faire varier l’intensité de mon strip)
j’ai soit dans les logs, le type single, ou le type double.

pourriez vous me dire comment gérer cet état « appuie long »

merci d’avance
Cordialement

Bonjour,
Avec le #plugin-zigbee :

  • 1 ou 2 = clic/double clic
  • 16 = maintien long
  • 17 = relache long

Bon WE

hello
ok, je vais regarder cela :slight_smile: merci. car pour le moment dans les logs j’ai « single » ou « double ».

bon WE

hello
bon finalement je n’y arrive toujours pas :slight_smile:
je n’ai malheureusement pas compris le 1 ou 2 et 16 et 17 :slight_smile:tout ce que je vois c’est single ou double :s
merci pour ton aide

pour aider voilà ce que j’ai en debug

sur un click press

[2021-04-18 23:36:12][DEBUG] : {"devices":{"00:15:8d:00:01:e8:67:99":{"1":{"6":{"event":{"click":{"value":{"click_type":"single"},"cluster_name":"On\/Off"}},"0":{"value":"True","cluster_name":"On\/Off"}}}}}}
[2021-04-18 23:36:12][DEBUG] : Search event command for 00:15:8d:00:01:e8:67:99 logicalId : 1::6::event::click::click_type => single
[2021-04-18 23:36:12][DEBUG] : Search attribut for 00:15:8d:00:01:e8:67:99 logicalId : 1::6::0 => True
[2021-04-18 23:36:13][DEBUG] : http://127.0.0.1:8089/device/command type : PUT
[2021-04-18 23:36:13][DEBUG] : {"ieee":"00:17:88:01:09:b7:e9:64","cmd":[{"endpoint":11,"cluster":"on_off","command":"off","await":1}],"allowQueue":false}
[2021-04-18 23:36:13][DEBUG] : {"devices":{"00:17:88:01:09:b7:e9:64":{"11":{"6":[{"value":"Bool.false","cluster_name":"On\/Off"}]}}}}
[2021-04-18 23:36:13][DEBUG] : Search attribut for 00:17:88:01:09:b7:e9:64 logicalId : 11::6::0 => Bool.false
[2021-04-18 23:36:18][DEBUG] : {"devices":{"7c:b0:3e:aa:0a:04:f3:54":{"3":{"8":[{"value":"123","cluster_name":"Level control"}]}}}}
[2021-04-18 23:36:18][DEBUG] : Search attribut for 7c:b0:3e:aa:0a:04:f3:54 logicalId : 3::8::0 => 123
[2021-04-18 23:36:24][DEBUG] : {"devices":{"00:15:8d:00:01:e8:67:99":{"1":{"6":[{"value":"False","cluster_name":"On\/Off"}]}}}}
[2021-04-18 23:36:24][DEBUG] : Search attribut for 00:15:8d:00:01:e8:67:99 logicalId : 1::6::0 => False

alors que d’après ce que je comprend les events pour ce bouton sont :
Name ;Zigbee entity ;Model no. :States :Event :Event key :Event values
Button (1st gen) ;switch ; WXKG01LM ;on (through long_click_press), off ;xiaomi_aqara.click ; click_type ;long_click_press, hold, single, double

avec le plugin xiaomi de lunarok j’avais bien ce long_press, et également avec deconz, mais je n’ai rien avec le plugin zigbee.

merci pour votre aide

je fais un edit à @Loic au cas ou il passe par là

Bonjour,
Dans la log je ne vois aucun long press donc impossible pour moi de le remonter dans le plugin désole.

Bonjour @Loic ,
oui c’est bien cela le pb.
hésite pas à me dire si je dois faire des manips pour que tu ais plus d’info…

si j’appuie long, ca ne remonte que le click dans le log.

Si ca remonte pas dans la log ya rien a faire c’est pas possible avec le plugin zigbee

ce n’est pas possible actuellement, mais ca doit être possible, en théorie non, puisque c’est possible avec d’autre ?
peut etre avec un timer, si temps_click sans release > xx alors remonter click long ?
ayant acheté le plugin le pensant équivalent, c’est un peu dommage.

Le plugin remonte ce que le module remonte ya surement un truc pour avoir le long click mais malheureusement au vu des demandes je n’ai pas le temps de creuser.
Pour l’équivalence nous ne l’avons jamais dit c’est bien pour ca que les 2 plugins sont maintenus.

ok…
il est sur github le plugin ? quand je regarde là, hormis la lib, je ne vois pas le plugin dans les derniers update

merci

Salut,

Le plugin est bien sur github mais privé car payant.

Tu peux accéder aux fichiers du plugin directement sur la machine qui héberge Jeedom dans le répertoire var/www/html/plugins/zigbee

1 « J'aime »

merci @Salvialf et @Loic

je reviens pas mal de temps après la guerre :slight_smile: mais j’ai enfin eu le temps de regarder mieux.

donc en fait, j’avais mal vu, ou il y a eu une évol dans le tas,
sur simple click j’ai ca

[2021-09-20 11:20:58][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":{"0":{"value":"False","cluster_name":"On\/Off"},"event":{"click":{"value":{"click_type":"single"},"cluster_name":"On\/Off"}}}}}}}
[2021-09-20 11:20:58][DEBUG] : Search attribut for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::0 => False convert to False
[2021-09-20 11:20:58][DEBUG] : Search event command for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::event::click::click_type => single convert to single
[2021-09-20 11:21:13][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":[{"value":"True","cluster_name":"On\/Off"}]}}}}
[2021-09-20 11:21:13][DEBUG] : Search attribut for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::0 => True convert to True
[2021-09-20 11:21:13][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":{"event":{"click":{"value":{"click_type":"single"},"cluster_name":"On\/Off"}},"0":{"value":"False","cluster_name":"On\/Off"}}}}}}
[2021-09-20 11:21:13][DEBUG] : Search event command for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::event::click::click_type => single convert to single
[2021-09-20 11:21:13][DEBUG] : Search attribut for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::0 => False convert to False

et sur le long_press j’'ai ca:

[2021-09-20 11:19:48][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":[{"value":"True","cluster_name":"On\/Off"}]}}}}
[2021-09-20 11:19:48][DEBUG] : Search attribut for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::0 => True convert to True
[2021-09-20 11:19:49][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":{"event":{"hold":{"value":[],"cluster_name":"On\/Off"}}}}}}}
[2021-09-20 11:20:01][DEBUG] : {"devices":{"00:15:8d:00:02:7a:fa:36":{"1":{"6":{"event":{"release":{"value":[],"cluster_name":"On\/Off"}},"0":{"value":"False","cluster_name":"On\/Off"}}}}}}
[2021-09-20 11:20:01][DEBUG] : Search attribut for 00:15:8d:00:02:7a:fa:36 logicalId : 1::6::0 => False convert to False

on remarque un event hold et un release, avec rien derrière.

du coup, en faisant une bidouille salle,

du genre :

 else if (strcmp($attribut_id, 'event') === 0) {
							foreach ($value as $cmd_id => $cmd_value) {
								if (is_array($cmd_value['value'])) {
									if (empty($cmd_value['value'])) {
										log::add('zigbee', 'debug', 'Search event command for empty ' . $ieee . ' logicalId : ' . $endpoint_id . '::' . $cluster_id . '::' . $attribut_id . '::' . $cmd_id);
										log::add('zigbee', 'debug', 'Search event command for empty5 ' . $cmd_id);
										if(strcmp($cmd_id, 'hold') === 0){
											log::add('zigbee', 'debug', 'Search event command for find ');
										    $zigbee->checkAndUpdateCmd('1::6::event::click::click_type', 'hold');
										    $zigbee->checkAndUpdateCmd('1::6::event::click::click_type' . '::raw', 'hold');
										} 
									}

j’arrive bien à me lancer l’event hold, exploitable après dans les scenarios.

[2021-09-20 17:51:59][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 1
[2021-09-20 17:52:00][INFO] : Evènement sur la commande [chambre parent][inter2][Event] valeur : single
[2021-09-20 17:52:00][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 0
[2021-09-20 17:52:00][INFO] : Exécution du scénario [Aucun][chambre parent][chambre parent inter2] déclenché par : [chambre parent][inter2][Event]
[2021-09-20 17:52:04][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 1
[2021-09-20 17:52:04][INFO] : Evènement sur la commande [chambre parent][inter2][Event] valeur : single
[2021-09-20 17:52:04][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 0
[2021-09-20 17:52:05][INFO] : Exécution du scénario [Aucun][chambre parent][chambre parent inter2] déclenché par : [chambre parent][inter2][Event]
[2021-09-20 18:14:39][INFO] : Evènement sur la commande [chambre parent][inter2][Event] valeur : single
[2021-09-20 18:14:39][INFO] : Exécution du scénario [Aucun][chambre parent][chambre parent inter2] déclenché par : [chambre parent][inter2][Event]
[2021-09-20 18:14:42][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 1
[2021-09-20 18:14:43][INFO] : Evènement sur la commande [chambre parent][inter2][Event] valeur : hold
[2021-09-20 18:14:43][INFO] : Exécution du scénario [Aucun][chambre parent][chambre parent inter2] déclenché par : [chambre parent][inter2][Event]
[2021-09-20 18:14:50][INFO] : Evènement sur la commande [chambre parent][inter2][Etat] valeur : 0

je n’ai pas vu, si il était possible d’intercepter cela plus haut dans la chaine, avant encodage json par ex, pour avec quelque chose de plus générique, ou si il y a moyen de faire un override par ex, en fonction du matériel ?

bref, qu’en pensez vous ?

merci

Bonjour @ellipse2v,

Je suis novice dans l’écriture de code.
Tu peux me dire ou tu as réalisé la modification.

Merci par avance.

bonjour @Boulou81600
désolé pour la réponse si tardive, je n’avais pas vu la notification

c’est dans ce fichier plugin/zigbee/core/php/jeeZigbee.php

par contre, a chaque update du plugin, je suis obligé de faire un merge