IKEA JETSTRÖM reports color_mode: "xy" during brightness changes when using STYRBAR binding
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
When changing the brightness of an IKEA JETSTRÖM LED panel using a directly bound IKEA STYRBAR remote, Zigbee2MQTT publishes MQTT state updates with color_mode: "xy".
However, the device is discovered as supporting only color_temp, so Home Assistant logs the warning:
Invalid color mode 'xy' received for entity light.0x781c9dfffe77a43c
The light itself works correctly, but the warning is generated every time the brightness is adjusted using the bound remote.
What did you expect to happen?
I expected the MQTT state published by Zigbee2MQTT to be consistent with the device capabilities exposed through MQTT Discovery.
During brightness-only changes, I expected the device to either:
- continue reporting color_mode: "color_temp", or
- omit the color_mode field if it has not changed.
It should not publish color_mode: "xy" for a device that is exposed as supporting only color_temp, as this causes Home Assistant to log:
Invalid color mode 'xy' received for entity ...
How to reproduce it (minimal and precise)
- Pair an IKEA JETSTRÖM LED panel with Zigbee2MQTT.
- Pair an IKEA STYRBAR remote.
- Create a direct Zigbee binding between the STYRBAR and the JETSTRÖM using the genOnOff, genLevelCtrl and genScenes clusters.
- Press and hold the brightness up or brightness down button on the STYRBAR.
- Observe the MQTT state published by Zigbee2MQTT:
{
"brightness": 95,
"color_mode": "xy",
"color_temp": 370
}
- Home Assistant logs:
Invalid color mode 'xy' received for entity light.<ieee_address>
The issue occurs every time while the brightness button is held. It does not occur when the light is simply turned on or off.
Zigbee2MQTT version
2.13.0-1
Adapter firmware version
7.5.1.0
Adapter
Nabu Casa - EmberZNet Zigbee 7.5.1.0
Setup
Home Assistant OS (HA Green), Zigbee2MQTT Add-on
Device database.db entry
Not available at the moment.
Debug log
[2026-08-09 18:59:04] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Koupelna IKEA tlacitko', payload '{"action":"brightness_move_up","action_rate":83,...}'
[2026-08-09 18:59:05] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Koupelna LED panel', payload '{"brightness":95,"color_mode":"xy","color_options":null,"color_temp":370,"effect":null,"identify":null,"linkquality":160,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816584,"latest_version":33816584,"state":"idle"}}'
[2026-08-09 18:59:05] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Koupelna IKEA tlacitko/action', payload 'brightness_stop'
[2026-08-09 18:59:09] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Koupelna LED panel', payload '{"brightness":136,"color_mode":"xy","color_options":null,"color_temp":370,"effect":null,"identify":null,"linkquality":160,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816584,"latest_version":33816584,"state":"idle"}}'
Notes
Immediately after the above MQTT messages, Home Assistant logs:
Invalid color mode 'xy' received for entity light.0x781c9dfffe77a43c
The Home Assistant entity exposes only:
supported_color_modes:
- color_temp
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by tracing the JETSTRÖM device integration and MQTT state publishing triggered by direct STYRBAR brightness binding, then compare those fields with MQTT Discovery capabilities. Done means brightness updates no longer publish color_mode "xy" for this color-temperature-only device, with a regression test for the reported sequence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, embedded-iot
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100