Summary

WiFi smart LED controller. Discovery via SSDP multicast (UDP 239.255.255.250:1982). Control via JSON over TCP on port 55443. Supports power, color (RGB/HSV), color temperature, brightness, scenes, timers, and music mode.

Transport

protocols:
  - udp    # discovery only
  - tcp    # control channel
addressing:
  port: 55443  # TCP control port, from LOCATION header in discovery response
  discovery:
    multicast: 239.255.255.250
    port: 1982
auth:
  type: none  # inferred: no auth procedure in source

Traits

- powerable    # set_power, toggle commands present
- levelable    # set_bright, adjust_bright, adjust_ct, adjust_color present
- queryable    # get_prop command present; props notifications for state changes

Actions

- id: get_prop
  label: Get Property
  kind: action
  params:
    - name: props
      type: array
      description: List of property names to retrieve

- id: set_power
  label: Set Power
  kind: action
  params:
    - name: power
      type: string
      enum: [on, off]
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds (min 30 for smooth)
    - name: mode
      type: integer
      description: "0=normal, 1=CT, 2=RGB, 3=HSV, 4=color flow, 5=night light"
      default: 0

- id: toggle
  label: Toggle Power
  kind: action
  params: []

- id: set_ct_abx
  label: Set Color Temperature
  kind: action
  params:
    - name: ct_value
      type: integer
      description: Color temperature in Kelvin (1700~6500)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: set_rgb
  label: Set RGB Color
  kind: action
  params:
    - name: rgb_value
      type: integer
      description: RGB value as decimal (0 to 16777215, hex 0xFFFFFF)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: set_hsv
  label: Set HSV Color
  kind: action
  params:
    - name: hue
      type: integer
      description: Hue value (0~359)
    - name: sat
      type: integer
      description: Saturation value (0~100)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: set_bright
  label: Set Brightness
  kind: action
  params:
    - name: brightness
      type: integer
      description: Brightness percentage (1~100)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: set_default
  label: Save as Default
  kind: action
  params: []

- id: start_cf
  label: Start Color Flow
  kind: action
  params:
    - name: count
      type: integer
      description: Number of state changes (0=infinite)
    - name: action
      type: integer
      description: "Action on completion: 0=restore previous, 1=stay, 2=power off"
    - name: flow_expression
      type: string
      description: Comma-separated flow tuples [duration, mode, value, brightness]

- id: stop_cf
  label: Stop Color Flow
  kind: action
  params: []

- id: set_scene
  label: Set Scene
  kind: action
  params:
    - name: class
      type: string
      enum: [color, hsv, ct, cf, auto_delay_off]
    - name: val1
      type: integer
    - name: val2
      type: integer
    - name: val3
      type: integer
      required: false

- id: cron_add
  label: Add Timer
  kind: action
  params:
    - name: type
      type: integer
      description: Timer type (0=power off)
    - name: value
      type: integer
      description: Duration in minutes

- id: cron_get
  label: Get Timer
  kind: action
  params:
    - name: type
      type: integer
      description: Timer type (0=power off)

- id: cron_del
  label: Delete Timer
  kind: action
  params:
    - name: type
      type: integer
      description: Timer type (0=power off)

- id: set_adjust
  label: Adjust Property
  kind: action
  params:
    - name: action
      type: string
      enum: [increase, decrease, circle]
    - name: prop
      type: string
      enum: [bright, ct, color]

- id: set_music
  label: Set Music Mode
  kind: action
  params:
    - name: action
      type: integer
      description: "0=off, 1=on"
    - name: host
      type: string
      description: TCP server IP address
      required: false
    - name: port
      type: integer
      description: TCP server port
      required: false

- id: set_name
  label: Set Device Name
  kind: action
  params:
    - name: name
      type: string
      description: Device name (max 64 bytes)

- id: adjust_bright
  label: Adjust Brightness
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: adjust_ct
  label: Adjust Color Temperature
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: adjust_color
  label: Adjust Color
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds
- id: bg_set_rgb
  label: Set Background RGB Color
  kind: action
  params:
    - name: rgb_value
      type: integer
      description: RGB value as decimal (0 to 16777215, hex 0xFFFFFF)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_set_hsv
  label: Set Background HSV Color
  kind: action
  params:
    - name: hue
      type: integer
      description: Hue value (0~359)
    - name: sat
      type: integer
      description: Saturation value (0~100)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_set_ct_abx
  label: Set Background Color Temperature
  kind: action
  params:
    - name: ct_value
      type: integer
      description: Color temperature in Kelvin (1700~6500)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_start_cf
  label: Start Background Color Flow
  kind: action
  params:
    - name: count
      type: integer
      description: Number of state changes (0=infinite)
    - name: action
      type: integer
      description: "Action on completion: 0=restore previous, 1=stay, 2=power off"
    - name: flow_expression
      type: string
      description: Comma-separated flow tuples [duration, mode, value, brightness]

