Skip to content

Matter Switch: LIFX color-capable Matter lights are fingerprinted as CCT-only profiles #3028

@ldeora

Description

@ldeora

Summary

Several LIFX Matter lighting fingerprints in the matter-switch driver appear to be assigned CCT-only profiles (light-level-colorTemperature / light-level-colorTemperature-1500k-9000k) even though the devices are color-capable Matter lights.

As a result, affected devices pair successfully and work as dimmable / tunable-white lights in SmartThings, but the SmartThings app does not expose full color controls.

Confirmed user report

A user reported that two LIFX Matter bulbs pair successfully with SmartThings through Matter, with current firmware and no connection errors, but only show dimming and color-temperature controls. Full color controls are missing.

The same user also confirmed that Matter color bulbs from other manufacturers work correctly on the same matter-switch driver.

Community thread:
https://community.smartthings.com/t/lifx-matter-bulb-not-showing-up-as-color-changing/309817

Confirmed affected fingerprint

In the current matter-switch fingerprints file, the LIFX Supercolor A19 fingerprint is mapped to a CCT-only profile:

- id: "5155/163"
  deviceLabel: LIFX Supercolor (A19)
  vendorId: 0x1423
  productId: 0x00A3
  deviceProfileName: light-level-colorTemperature

File:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/blob/main/drivers/SmartThings/matter-switch/fingerprints.yml

Commit from @greens , reviewed by @hcarter-775 and @nickolas-deboom
fb7feee

The community thread also notes that the CSA product entry for VID 0x1423 / PID 0x00A3 identifies the device as an Extended Color Light (0x010D). That matches a full color-capable Matter light, not a Color Temperature Light-only device.

CSA product entry referenced in the thread:
https://csa-iot.org/csa_product/lifx-color-a19-17/

Why dynamic profiling does not fix this

This is not currently corrected by dynamic profiling / modular profiles.

In device_configuration.lua, the driver explicitly skips dynamic profiling for devices whose profile already matches either light-level-colorTemperature or light-color-level:

elseif generic_profile("light-level-colorTemperature") or generic_profile("light-color-level") then
  -- ignore attempts to dynamically profile light-level-colorTemperature and light-color-level devices for now, since
  -- these may lose fingerprinted Kelvin ranges when dynamically profiled.
  return
end

File:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/blob/main/drivers/SmartThings/matter-switch/src/switch_utils/device_configuration.lua#L273-L276

So if the static fingerprint is wrong, the device stays on the wrong CCT-only profile.

Relevant driver logic

The driver already distinguishes Matter Color Temperature Light (0x010C) from Matter Extended Color Light (0x010D):

COLOR_TEMPERATURE = 0x010C,
EXTENDED_COLOR = 0x010D,

and maps those device types differently:

[SwitchFields.DEVICE_TYPE_ID.LIGHT.COLOR_TEMPERATURE] = "light-level-colorTemperature",
[SwitchFields.DEVICE_TYPE_ID.LIGHT.EXTENDED_COLOR] = "light-color-level",

File:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/blob/main/drivers/SmartThings/matter-switch/src/switch_utils/fields.lua

That means the issue is not a missing conceptual model in the driver. It appears to be a static fingerprint/profile assignment problem.

Additional likely affected LIFX entries

The current fingerprints.yml contains many LIFX device names that strongly suggest color-capable products, but which are mapped to CCT-only profiles. Examples include:

LIFX Neon Outdoor
LIFX Color (A21)
LIFX Color (PAR38)
LIFX Ceiling
LIFX Candle / Candle Color
LIFX Beam
LIFX Lightstrip
LIFX String
LIFX Spot
LIFX Path
LIFX Tube
LIFX Permanent Outdoor
LIFX Supercolor / Supercolour
LIFX Everyday Lightstrip
LIFX Neon
LIFX Mirror

Many of these are currently assigned either:

deviceProfileName: light-level-colorTemperature-1500k-9000k

or:

deviceProfileName: light-level-colorTemperature

This likely causes the same missing-color-controls issue for more than just the confirmed A19 bulb. In the community thread, the test driver fixed the A19 bulb, while the user's LIFX lightstrip still had the same missing-color issue. The current fingerprints file contains LIFX Lightstrip entries mapped to light-level-colorTemperature.

Expected behavior

Color-capable LIFX Matter lights should expose full color controls in SmartThings, including hue/saturation/color controls in addition to dimming and color temperature.

Actual behavior

Affected LIFX Matter lights expose only dimming and color-temperature controls.

Suggested fix

Please audit the LIFX Matter fingerprints in:

drivers/SmartThings/matter-switch/fingerprints.yml

and change color-capable LIFX devices from CCT-only profiles to color-capable profiles.

At minimum, the confirmed A19 entry should be changed from:

deviceProfileName: light-level-colorTemperature

to a color-capable profile, for example:

deviceProfileName: light-color-level

If preserving LIFX's wider Kelvin range is required, it may be better to add/use an appropriate Kelvin-bounded color-capable profile, for example a light-color-level-1500k-9000k profile. The repository currently contains Kelvin-bounded color profiles for other ranges, but the LIFX entries using 1500k-9000k are currently CCT-only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions