# Zigbee2mqtt : Image docker de test basée Gladys v4

**URL:** <https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746>\
**Category:** Développement\
**Created:** [Novembre 15, 2020, 10:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746 "2020-11-15T10:41:16Z")\
**Posts on this page:** 20\
**Page:** 17

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 6, 2021, 8:39 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/325 "2021-04-06T20:39:46Z")

</div>

@cicoub13 je me disais que ça aller être chiant à maintenir les devices z2m.

On pourrait pas gérer le mapping feature automatiquement ?

Ces informations étant disponibles sur le broker.

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [Avril 6, 2021, 9:20 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/326 "2021-04-06T21:20:33Z")

</div>

Non. J’avais déjà réfléchi à ça de deux manières :

- via le message contenant tous les devices [MQTT topics and message structure | zigbee2mqtt.io](https://www.zigbee2mqtt.io/information/mqtt_topics_and_message_structure.html#zigbee2mqttbridgedevices) =\> le champ `exposes` de `definition` pourrait nous être utile pour un mapping automatique, mais j’ai testé plein de fois avec des périphériques différents et je n’ai jamais ce champ ☹ (exemple ici : [Zigbee devices - Pastebin.com](https://pastebin.com/CVAEpg0K))
- via le premier message du device [MQTT topics and message structure | zigbee2mqtt.io](https://www.zigbee2mqtt.io/information/mqtt_topics_and_message_structure.html#zigbee2mqttfriendly_name) =\> le souci, c’est qu’il ne contient pas assez d’information. Par exemple, un interrupteur et une ampoule enverront le même message `{"state": "ON"}`

Si tu as une idée, je suis preneur 😉

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [Avril 6, 2021, 9:35 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/327 "2021-04-06T21:35:56Z")

</div>

Ah beh trouvé 🙄

En ajoutant `include_device_information: true` dans la configuration du container **zigbee2mqtt** , on peut récupérer la liste des fonctionnalités exposées par chaque device et faire un mapping automatique.

Je ne sais pas si c’est mieux de contrôler la configuration des appareils qu’on a testés OU de faire un mapping automatique qui devra gérer beaucoup de cas.

```auto
{
  "date_code" : "20191205",
  "definition" : {
    "description" : "Aqara temperature, humidity and pressure sensor",
    "exposes" : [ {
      "access" : 1,
      "description" : "Remaining battery in %",
      "name" : "battery",
      "property" : "battery",
      "type" : "numeric",
      "unit" : "%",
      "value_max" : 100,
      "value_min" : 0
    }, {
      "access" : 1,
      "description" : "Measured temperature value",
      "name" : "temperature",
      "property" : "temperature",
      "type" : "numeric",
      "unit" : "°C"
    }, {
      "access" : 1,
      "description" : "Measured relative humidity",
      "name" : "humidity",
      "property" : "humidity",
      "type" : "numeric",
      "unit" : "%"
    }, {
      "access" : 1,
      "description" : "The measured atmospheric pressure",
      "name" : "pressure",
      "property" : "pressure",
      "type" : "numeric",
      "unit" : "hPa"
    }, {
      "access" : 1,
      "description" : "Voltage of the battery in millivolts",
      "name" : "voltage",
      "property" : "voltage",
      "type" : "numeric",
      "unit" : "mV"
    }, {
      "access" : 1,
      "description" : "Link quality (signal strength)",
      "name" : "linkquality",
      "property" : "linkquality",
      "type" : "numeric",
      "unit" : "lqi",
      "value_max" : 255,
      "value_min" : 0
    } ],
    "model" : "WSDCGQ11LM",
    "supports_ota" : false,
    "vendor" : "Xiaomi"
  }

```

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 6, 2021, 10:06 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/328 "2021-04-06T22:06:38Z")

</div>

Y’a du taf pour faire un smart mapping mais une fois que c’est fait on a aussi une compatibilité future.

Les sensors en soit c’est facile à faire, les switchs c’est une autre histoire.

HA ils font comme ça mais ils ont un avantage, tout est au format mqtt HA.

Cette option fait partie de ma conf ( avec l’horodatage aussi) donc j’avais pas tilté. Je pensais que c’était exposé par défaut.

---

<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:** [Avril 7, 2021, 5:44 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/329 "2021-04-07T05:44:37Z")

</div>

La détection automatique des features exposées ça serait vraiment l’idéal pour s’assurer que tous les périphériques sont supportés par défaut.

Mais on peu garder le meilleur des deux mondes :

1. Si un fichier modèle existe, celui-ci est utilisé
2. Sinon on détecte automatiquement (et on l’affiche dans l’UI ?) les features

Comme ça tous les nouveaux périphériques sont supportés, mais on peut gérer les cas particulier en forçant une certaine configuration.

---

<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:** [Avril 7, 2021, 2:02 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/330 "2021-04-07T14:02:39Z")

</div>

Pour info, Gladys v4.2.2 est en cours de build avec les fix de @VonOx et @cicoub13 !

Build en cours ici:

[https://github.com/GladysAssistant/Gladys/actions/runs/726223336](https://github.com/GladysAssistant/Gladys/actions/runs/726223336)

---

<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:** [Avril 7, 2021, 2:47 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/331 "2021-04-07T14:47:42Z")

</div>

Gladys v4.2.2 est bien live avec les changements 🙂 Dites moi si c’est bon avant que je communique dessus

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 7, 2021, 2:58 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/332 "2021-04-07T14:58:46Z")

</div>

Est ce que quelqu’un peut vérifier rapidement le z2m, impossible d’accèder au discover en 4.2.2  
FF:  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/2/20387e85f1f5078d167327d83c4d83365375d5da.png)

