# 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:** 1\
**Showing post:** 8

<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

---

_[View the full topic](https://community.gladysassistant.com/t/bouton-sonoff-snzb-01/6812)._
