# Bouton Sonoff SNZB-01

**URL:** <https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812>\
**Category:** Configuration\
**Created:** [Janvier 16, 2022, 5:53 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812 "2022-01-16T17:53:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 16, 2022, 5:53 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/1 "2022-01-16T17:53:46Z")

</div>

Bonjour à tous (et toutes, s’il en existe)  
j’ai fait l’acquisition d’un bouton SNZB-01 de Sonoff. Il est censé répondre au clic simple, au double-clic et au clic long.  
Mais je ne vois pas comment tirer parti du clic long, car les valeurs que rend le bouton sont “1” pour clic unique, “2” pour double-clic, et “long” pour clic long (ce sont les valeurs que je vois apparaître sur la page qui affiche le tableau de bord).  
Il me semble que les états des boutons dans les scènes ne peuvent être que des valeurs numériques [quand j’inscris “long”, la sauvegarde de scène est refusée, et toute autre valeur numérique autre que 1 et 2 est sans effet].  
Alors comment faire comprendre à Gladys que “long” est une valeur numérique ?  
Merci d’avance !  
JPL

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 17, 2022, 7:44 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/2 "2022-01-17T07:44:48Z")

</div>

**TL;DR**  
Gladys ne supporte pas encore le clic long à ma connaissance.

**Explications**  
Gladys est encore relativement jeune et certaines fonctionnalités supportées dans les services utilisés ne le sont pas dans le cœur de Gladys. Dans ton cas, le service Zigbee (qui est une intégration avec le projet Zigbee2MQTT) permet de supporter énormément de périphériques différents, dont certains disposent de fonctionnalités pas encore prises en charge.

Notamment les clic long, les caractéristiques particulières à quelques équipements, les têtes thermostatiques de chauffage, etc.

Je crois que @cicoub13 avait proposé d’ajouter “3” pour le clic long dans un premier temps, mais qu’il fallait réellement réfléchir à une solution plus pérenne (et compréhensible?).

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 17, 2022, 8:36 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/3 "2022-01-17T08:36:37Z")

</div>

> [@lmilcent](#):
>
> Je crois que @cicoub13 avait proposé d’ajouter “3” pour le clic long dans un premier temps, mais qu’il fallait réellement réfléchir à une solution plus pérenne (et compréhensible?).

Yes mais il me semble qu’on avait décidé!

> [@Scène avec un bouton (double ou simple clic)](https://community.gladysassistant.com/t/scene-avec-un-bouton-double-ou-simple-clic/6167/35):
>
> J’ai supprimé le NO\_CLICK (qui n’avait pas de sens) et l’interrupteur WXKG06LM envoie un évènement hold dans Zigbee (équivalent à un LONG\_CLICK). Il ne gère pas l’appui (press) et le relâchement de l’appui (release) J’ai donc gardé les valeurs 3 et 4 pour ne pas casser le service Xiaomi (cas d’autres interrupteurs) et j’ai : const BUTTON\_STATUS = { CLICK: 1, DOUBLE\_CLICK: 2, LONG\_CLICK\_PRESS: 3, LONG\_CLICK\_RELEASE: 4, LONG\_CLICK: 5, };

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 17, 2022, 9:08 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/4 "2022-01-17T09:08:33Z")

</div>

Bonjour,  
merci pour vos réponses.  
Une première question : à quoi physiquement pour le bouton correspond l’événement LONG\_CLICK ?  
Seconde question : je crois comprendre que les 3 fonctions du bouton Xiaomi WXKG06LM sont traitées par Gladys dès à présent ; est-ce valable aussi pour le Sonoff dorénavant, ou le sera-ce plus tard dans une prochaine mise à jour (quand ?).  
Merci encore, bonne journée,  
JPL

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 17, 2022, 9:55 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/5 "2022-01-17T09:55:15Z")

</div>