edge:

![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/2/265c7a77abf4bc1e2529a52e3caa0b6d731aaf78.png)

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [Avril 7, 2021, 3:07 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/333 "2021-04-07T15:07:58Z")

</div>

Même erreur pour moi

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 7, 2021, 3:09 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/334 "2021-04-07T15:09:46Z")

</div>

@pierre-gilles Ça serai pas le select react qui a été merge ?

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [Avril 7, 2021, 3:17 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/335 "2021-04-07T15:17:17Z")

</div>

preact-i18n a été mis à jour de 2.0.X à 2.3.X et dans une version, ils ont touché au context [Release 2.1.1-preactx · synacor/preact-i18n · GitHub](https://github.com/synacor/preact-i18n/releases/tag/2.1.1-preactx)

Je peux regarder ce soir pour corriger

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 7, 2021, 3:26 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/336 "2021-04-07T15:26:07Z")

</div>

On l’aurais vu avec Cypress @AlexTrovato ?

Tant pis pour les nouveaux devices 😅

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Avril 7, 2021, 3:27 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/337 "2021-04-07T15:27:15Z")

</div>

Est-ce dans cette build que mon ampoule est sensée redevenir une ampoule ? (et pas un interrupteur)

Là j’ai supprimé mon device,rre-aajouté, mais rien de neuf.

Dois-je refaire la manip complète ? C’est à dire avec extinction/allumage de l’ampoule 5 fois?

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 7, 2021, 3:29 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/338 "2021-04-07T15:29:55Z")

</div>

> [@guim31](#):
>
> Est-ce dans cette build que mon ampoule est sensée redevenir une ampoule ? (et pas un interrupteur)
> 
> Là j’ai supprimé mon device,rre-aajouté, mais rien de neuf.

T’es pas en 4.2.2 puisque l’onglet discover n’est plus accessible (c’est pété)

> [@guim31](#):
>
> Dois-je refaire la manip complète ? C’est à dire avec extinction/allumage de l’ampoule 5 fois?

Non pas besoin de refaire L’appairage.

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Avril 7, 2021, 3:32 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/339 "2021-04-07T15:32:22Z")

</div>

> [@VonOx](#):
>
> T’es pas en 4.2.2 puisque l’onglet discover n’est plus accessible (c’est pété)

T’en veux du boulet ?

![Screenshot_20210407173158](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/9/97391f94a140c1eb0b2050332663feac0c04befb.jpeg)

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [Avril 7, 2021, 5:06 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/340 "2021-04-07T17:06:14Z")

</div>

Ça touche aussi :

- la sélection de devices dans la box du dashboard
- le calendar
- l’édition de scènes
- les service bluetooth, mqtt, zigbee2mqtt
- la recherche dans Intégrations

@pierre-gilles Je pense que le mieux est de rollback ces 2 PR puis de prendre un peu plus de temps pour analyser (notre usage de `this.context.intl` est un hack à mon avis 😛 )  
[https://github.com/GladysAssistant/Gladys/pull/1128](https://github.com/GladysAssistant/Gladys/pull/1128)  
[https://github.com/GladysAssistant/Gladys/pull/1126](https://github.com/GladysAssistant/Gladys/pull/1126)

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Avril 7, 2021, 5:24 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/341 "2021-04-07T17:24:38Z")

</div>

![url(2)](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/3/3a6f7567b64d94713114e458b7ba15032f2c6e85.jpeg)

Eh beh il a tout péter Rob 😅

C’est la que l’on se rend compte qu’il n’y a aucun test sur le front.

---

<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:** [Avril 7, 2021, 7:18 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/342 "2021-04-07T19:18:38Z")

</div>

🔥 «&nbsp;C’est bon&nbsp;» 🔥

---

<div class="post-metadata">

**Author:** ![AlexTrovato](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/alextrovato/32/10705_2.png) [@AlexTrovato](https://community.gladysassistant.com/u/AlexTrovato)\
**Post date:** [Avril 7, 2021, 7:26 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/343 "2021-04-07T19:26:22Z")

</div>

> On l’aurais vu avec Cypress

Clairement oui, à partir du moment où les tests sont faits.  
Mais ce problème je l’ai sur la migration preact (pour tester le coverage cypress).

ça vient de cette PR uniquement

> <https://github.com/GladysAssistant/Gladys/pull/1128/files>
>
> \### Pull Request check-list
> 
> \- \[x\] If your changes affects code, did your writ…e the tests?
> - coverage in frontend is limited; might propose \[Preact testing library\](https://testing-library.com/docs/preact-testing-library/example#test)
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[x\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[x\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[x\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[x\] Did you add fake requests data for the demo mode (\`front/src/config/demo.json\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> \### Description of change
> 
> Follow on from #1126 with a more general solution. This new LocalizedSelect accepts options with a translation key as the label. The component will then look up the translated string and substitute the key for the string when calling react-select.

La [seconde](https://github.com/GladysAssistant/Gladys/pull/1126/files) n’est pas impactée.

---

<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:** [Avril 8, 2021, 12:22 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/344 "2021-04-08T00:22:51Z")

</div>

Ah mince !! Je pensais avoir tout testé pourtant 😅 j’ai du oublier un select

My bad !

[Page précédente](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=16)

[Page suivante](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=18)
