The LIFX Switch and Dimmer
The LIFX Switch
LIFX released a new device in 2020 that is installed in your wall and acts as a physical interface to turning your lights on and off. This device can control "dumb" lights wired into the switch as well as your smart lights attached to the LIFX Cloud.
This device is a "non light" and has some differences in behaviour to existing LIFX devices.
For existing messages in the LIFX public API, the device will appear like any other LIFX device on your network except for its response to "Light" messages. As the switch is not a "light", it will ignore these messages and return a special StateUnhandled (223) message instead of the usual State message a LIFX light would respond with.
The LIFX Dimmer
In 2026 LIFX released the LIFX Dimmer, a Matter-enabled 120V in-wall dimmer. Depending on the load connected, it can provide TRIAC dimming for traditional dimmable lighting, on/off switching for non-dimmable lighting, or act as a smart controller for LIFX smart lights while keeping them continuously powered.
The LIFX Dimmer supports the relay and button messages described on this page. Unlike the LIFX Switch, it will also respond to SetPower (21), SetLightPower (117) and SetColor (102) messages to change the brightness of its output TRIAC. The Dimmer will follow the transition duration in these messages, and only reads the brightness field of an HSBK value - the hue, saturation and kelvin fields are ignored.
The load type can be configured using the LIFX App. How the Dimmer responds to these messages depends on the selected Load Type:
- Dimmable Load (compatible dimmable LED, incandescent or halogen lighting): the Dimmer will respond to GetRPower (816), SetRPower (817), SetPower (21), SetLightPower (117) and SetColor (102) messages. The Dimmer will ignore the
hue,saturationandkelvinvalues within any HSBK command. - Switchable Load (non-dimmable lighting that only requires physical on/off switching): the Dimmer will only respond to SetLightPower (117) and SetRPower (817) messages.
- Smart Light (the connected load is LIFX smart lights): the Dimmer will ignore all of these messages and keep its relay on, with the TRIAC set on at
100%brightness. The connected LIFX smart lights remain continuously powered and can be controlled directly like any other LIFX light.
Controlling Relays
The switch messages are for controlling features specific to the LIFX Switch and LIFX Dimmer. The public API contains messages for turning "relays" on and off and for configuring the button backlight and haptic feedback. More messages will be added in the future.
A LIFX switch has a number of buttons that may either modify a physical "relay" attached to a "dumb" light, or make a request to the LIFX cloud to modify a light.
The switch has both inputs (the physical buttons on the device) and outputs (the electrical relays). The following messages allow you to inspect and set the power level of those electrical relays.
We have released GetRPower (816), SetRPower (817) and StateRPower (818)
Configuring Buttons
The buttons on a LIFX Switch provide haptic feedback when pressed, and each button has a backlight to indicate whether it is on or off.
The backlight configuration is a single device-wide setting. A LIFX Switch has two or four buttons, each with its own backlight, while the LIFX Dimmer has four buttons and a single backlight. In all cases the backlight_on_color and backlight_off_color values apply to the whole device - individual backlights cannot be configured with different colors.
The following messages allow you to inspect and set the duration of the haptic feedback and the color and brightness of the button backlight in each state. The LIFX Dimmer does not have haptic feedback, and will ignore the haptic_duration_ms field in the SetButtonConfig (910) message.
We have released GetButtonConfig (909), SetButtonConfig (910) and StateButtonConfig (911)
Updated 3 days ago