> [@jplalevee](#):
>
> Une première question : à quoi physiquement pour le bouton correspond l’événement LONG\_CLICK ?

Là dessus je pense le manuel du fabricant sera plus clair que moi, je n’ai pas ce périphérique 🙂

> [@jplalevee](#):
>
> Seconde question : je crois comprendre que les 3 fonctions du bouton Xiaomi WXKG06LM sont traitées par Gladys dès à présent ; est-ce valable aussi pour le Sonoff dorénavant,

De ce que je viens de tester, Gladys gère le «&nbsp;click&nbsp;», «&nbsp;double-click&nbsp;» et «&nbsp;long\_press&nbsp;», mais pas les autres.

> [@jplalevee](#):
>
> est-ce valable aussi pour le Sonoff dorénavant, ou le sera-ce plus tard dans une prochaine mise à jour (quand ?).

Seul toi peut nous le dire vu que tu as le bouton chez toi 😃

Si il manque des choses, tu peux discuter avec les développeurs de cette intégration sur le forum ( tous les gens qui sont dans cette discussion: [Zigbee2mqtt - Debug](https://community.gladysassistant.com/t/zigbee2mqtt-debug/6080) )

Concernant une date, on ne parle pas trop de date en général, Gladys est un projet communautaire gratuit géré par des bénévoles, donc ça dépend en général de la disponibilité des gens 🙂

Sachant que tout le monde n’a pas les appareils des autres, en général la meilleure façon d’apporter des compatibilités est de contribuer soit-même !

Dans le cas ici, il faudrait isoler tous les clés que renvoie ce capteur Sonoff, et les ajouter aux fichiers de constantes de l’intégration Zigbee2mqtt dans une PR. Idéalement, il faudrait adapter l’UI pour éviter d’afficher «&nbsp;1&nbsp;», «&nbsp;2&nbsp;», mais plutôt des mots traduits 🙂

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 17, 2022, 3:50 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/6 "2022-01-17T15:50:44Z")

</div>

Je confirme ce que j’ai écrit pour démarrer cette discussion.  
1 - La notice du “wireless switch” SNZB-01 (dénomination chez Sonoff) est très succincte ; elle ne mentionne que clic-simple, double-clic et appui long (au moins 3 secondes de pression continue). Je suppose sans grand risque de me tromper que c’est ce dernier qui génère l’évènement LONG\_CLICK.  
Les LONG\_CLICK\_PRESS et LONG\_CLICK\_RELEASE ne sont peut-être pas générés (du tout, ou de façon exploitable) par le bouton.  
2 - Or Gladys détecte bien les 3 événements attendus (1 clic, 2 clics, et clic-long), puisque la page de tableau de bord les affiche quand ils se produisent (résultats, respectivement : “1”, “2” et “ **long** ” [sans les guillemets, bien sûr]).  
3 - Mais Gladys ne sait pas traiter le clic-long dans une scène, parce que le résultat semble ne pas être numérique (si j’en juge par la chaîne de caractères que le tableau de bord affiche, et par les tests numériques que j’ai essayés [\<1, \>2] pour définir ma scène). Dans une scène, on teste obligatoirement une valeur numérique (la const BUTTON\_STATUS), et Gladys ne l’obtient pas lors d’un clic-long.  
Je serais heureux de contribuer à Gladys en apportant quelques éléments, dans la mesure de mes faibles compétences (déjà, PR et UI ne signifient pas grand chose pour moi …).  
JPL

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 18, 2022, 8:47 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/7 "2022-01-18T08:47:19Z")

</div>

> [@jplalevee](#):
>
> 3 - Mais Gladys ne sait pas traiter le clic-long dans une scène, parce que le résultat semble ne pas être numérique (si j’en juge par la chaîne de caractères que le tableau de bord affiche, et par les tests numériques que j’ai essayés [\<1, \>2] pour définir ma scène). Dans une scène, on teste obligatoirement une valeur numérique (la const BUTTON\_STATUS), et Gladys ne l’obtient pas lors d’un clic-long.

Ok, donc effectivement il manque ces valeurs dans la constante côté Gladys.

> [@jplalevee](#):
>
> Je serais heureux de contribuer à Gladys en apportant quelques éléments, dans la mesure de mes faibles compétences (déjà, PR et UI ne signifient pas grand chose pour moi …).

Génial ! Tout s’apprend 🙂

Une PR c’est une «&nbsp;Pull Request&nbsp;», c’est une demande de modification de code. Dans le projet nous utilisons Github pour héberger le code, et c’est là bas que n’importe qui peut proposer des modifications de code dans Gladys, pour ajouter une nouvelle fonctionnalité, pour corriger un bug, etc…

Bien entendu, n’importe qui ne peut pas apporter ces changements directement sans approbation, toute «&nbsp;PR&nbsp;» passe par une review faite par des membres de la communauté.

Lors de la review, on peut demander des changements (style de code pas bon, changements dans l’interface, etc…), ou approuver directement si le code parait bon, et le code sera intégré à Gladys.

Pour en savoir plus sur les PR:

[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)

Le repo Gladys:

> **[GitHub - GladysAssistant/Gladys: A privacy-first, open-source home assistant](https://github.com/GladysAssistant/Gladys)**
>
> A privacy-first, open-source home assistant. Contribute to GladysAssistant/Gladys development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 18, 2022, 1:32 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/8 "2022-01-18T13:32:43Z")

</div>

Je viens de m’inscrire sur Github (username : JPLalv), mais je n’ai pas su comment formuler une PR pour Gladys.  
Mais peu importe, dans [atrovato](https://github.com/atrovato) [Fix & clean NaN device state , j’ai trouvé ceci :

```
// Case for Button devices
case 'click': {
  switch (value) {
    case 'single':
      result = BUTTON_STATUS.CLICK;
      break;
    case 'double':
      result = BUTTON_STATUS.DOUBLE_CLICK;
      break;
    case 'hold':
      result = BUTTON_STATUS.LONG_CLICK;
      break;
    default:
      result = value;
  }
  break;

```

Le bouton Sonoff SNZH-01 envoie “single”, “double” et “ **long** ”.  
Le module ci-dessus exploite “single”, “double” et “ **hold** ”  
Ceci explique-t-il cela ?

Ce que je ferais : conserver le traitement de “hold”, puisqu’apparemment certains boutons envoient ce code, et ajouter le traitement de “long” avec le même résultat.  
Je ne connais pas javascript, mais j’ajouterais quelque chose comme :  
case ‘long’:  
result = BUTTON\_STATUS.LONG\_CLICK;

J’ai bon 🤕 ?  
JPL

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 18, 2022, 5:23 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/9 "2022-01-18T17:23:59Z")

</div>

Oui c’est ça, avec le `break` en plus.  
En fait tu peux cloner les 3 lignes du `hold` et les modifier !

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 19, 2022, 12:47 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/10 "2022-01-19T12:47:48Z")

</div>

Merci lmilcent.  
tu peux le faire à ma place ? Merci d’avance.  
Maintenant, ma question précédente revient : quand sera-ce effectif dans Gladys, (faut-il attendre une nouvelle version) ? Ce n’est qu’une question ; ne pas y voir une volonté de ma part de titiller ceux qui y travaillent, et dont j’admire la production !.  
En fait, j’aimerais bien que mon bouton Sonoff fonctionne complètement, ce qui pourra aussi servir à d’autres que moi : le dit bouton est encore en solde chez Domadoo à 8,93 €.  
JPL

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 19, 2022, 1:40 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/11 "2022-01-19T13:40:41Z")

</div>

Pour moi c’est ça le code :

```javascript
// Case for Button devices
case 'click': {
  switch (value) {
    case 'single':
      result = BUTTON_STATUS.CLICK;
      break;
    case 'double':
      result = BUTTON_STATUS.DOUBLE_CLICK;
      break;
    case 'hold':
      result = BUTTON_STATUS.LONG_CLICK;
      break;
    case 'long':
      result = BUTTON_STATUS.LONG_CLICK;
      break;
    default:
      result = value;
  }
  break;

```

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 19, 2022, 1:47 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/12 "2022-01-19T13:47:33Z")

</div>

> [@jplalevee](#):
>
> tu peux le faire à ma place ? Merci d’avance.

C’est fait 🙂

Pour le faire, voici comment je m’y suis pris (pour info) :

1. Chercher le fichier que tu mentionnais
2. Sélectionner la branche «&nbsp;master&nbsp;» pour ce fichier
3. Cliquer sur «&nbsp;modifier le fichier&nbsp;»
4. Faire la modification et valider
5. Compléter la pull request automatiquement préremplie
6. Valider et attendre qu’un développeur Gladys approuve la modification

> <https://github.com/GladysAssistant/Gladys/pull/1416>
>
> As requested here:
> https://community.gladysassistant.com/t/bouton-sonoff-snzb-0…1/6812/8
> 
> \### Description of change
> 
> Adding another case for devices with "long" events (equivalent to existing "hold" event).

> [@jplalevee](#):
>
> Maintenant, ma question précédente revient : quand sera-ce effectif dans Gladys, (faut-il attendre une nouvelle version) ? Ce n’est qu’une question ; ne pas y voir une volonté de ma part de titiller ceux qui y travaillent, et dont j’admire la production !.

C’est à chaque nouvelle version que ces modifications sont prises en comptes. Sachant qu’en moyenne il y a eu une mise à jour toutes les 2 semaines cette année je crois, ça peut rapidement être déployé 🙂

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 19, 2022, 5:19 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/13 "2022-01-19T17:19:28Z")

</div>

Un grand merci pour ton aide et tes explications.  
Peut-être qu’à l’avenir, si le cas se produit, je serai capable de me débrouiller seul dans Github.  
Quant à Javascript, je n’ai plus qu’à m’y plonger.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 20, 2022, 12:17 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/14 "2022-01-20T12:17:41Z")

</div>

Merci à tous les deux, beau travail d’équipe !

En revanche pour que cette PR soit intégrée, il manque 2 choses:

- Des tests unitaires: Gladys 4 est stable sur le long terme justement parce qu’on test tout, c’est hyper important. Là ta PR ne passe pas parce que justement le code coverage n’est pas bon (pas de test écrits).

- Des tests “réels”: Dans Gladys 4 on test pas en prod, on fait des tests réels avant merge. Pour cela il faut faire un build Docker de ta branche, build qui peut-être ensuite testé par quelqu’un qui a du matériel

Normalement quand tu créé une PR il y a une checklist qui est pré-remplie et qui doit être remplie avant merge, là j’ai l’impression que tu l’as retirée?

Exemple:

 ![Screenshot 2022-01-20 at 13.17.20](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/8/8e45e04ee11bee3141cd4022dbabf498d5d60861.jpeg)

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 20, 2022, 3:00 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/15 "2022-01-20T15:00:09Z")

</div>

Oui je confirme, c’était bien présent. Vu la modification, de nouveaux tests ne devraient pas être nécessaires, on peut se reposer sur les tests actuels non ?  
J’ai fait la modification depuis mon boulot, donc depuis l’interface web de GitHub et effectivement je n’ai pas testé le tout en local. C’est d’ailleurs pour ça que je n’ai pas laissé la liste, n’ayant pas passé tous les tests.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 20, 2022, 4:37 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/16 "2022-01-20T16:37:54Z")