- id: bg_stop_cf
  label: Stop Background Color Flow
  kind: action
  params: []

- id: bg_set_scene
  label: Set Background Scene
  kind: action
  params:
    - name: class
      type: string
      enum: [color, hsv, ct, cf, auto_delay_off]
    - name: val1
      type: integer
    - name: val2
      type: integer
    - name: val3
      type: integer
      required: false

- id: bg_set_default
  label: Save Background as Default
  kind: action
  params: []

- id: bg_set_power
  label: Set Background Power
  kind: action
  params:
    - name: power
      type: string
      enum: [on, off]
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds
    - name: mode
      type: integer
      description: "0=normal, 1=CT, 2=RGB, 3=HSV, 4=color flow, 5=night light"
      default: 0

- id: bg_set_bright
  label: Set Background Brightness
  kind: action
  params:
    - name: brightness
      type: integer
      description: Brightness percentage (1~100)
    - name: effect
      type: string
      enum: [sudden, smooth]
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_set_adjust
  label: Adjust Background Property
  kind: action
  params:
    - name: action
      type: string
      enum: [increase, decrease, circle]
    - name: prop
      type: string
      enum: [bright, ct, color]

- id: bg_toggle
  label: Toggle Background Power
  kind: action
  params: []

- id: dev_toggle
  label: Toggle Main and Background Power
  kind: action
  params: []

- id: bg_adjust_bright
  label: Adjust Background Brightness
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_adjust_ct
  label: Adjust Background Color Temperature
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds

- id: bg_adjust_color
  label: Adjust Background Color
  kind: action
  params:
    - name: percentage
      type: integer
      description: Adjustment percentage (-100~100)
    - name: duration
      type: integer
      description: Transition time in milliseconds

Feedbacks

- id: power
  type: enum
  values: [on, off]

- id: bright
  type: integer
  description: Brightness percentage (1~100)

- id: ct
  type: integer
  description: Color temperature in Kelvin (1700~6500)

- id: rgb
  type: integer
  description: RGB color value (0~16777215)

- id: hue
  type: integer
  description: Hue value (0~359)

- id: sat
  type: integer
  description: Saturation value (0~100)

- id: color_mode
  type: enum
  values: [1, 2, 3]
  description: "1=RGB, 2=CT, 3=HSV"

- id: flowing
  type: enum
  values: [0, 1]
  description: "0=idle, 1=flow running"

- id: delayoff
  type: integer
  description: Remaining sleep timer minutes (1~60)

- id: music_on
  type: enum
  values: [0, 1]
  description: "0=music mode off, 1=music mode on"

- id: name
  type: string
  description: Device name

Variables

# UNRESOLVED: device exposes read/write properties via get_prop/set_* commands.
# Variables covered by Actions and Feedbacks above.

Events

- id: props
  description: Unsolicited state change notification
  params:
    - name: power
      type: string
    - name: bright
      type: string
    - name: ct
      type: string
    - name: rgb
      type: string
    - name: hue
      type: string
    - name: sat
      type: string
    - name: color_mode
      type: string
    - name: flowing
      type: string
    - name: delayoff
      type: string
    - name: music_on
      type: string
    - name: name
      type: string

Macros

# Color flow expression: [duration, mode, value, brightness]
# modes: 1=RGB, 2=CT, 7=sleep
# brightness: -1=ignore, 1~100=percentage
# example sunrise: "1000,2,2700,100,500,1,255,10,5000,7,0,0,500,2,5000,1"

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source

Notes

TCP connections: max 4 simultaneous, 60 commands/minute per connection, 144 commands/minute total LAN quota. All JSON messages terminated by \r\n. Music mode disables property reporting and quota checks. Background light commands (bg_set_*, bg_toggle, bg_adjust_*) only supported on devices with background light.

Provenance

source_domains:
  - yeelight.com
source_urls:
  - https://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf
retrieved_at: 2026-05-22T03:45:54.424Z
last_checked_at: 2026-07-22T08:58:42.380Z

Verification Summary

verdict: verified
checked_at: 2026-07-22T08:58:42.380Z
matched_actions: 35
action_count: 35
confidence: medium
summary: "All 35 spec action ids match source method names verbatim; port and multicast parameters verified; complete symmetric coverage of command catalogue. (5 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "no serial support in source"
- "device exposes read/write properties via get_prop/set_* commands."
- "no safety warnings or interlock procedures in source"
- "firmware version compatibility not stated"
- "voltage/power specifications not stated"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0