# Intégration externe - Netatmo

**URL:** <https://community.gladysassistant.com/t/integration-externe-netatmo/11308>\
**Category:** Développement\
**Tags:** integration-externe\
**Created:** [Octobre 16, 2026, 7:03 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308 "2026-10-16T07:03:03Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![PhilippeMA](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/p/b3f665/32.png) [@PhilippeMA](https://community.gladysassistant.com/u/PhilippeMA)\
**Post date:** [Octobre 22, 2026, 12:10 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/21 "2026-10-22T12:10:58Z")

</div>

> [@Terdious](#):
>
> ’a aucun effet et des logs qui ne disent rien. C’est corrigé dans la **v2.6.2** , disponible dès

Bonjour @Terdious, merci pour ta réactivité.

Les commandes sont sans effet, voici les logs :

```yaml
[2026-10-22T11:59:19.611Z] [INFO] Starting the Netatmo integration...
[2026-10-22T11:59:20.641Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
[2026-10-22T11:59:20.643Z] [INFO] WebSocket connected to Gladys
[2026-10-22T11:59:21.008Z] [INFO] [netatmo-webhooks] Netatmo webhook registered — events will trigger an immediate refresh
[2026-10-22T11:59:21.012Z] [INFO] Netatmo account connected, token refresh and telemetry engines armed
[2026-10-22T11:59:21.220Z] [INFO] [netatmo-telemetry] Netatmo devices not supported: 1
[2026-10-22T11:59:49.564Z] [INFO] onSetValue <- ext:ext-terdious-gladys-netatmo:0000991652:state = -1
[2026-10-22T11:59:49.566Z] [WARN] Command ext:ext-terdious-gladys-netatmo:0000991652:state = -1 failed: Feature ext:ext-terdious-gladys-netatmo:0000991652:state is not writable
[2026-10-22T12:01:13.869Z] [INFO] onSetValue <- ext:ext-terdious-gladys-netatmo:0000991652:state = -1
[2026-10-22T12:01:13.870Z] [WARN] Command ext:ext-terdious-gladys-netatmo:0000991652:state = -1 failed: Feature ext:ext-terdious-gladys-netatmo:0000991652:state is not writable
[2026-10-22T12:07:15.840Z] [WARN] WebSocket disconnected - the SDK will try to reconnect
[2026-10-22T12:07:15.841Z] [WARN] [gladys-sdk] connection to Gladys lost (close code 1006)
[2026-10-22T12:07:15.842Z] [WARN] [gladys-sdk] not connected to Gladys (ws://172.30.0.1:80), retrying in 1000 ms (attempt 1)
[2026-10-22T12:07:15.860Z] [INFO] Received SIGTERM -> graceful shutdown
[2026-10-22T12:07:16.619Z] [INFO] Starting the Netatmo integration...
[2026-10-22T12:07:17.351Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
[2026-10-22T12:07:17.351Z] [INFO] WebSocket connected to Gladys
[2026-10-22T12:07:17.800Z] [INFO] [netatmo-webhooks] Netatmo webhook registered — events will trigger an immediate refresh
[2026-10-22T12:07:17.803Z] [INFO] Netatmo account connected, token refresh and telemetry engines armed
[2026-10-22T12:07:17.932Z] [INFO] [netatmo-telemetry] Netatmo devices not supported: 1
[2026-10-22T12:07:36.297Z] [INFO] onSetValue <- ext:ext-terdious-gladys-netatmo:0000991652:state = -1
[2026-10-22T12:07:36.298Z] [WARN] Command ext:ext-terdious-gladys-netatmo:0000991652:state = -1 failed: Feature ext:ext-terdious-gladys-netatmo:0000991652:state is not writable

```

J’ai demandé à Claude de regarder sur l’intégration Legrand de Gladys qui semble fonctionner, voici sa réponse :

L’intégration traduit la commande Gladys en un champ `target_position` envoyé à l’API Netatmo (`POST setstate`), puisque les volets Bubendorff iDiamant passent par la passerelle NBG et le cloud Netatmo.

| Action | Valeur Gladys (`COVER_STATE`) | `target_position` envoyé à Netatmo |
| --- | --- | --- |
| Ouvrir | `1` | `100` |
| Fermer | `-1` | `0` |
| Stop / pause | `0` | `-1` |

La correspondance est définie dans `src/commands.js` (constante `SHUTTER_TARGETS`). Le corps de la requête ressemble à ceci :

json

```auto
{
  "home": {
    "id": "<home_id>",
    "modules": [
      { "id": "<id_du_volet>", "bridge": "<id_passerelle_NBG>", "target_position": -1 }
    ]
  }
}

```

Quelques détails utiles :

- **Position intermédiaire** : si le module la gère, la fonction « position » envoie une valeur entre 0 et 100, arrondie au pas du module (`target_position:step`). Si ce pas vaut 100, le volet ne fait qu’ouvrir, fermer et stopper, et l’intégration refuse les positions intermédiaires.
- **Position favorite** : l’API Netatmo accepte aussi `-2` (aller à la position favorite), mais l’intégration ne la propose pas (c’est indiqué en commentaire dans `src/catalog.js`).
- **Priorité du stop** : une commande stop (`-1`) passe devant les autres commandes en attente pour le même volet, pour qu’elle ne soit jamais retardée.
- **Types concernés** : NBR (volet roulant), NBO (volet orientable) et NBS (volet battant). Les droits OAuth nécessaires sont `read_bubendorff` et `write_bubendorff`.

---

<div class="post-metadata">

**Author:** ![PhilippeMA](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/p/b3f665/32.png) [@PhilippeMA](https://community.gladysassistant.com/u/PhilippeMA)\
**Post date:** [Octobre 22, 2026, 12:16 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/22 "2026-10-22T12:16:41Z")

</div>

Et le résultat du diagnostic :

```auto
Netatmo integration — device diagnostic
Integration version: 2.6.2
Report time: 2026-10-22T12:14:49.770Z
Enabled families: Energy (energy_api), Weather (weather_api), Shutter (shutter_api)
Scopes requested: read_thermostat write_thermostat read_station read_camera write_camera access_camera read_presence write_presence access_presence read_carbonmonoxidedetector read_smokedetector read_doorbell access_doorbell read_camerapro write_camerapro access_camerapro read_homecoach read_bubendorff write_bubendorff read_smarther write_smarther
Scopes granted: unknown until the next token refresh
Scopes missing: none

Account health:
  Last load: 2026-10-22T12:14:49.732Z
  homes: last success 2026-10-22T12:14:49.732Z, 0 consecutive failure(s)
  energy: last success 2026-10-22T12:14:49.732Z, 0 consecutive failure(s)
  weather: last success 2026-10-22T12:14:49.732Z, 0 consecutive failure(s)
  Degraded: no
  Webhook (Gladys Plus): registered at Netatmo, last event received never, 0 since start
  Webhook URL held by Netatmo: the integration's URL (https://api.gladysgateway.com/v1/api/external-integration/<redacted>)
  Events poll (getevents): not run yet (no camera, doorbell, alarm or door entry discovered with its family on)

Module 0000991652
  Type: NBR
  Name: Volet roulant Piano
  Home: Maison 2026 (698082729e9ab46fbd0313ab)
  Bridge: xx:xx:xx:xx:xx:xx
  Reachable: yes
  Support: supported (Shutter family)
  Gladys device: "Volet roulant Piano" ext:ext-terdious-gladys-netatmo:0000991652 (NBR), created in Gladys
  Features: state (shutter/state, writable), position (shutter/position, writable), rf_strength (signal/integer)
  Fields not used by the integration: battery_level, firmware_revision, last_seen, setup_date, target_position, target_position:step
  homesdata: {"id":"0000991652","type":"NBR","name":"Volet roulant Piano","setup_date":1792610320,"room_id":"3615225310","bridge":"xx:xx:xx:xx:xx:xx"}
  homestatus: {"id":"0000991652","type":"NBR","current_position":100,"target_position":100,"target_position:step":1,"battery_level":3,"firmware_revision":2,"rf_strength":0,"last_seen":1792668515,"reachable":true,"bridge":"xx:xx:xx:xx:xx:xx"}
  Recent webhook events naming it:
    none since the integration started
  Last events seen by getevents:
    none since the integration started

How to report: open an issue at https://github.com/Terdious/gladys-netatmo/issues/new and paste this report. Read it first: tokens, URLs and e-mail addresses are redacted, but module, home and event ids and the names you gave your modules are kept.

```

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Octobre 22, 2026, 6:39 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/23 "2026-10-22T18:39:42Z")

</div>

Merci @PhilippeMA, c’est exactement ce qu’il fallait 👍

Les logs de la 2.6.2 montrent enfin la vraie erreur : `Feature …:state is not writable`. L’intégration refusait la commande **avant même de l’envoyer à Netatmo**. La cause : quand on clique sur Ouvrir ou Fermer, Gladys transmet à l’intégration l’identifiant de l’appareil, mais pas son modèle (NBR). Or l’intégration reconnaissait les volets justement par leur modèle. Sans lui, la commande était rejetée comme « non pilotable ».

Le correctif est dans la **v2.6.3** : [Release v2.6.3 · Terdious/gladys-netatmo · GitHub](https://github.com/Terdious/gladys-netatmo/releases/tag/v2.6.3). Le même souci touchait aussi la surveillance des caméras, le projecteur de la caméra extérieure, l’éclairage BTicino et les appareils Legrand : tout le monde y gagne.

Votre diagnostic confirme le reste :

- le volet est bien joignable ;
- `target_position:step` vaut 1 : votre volet accepte les positions intermédiaires, la commande « Position » (38 %) fonctionnera aussi ;
- `rf_strength` vaut 0 : c’est bien ce que Netatmo renvoie pour la liaison radio de ce volet, l’intégration n’y est pour rien.

Pour l’analyse de votre Claude : la traduction des commandes qu’il décrit (ouvrir → 100, fermer → 0, stop → -1, avec la passerelle iDiamant) est exactement celle de l’intégration. Le blocage était juste avant.

Après la mise à jour, pouvez-vous réessayer Ouvrir, Fermer, Stop et une position ? Vous devriez voir dans les logs une ligne `Netatmo accepted target_position …` par commande. Si Netatmo refuse, la ligne d’erreur donnera son code.

Et toujours la question : le WiFi de la prise iDiamant vous serait-il utile dans Gladys ?

---

<div class="post-metadata">

**Author:** ![PhilippeMA](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/p/b3f665/32.png) [@PhilippeMA](https://community.gladysassistant.com/u/PhilippeMA)\
**Post date:** [Octobre 22, 2026, 7:03 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/24 "2026-10-22T19:03:40Z")

</div>

Merci @Terdious, tout fonctionne parfaitement !

Pour la question sur le wifi, pourquoi pas. Je ne l’utiliserai pas ; qui peut le plus peut le moins.

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Novembre 4, 2026, 5:21 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/25 "2026-11-04T17:21:45Z")

</div>

Salut @Terdious  
je viens de recevoir un mail de Netatmo, je pense que toi aussi :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/5/6/5679da897fa6da189fd9fd9ed3887ceca781b9e9.png)  
Quels impacts cela va avoir sur l’intégration ?

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Novembre 4, 2026, 7:34 UTC](https://community.gladysassistant.com/t/integration-externe-netatmo/11308/26 "2026-11-04T19:34:16Z")

</div>

Salut @mutmut, merci pour le signalement ! Oui, j’ai reçu le même mail 👍

**Ce que dit Netatmo**

- Un **nouveau service de webhooks** est disponible depuis le 4 novembre 2026.
- À partir du **1er mars 2027** , Netatmo va **réduire les limites d’appels** pour les intégrations qui interrogent l’API à intervalle régulier (polling). Les nouvelles limites **ne sont pas encore publiées**.

**Pour l’intégration aujourd’hui : rien ne change, tout continue de fonctionner.**

- L’intégration interroge Netatmo toutes les 2 minutes. Avec la limite actuelle (500 appels par heure et par compte), on a de la marge.
- Les **webhooks sont déjà pris en charge** via Gladys Plus (bloc « Webhooks Gladys Plus » de l’écran Configuration). D’après Netatmo, l’enregistrement actuel vaut aussi pour le nouveau service, et l’intégration reçoit déjà ses nouveaux événements.

**Ce que je prépare d’ici mars** (suivi ici : [Prepare for the Netatmo polling rate limit cut (1 March 2027): fewer calls, webhooks first · Issue #89 · Terdious/gladys-netatmo · GitHub](https://github.com/Terdious/gladys-netatmo/issues/89))

1. **Moins d’appels, sans rien perdre :**

2. **Si Netatmo renvoie « trop de requêtes »** , l’intégration patientera au lieu d’insister, et l’affichera clairement.

3. **Le diagnostic affichera le nombre d’appels par heure** , pour comparer avec les nouvelles limites dès qu’elles seront connues.

4. **Ensuite, les webhooks en priorité :** le nouveau service envoie directement la température des pièces, les consignes, la position des volets et même les mesures des stations météo. Avec Gladys Plus, l’intégration pourra donc espacer fortement le polling.

**Sans Gladys Plus** , pas de webhooks possibles (Netatmo doit pouvoir joindre Gladys depuis Internet). L’intégration restera en polling et s’adaptera aux nouvelles limites dès que Netatmo les publiera.

En résumé : rien à faire de votre côté pour l’instant, les adaptations arriveront dans les mises à jour bien avant mars. Et si vous avez Gladys Plus, activer les webhooks est déjà une bonne idée.

[Page précédente](https://community.gladysassistant.com/t/integration-externe-netatmo/11308.md?page=1)
