Flux LED/MagicLight

The flux_led support is integrated into Home Assistant as a light platform. Several brands of both bulbs and controllers use the same protocol and they have the HF-LPB100 chipset in common. The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app.

Example of bulbs:

Examples of controllers:


To enable those lights, add the following lines to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: flux_led

Configuration Variables

automatic_add boolean (Optional, default: false)

To enable the automatic addition of lights on startup.

devices list (Optional)

A list of devices with their IP address.

name string (Optional)

A friendly name for the device.

mode string (Optional, default: rgbw)

The chosen brightness mode, options are: rgbw, rgb and w.

protocol string (Optional)

Set this to ledenet if you are using a ledenet bulb.

custom_effect map (Optional)

A definition of the custom effect.

colors list Required

A list of 1 to 16 colors, used in the effect loop (see example below). Defined as three comma-separated integers between 0 and 255 that represent the color in RGB. There is no way to set brightness, but you can define lower RGB values to simulate lower brightness. E.g., if you want 50% red, define it as [127,0,0] instead of [255,0,0].

speed_pct integer (Optional, default: 50)

A speed in percents (100 being the fastest), at which controller will transition between the colors.

transition string (Optional, default: gradual)

A type of transition, which will be used to transition between the colors. Supported values are: gradual, jump and strobe.

Depending on your controller or bulb type, there are two ways to configure brightness. The integration defaults to rgbw. If your device has a separate white channel, you do not need to specify anything else; changing the white value will adjust the brightness of white channel keeping rgb color constant. However, if your device does not have a separate white channel, you will need to set the mode to rgb. In this mode, the device will keep the same color, and adjust the rgb values to dim or brighten the color.

Example configuration

Will automatically search and add all lights on start up:

# Example configuration.yaml entry
  - platform: flux_led
    automatic_add: true

Will add two lights with given name and create an automation rule to randomly set color each 45 seconds:

# Example configuration.yaml entry
  - platform: flux_led
        name: flux_lamppost
        name: flux_living_room_lamp

  alias: random_flux_living_room_lamp
    platform: time_pattern
    seconds: '/45'
    service: light.turn_on
      entity_id: light.flux_living_room_lamp
      effect: random

Will add a light without the white mode:
      name: NAME
      mode: "rgb"

Will add a light with rgb+white mode (default). White and RGB channels can be adjusted independently using a slider and color picker respectively.
      name: NAME
      mode: "rgbw"

Will add a light with white mode only. This is useful when only W channel is connected to an RGBW controller and allows the white level to be controlled via brightness value.
      name: NAME
      mode: "w"

Some devices such as the Ledenet RGBW controller use a slightly different protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol.

  - platform: flux_led
        name: NAME
        protocol: 'ledenet'


The Flux LED light offers a number of effects which are not included in other lighting packages. These can be selected from the front-end, or sent in the effect field of the light.turn_on command.

Effect Name Description
colorloop Smoothly transitions through the rainbow.
colorjump Jumps through seven different rainbow colors.
colorstrobe Strobes each rainbow color in a loop.
red_fade, green_fade, blue_fade, yellow_fade, cyan_fade, purple_fade, white_fade Fades between the color as indicated in the effect name and black.
rg_cross_fade Fades between red and green.
rb_cross_fade Fades between red and blue.
gb_cross_fade Fades between green and blue.
red_strobe, green_strobe, blue_strobe, yellow_strobe, cyan_strobe, purple_strobe, white_strobe Strobes the color indicated by the effect name.
random Chooses a random color by selecting random values for R, G, and B.
custom Custom effect (if defined, see below).

Users can define their own custom effect. It consists of three parameters: a list of 1 to 16 colors, speed and type of transition. The controller will transition between the colors in a loop, with specified transition and speed. Here is an example of a custom effect that will quickly flash red, yellow, green, cyan, blue, magenta in a loop:

  - platform: flux_led
          speed_pct: 100
          transition: 'strobe'
            - [255,0,0]
            - [255,255,0]
            - [0,255,0]
            - [0,255,255]
            - [0,0,255]
            - [255,0,255]