</div>

> [@lmilcent](#):
>
> C’est d’ailleurs pour ça que je n’ai pas laissé la liste, n’ayant pas passé tous les tests.

Oui mais du coup on n’a pas la checklist qui permet d’attester que tout est bon sur cette PR.

> [@lmilcent](#):
>
> Vu la modification, de nouveaux tests ne devraient pas être nécessaires, on peut se reposer sur les tests actuels non ?

Et non, là dessus on est très strict, si il y a du nouveau code, il doit y avoir des nouveaux tests pour vérifier que le code fonctionne et fonctionnera dans le futur.

Si tu n’écris pas de test, potentiellement dans 4 mois quelqu’un retire la ligne, et ça posera aucun souci vu qu’il n’y a pas de test, et celui qui remarquera que ça ne fonctionne plus, c’est l’utilisateur final.

Dans Gladys 4 justement on essaie d’être rigoureux, c’est pas à l’utilisateur final de se rendre compte que Gladys est cassée à chaque nouvelle version, c’est nos process en place qui vérifient que le logiciel fait ce qu’on veut, maintenant et dans les 10 prochaines années 🙂

D’ailleurs tout ça c’est pas moi qui le vérifie, c’est l’intégration continue qui vérifie que chaque ligne écrite est bien couverte, via notre outil de code coverage.

Ta PR apparait comme «&nbsp;non valide&nbsp;» et le merge est bloquée:

 ![Screenshot 2022-01-20 at 17.36.16](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/e/e7b400706b4f947e185d7ca94ca5cba7a3397708.png)

 ![Screenshot 2022-01-20 at 17.36.24](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7ae56bada17628b637481614ecdea864abaf0747.jpeg)

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 20, 2022, 4:55 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/17 "2022-01-20T16:55:19Z")

</div>

Ok c’est bien compris, je fais ça dès que possible 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Janvier 20, 2022, 5:02 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/18 "2022-01-20T17:02:04Z")

</div>

Génial ! Je ping @cicoub13 qui avait travaillé sur ces boutons clics, je voudrais être sûr que les valeurs choisies ici pour “long” sont bien les bonnes.

Est-ce que c’est normal de prendre la même valeur pour “hold” et “long” ? On veut pas différencier ces évènements ?

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Janvier 20, 2022, 5:03 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/19 "2022-01-20T17:03:57Z")

</div>

Je pense que c’est la même chose, mais deux constructeurs différents. @cicoub13 pourra peut être le confirmer ?

---

<div class="post-metadata">

**Author:** ![jplalevee](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jplalevee](https://community.gladysassistant.com/u/jplalevee)\
**Post date:** [Janvier 20, 2022, 5:34 UTC](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812/20 "2022-01-20T17:34:28Z")

</div>

Le bouton Sonoff envoie “long”. Il ne peut pas envoyer LONG\_CLICK\_PRESS ni LONG\_CLICK\_RELEASE . Je ne vois personnellement aucun inconvénient à ce que la valeur prise par Button\_status soit 5 lors d’un appui de longue durée.  
Quels sont les boutons (marques ?) qui envoient long\_click\_press et long\_click\_release ?  
Ces deux évènements me paraissent bizarres…

[Page suivante](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812.md?page=2)
