Skip to content

Netatmo NLFN (Legrand) dimmers register as onoff-only under developer account credentials — brightness/dimming support lost vs HA Cloud #165580

@jwshrive

Description

@jwshrive

The problem

When using a personal Netatmo developer account (Application Credentials), Legrand NLFN dimmer switches lose their brightness capability and register as supported_color_modes: ["onoff"] instead of ["brightness"]. This works correctly under HA Cloud credentials.

Devices affected: Legrand Arteor with Netatmo (Australian variant) — "Light switch/dimmer with neutral by Legrand"

What happens after switching from HA Cloud to developer account credentials:

  • All NLFN dimmer entities register with supported_color_modes: ["onoff"] and supported_features: 0
    • Brightness control via HA is completely lost — lights turn on at physical default level only
      • Adaptive Lighting cannot control brightness on these entities
        Entity history confirms brightness support existed before migration:
  • Before migration (HA Cloud): "supported_color_modes": ["brightness"]
    • After migration (developer account): "supported_color_modes": ["onoff"]
      Proof the API returns correct data — Netatmo /homesdata correctly identifies all affected devices as type NLFN:
  • Walk In Robe Light: type: "NLFN"
    • Foyer Lights: type: "NLFN"
      • Pantry Light: type: "NLFN"
        • Mirror Light: type: "NLFN"
          • Laundry Light: type: "NLFN"
            • Passage Light: type: "NLFN"
              Non-dimmable outdoor devices correctly return NLL type and correctly register as onoff-only (switches) — this part works as expected.

The Netatmo API data is correct. The issue is in how the HA Netatmo integration translates NLFN device type into entity capabilities specifically when using developer account credentials.

Reverting to HA Cloud credentials immediately restores supported_color_modes: ["brightness"] on all NLFN devices, confirming this is a credential-mode-specific bug.

Hypothesis: The HA Cloud OAuth app (registered by Nabu Casa) may have elevated API scopes or returns a different API response format that includes brightness capability data. Under a standard developer account, the /homesdata or /homestatus response may not include the brightness field that pyatmo uses to determine is_dimmable, causing the integration to fall back to onoff-only registration.

Related issues:

What version of Home Assistant Core has the issue?

core-2026.2.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Netatmo

Link to integration documentation on our website

https://www.home-assistant.io/integrations/netatmo/

Diagnostics information

No response

Example YAML snippet

Anything in the logs that might be useful for us?

No errors in HA logs related to this issue — the integration loads successfully under both credential modes. The problem manifests as silently wrong entity capabilities (onoff instead of brightness), not as logged errors.

Key evidence is in entity state history:
- Under HA Cloud credentials: `supported_color_modes: ["brightness"]`, `supported_features: 40`
- Under developer account credentials: `supported_color_modes: ["onoff"]`, `supported_features: 0`

The /homesdata API response is identical in both cases — devices correctly identified as type NLFN.

Additional information

Steps to reproduce:

  1. Have Legrand NLFN dimmer switches connected via Netatmo (Legrand Home+Control / Netatmo Energy)
    1. Set up Netatmo integration using HA Cloud credentials (via Nabu Casa) — dimmers correctly register with supported_color_modes: ["brightness"]
    1. Remove the Netatmo integration
    1. Create a developer app at dev.netatmo.com and obtain Client ID + Client Secret
    1. Add Application Credentials in HA (Settings → System → Application Credentials) using the developer credentials
    1. Re-add Netatmo integration — it now uses the developer OAuth app
    1. Check any NLFN dimmer entity — supported_color_modes will now show ["onoff"] instead of ["brightness"]
      Expected behavior: NLFN dimmers register with supported_color_modes: ["brightness"] regardless of whether HA Cloud or developer credentials are used — the device type is NLFN in both cases.

Actual behavior: Under developer credentials, NLFN dimmers register as onoff-only, losing all brightness control.

Reverting: Remove developer credentials, delete Netatmo integration, re-add via HA Cloud OAuth — brightness support immediately restored.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions