Hello @Terdious, thank you for your quick response.
The commands have no effect. Here are the logs:
[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
I asked Claude to look at the Legrand integration for Gladys, which seems to work. Here is his response:
The integration translates the Gladys command into a target_position field sent to the Netatmo API (POST setstate), since the Bubendorff iDiamant shutters go through the NBG gateway and the Netatmo cloud.
Action
Gladys Value (COVER_STATE)
target_position sent to Netatmo
Open
1
100
Close
-1
0
Stop / pause
0
-1
The mapping is defined in src/commands.js (constant SHUTTER_TARGETS). The request body looks like this:
Intermediate position: if the module supports it, the “position” function sends a value between 0 and 100, rounded to the module’s step (target_position:step). If this step is 100, the shutter only opens, closes, and stops, and the integration refuses intermediate positions.
Favorite position: the Netatmo API also accepts -2 (go to favorite position), but the integration does not offer it (it’s indicated in a comment in src/catalog.js).
Stop priority: a stop command (-1) takes precedence over other pending commands for the same shutter, so it is never delayed.
Types concerned: NBR (roller shutter), NBO (tilting shutter) and NBS (swinging shutter). The necessary OAuth rights are read_bubendorff and write_bubendorff.
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: Piano Roller Shutter
Home: House 2026 (698082729e9ab46fbd0313ab)
Bridge: xx:xx:xx:xx:xx:xx
Reachable: yes
Support: supported (Shutter family)
Gladys device: "Piano Roller Shutter" 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":"Piano Roller Shutter","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.
Thanks @PhilippeMA, that’s exactly what was needed
The logs from 2.6.2 finally show the real error: Feature …:state is not writable. The integration refused the command before even sending it to Netatmo. The cause: when you click Open or Close, Gladys sends the device ID to the integration, but not its model (NBR). However, the integration recognized the shutters precisely by their model. Without it, the command was rejected as « non-controllable ».
The fix is in v2.6.3: Release v2.6.3 · Terdious/gladys-netatmo · GitHub. The same issue also affected camera monitoring, the outdoor camera projector, BTicino lighting, and Legrand devices: everyone benefits.
Your diagnosis confirms the rest:
the shutter is indeed reachable;
target_position:step is 1: your shutter accepts intermediate positions, the « Position » command (38%) will also work;
rf_strength is 0: that’s exactly what Netatmo returns for the radio link of this shutter, the integration is not to blame.
For the analysis of your Claude: the translation of the commands he describes (open → 100, close → 0, stop → -1, with the iDiamant gateway) is exactly that of the integration. The blockage was just before.
After the update, can you try Open, Close, Stop, and a position again? You should see in the logs a line Netatmo accepted target_position … for each command. If Netatmo refuses, the error line will give its code.
And still the question: would the WiFi of the iDiamant plug be useful to you in Gladys?
Hi @mutmut, thanks for the report! Yes, I received the same email
What Netatmo says
A new webhook service has been available since November 4, 2026.
Starting March 1, 2027, Netatmo will reduce call limits for integrations that query the API at regular intervals (polling). The new limits are not yet published.
For today’s integration: nothing changes, everything continues to work.
The integration queries Netatmo every 2 minutes. With the current limit (500 calls per hour and per account), there is some margin.
Webhooks are already supported via Gladys Plus (« Gladys Plus Webhooks » block of the Configuration screen). According to Netatmo, the current registration also applies to the new service, and the integration already receives its new events.
each webhook will no longer trigger a complete account refresh. A detection (movement, person, doorbell…) is already published from the webhook itself;
weather and Home Coach will be read every 10 minutes: Netatmo stations send their measurements approximately every 10 minutes anyway;
the structure of the house (rooms, names, schedules) every 30 minutes, and immediately when Netatmo reports a change.
We roughly halve the number of calls without losing reactivity.
If Netatmo returns « too many requests », the integration will wait instead of insisting, and will clearly display this.
The diagnostic will display the number of calls per hour, to compare with the new limits as soon as they are known.
Then, webhooks as a priority: the new service directly sends the room temperature, setpoints, shutter positions, and even weather station measurements. With Gladys Plus, the integration will therefore be able to significantly space out polling.
Without Gladys Plus, no webhooks possible (Netatmo must be able to reach Gladys from the Internet). The integration will remain in polling and will adapt to the new limits as soon as Netatmo publishes them.
In summary: nothing to do on your side for now, the adaptations will arrive in the updates well before March. And if you have Gladys Plus, enabling webhooks is already a good idea.