Summary
WiFi smart LED controller. Controls color, color temperature, brightness, and scenes via TCP JSON messages on port 55443. Device discovered via UDP multicast (SSDP) on 239.255.255.250:1982.
Transport
protocols:
- tcp
- udp
addressing:
port: 55443 # inferred from LOCATION header in discovery response
# UNRESOLVED: base_url not stated; control channel established via IP + port
udp:
multicast_address: 239.255.255.250
multicast_port: 1982
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # set_power, toggle present
- levelable # set_bright, adjust_bright present
- routable # set_scene with class selection present
- queryable # get_prop, cron_get present
Actions
- id: get_prop
label: Get Property
kind: action
params:
- name: properties
type: array
description: List of property names to retrieve
example: '{"id":1,"method":"get_prop","params":["power", "bright"]}'
- 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]
description: "sudden" = immediate, "smooth" = gradual
- name: duration
type: integer
description: Transition time in milliseconds (min 30ms)
example: '{"id":1,"method":"set_ct_abx","params":[3500, "smooth", 500]}'
- id: set_rgb
label: Set RGB Color
kind: action
params:
- name: rgb_value
type: integer
description: RGB value (0-16777215, hex 0xFFFFFF)
- name: effect
type: string
enum: [sudden, smooth]
- name: duration
type: integer
description: Transition time in milliseconds
example: '{"id":1,"method":"set_rgb","params":[255, "smooth", 500]}'
- 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
example: '{"id":1,"method":"set_hsv","params":[255, 45, "smooth", 500]}'
- 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
example: '{"id":1,"method":"set_bright","params":[50, "smooth", 500]}'
- id: set_power
label: Set Power State
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 mode, 2=RGB mode, 3=HSV mode, 4=color flow, 5=night light"
example: '{"id":1,"method":"set_power","params":["on", "smooth", 500]}'
- id: toggle
label: Toggle Power
kind: action
params: []
example: '{"id":1,"method":"toggle","params":[]}'
- id: set_default
label: Save Current State as Default
kind: action
params: []
example: '{"id":1,"method":"set_default","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 after flow stops (0=recover previous state)
- name: flow_expression
type: string
description: "Comma-separated flow tuples: duration,mode,value,brightness"
example: '{"id":1,"method":"start_cf","params":[4, 2, "1000,2,2700,100,500,1,255,10,5000,7,0,0,500,2,5000,1"]}'
- id: stop_cf
label: Stop Color Flow
kind: action
params: []
example: '{"id":1,"method":"stop_cf","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
example: '{"id":1,"method":"set_scene","params":["color", 65280, 70]}'
- id: cron_add
label: Add Cron Job
kind: action
params:
- name: type
type: integer
description: "Cron type (0=power off timer)"
- name: value
type: integer
description: Duration in minutes
example: '{"id":1,"method":"cron_add","params":[0, 15]}'
- id: cron_get
label: Get Cron Job
kind: action
params:
- name: type
type: integer
description: "Cron type (0=power off timer)"
example: '{"id":1,"method":"cron_get","params":[0]}'
- id: cron_del
label: Delete Cron Job
kind: action
params:
- name: type
type: integer
description: "Cron type (0=power off timer)"
example: '{"id":1,"method":"cron_del","params":[0]}'
- 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]
example: '{"id":1,"method":"set_adjust","params":["increase", "ct"]}'
- id: set_music
label: Set Music Mode
kind: action
params:
- name: action
type: integer
description: "0=off, 1=on"
- name: host
type: string
description: Music server IP address
required: false
- name: port
type: integer
description: Music server TCP port
required: false
example: '{"id":1,"method":"set_music","params":[1, "192.168.0.2", 54321]}'
- id: set_name
label: Set Device Name
kind: action
params:
- name: name
type: string
description: Device name (max 64 bytes)
example: '{"id":1,"method":"set_name","params":["my_bulb"]}'
- id: bg_set_rgb
label: Set Background RGB
kind: action
params:
- name: rgb_value
type: integer
- name: effect
type: string
enum: [sudden, smooth]
- name: duration
type: integer
- id: bg_set_ct_abx
label: Set Background Color Temperature
kind: action
params:
- name: ct_value
type: integer
- name: effect
type: string
enum: [sudden, smooth]
- name: duration
type: integer
- id: bg_start_cf
label: Start Background Color Flow
kind: action
params:
- name: count
type: integer
- name: action
type: integer
- name: flow_expression
type: string
- 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
- name: val1
type: integer
- name: val2
type: integer
- name: val3
type: integer
required: false
- 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
- name: mode
type: integer
- id: bg_toggle
label: Toggle Background Light
kind: action
params: []
- id: dev_toggle
label: Toggle Main and Background Light
kind: action
params: []
- 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
example: '{"id":1,"method":"bg_set_hsv","params":[255, 45, "smooth", 500]}'
- 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
example: '{"id":1,"method":"bg_set_bright","params":[50, "smooth", 500]}'
- id: bg_set_default
label: Save Background State as Default
kind: action
params: []
example: '{"id":1,"method":"bg_set_default","params":[]}'
- 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]
example: '{"id":1,"method":"bg_set_adjust","params":["increase", "ct"]}'
- id: adjust_bright
label: Adjust Brightness by Percentage
kind: action
params:
- name: percentage
type: integer
description: Adjustment percentage (-100 to 100)
- name: duration
type: integer
description: Transition time in milliseconds
example: '{"id":1,"method":"adjust_bright","params":[-20, 500]}'
- id: adjust_ct
label: Adjust Color Temperature by Percentage
kind: action
params:
- name: percentage
type: integer
description: Adjustment percentage (-100 to 100)
- name: duration
type: integer
example: '{"id":1,"method":"adjust_ct","params":[20, 500]}'
- id: adjust_color
label: Adjust Color by Percentage
kind: action
params:
- name: percentage
type: integer
description: Adjustment percentage (-100 to 100)
- name: duration
type: integer
example: '{"id":1,"method":"adjust_color","params":[20, 500]}'
- id: bg_adjust_bright
label: Adjust Background Brightness
kind: action
params:
- name: percentage
type: integer
- name: duration
type: integer
- id: bg_adjust_ct
label: Adjust Background Color Temperature
kind: action
params:
- name: percentage
type: integer
- name: duration
type: integer
- id: bg_adjust_color
label: Adjust Background Color
kind: action
params:
- name: percentage
type: integer
- name: duration
type: integer
Feedbacks
# Result messages returned for each command
# Format: {"id":<int>, "result":<array>|"error":<object>}
# Success: {"id":1,"result":["ok"]}
# Error: {"id":2,"error":{"code":-1,"message":"unsupported method"}}
# Query response: {"id":3,"result":["on","100"]}
Variables
# Observable properties (from get_prop and notifications)
- id: power
type: enum
values: [on, off]
description: Current power state
- id: bright
type: integer
range: [1, 100]
description: Brightness percentage
- id: ct
type: integer
range: [1700, 6500]
description: Color temperature in Kelvin
- id: rgb
type: integer
range: [1, 16777215]
description: RGB color value
- id: hue
type: integer
range: [0, 359]
description: Hue value
- id: sat
type: integer
range: [0, 100]
description: Saturation value
- id: color_mode
type: enum
values: [1, 2, 3]
description: "1=RGB mode, 2=CT mode, 3=HSV mode"
- id: flowing
type: enum
values: [0, 1]
description: "0=no color flow running, 1=color flow running"
- id: delayoff
type: integer
range: [1, 60]
description: Remaining sleep timer minutes
- id: flow_params
type: string
description: Current flow parameters
- id: music_on
type: enum
values: [0, 1]
description: "0=music mode off, 1=music mode on"
- id: name
type: string
description: Device name
- id: bg_power
type: enum
values: [on, off]
description: Background light power state
- id: bg_flowing
type: enum
values: [0, 1]
- id: bg_ct
type: integer
description: Background color temperature
- id: bg_lmode
type: enum
values: [1, 2, 3]
- id: bg_bright
type: integer
- id: bg_rgb
type: integer
- id: bg_hue
type: integer
- id: bg_sat
type: integer
- id: nl_br
type: integer
description: Night mode brightness
- id: active_mode
type: enum
values: [0, 1]
description: "0=daylight mode, 1=moonlight mode"
Events
# Unsolicited notifications sent when state changes
# Format: {"method":"props","params":{"prop":"value",...}}
- id: state_change
type: notification
description: Device sends property change notifications to all connected clients
example: '{"method":"props","params":{"power":"on","bright":"10"}}'
Macros
# Color flow expression format: duration,mode,value,brightness
# Modes: 1=color, 2=color temperature, 7=sleep
# Minimum duration: 50ms
# Brightness: -1=ignore, 1-100=percentage
flow_expression_format: "[duration, mode, value, brightness]"
Safety
confirmation_required_for: []
interlocks:
- description: "set_ct_abx, set_rgb, set_hsv, set_bright, set_default only accepted when device is in 'on' state"
source: Section 4-1 method descriptions
# UNRESOLVED: no explicit safety warnings in source
Notes
TCP connection quota: 60 commands/minute per connection, 144 commands/minute total LAN quota. Max 4 simultaneous TCP connections. Port 55443 for control. Discovery via UDP multicast 239.255.255.250:1982 using SSDP M-SEARCH. All messages terminated with "\r\n". No authentication required.
Provenance
source_domains:
- yeelight.com
source_urls:
- https://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf
retrieved_at: 2026-05-22T03:51:33.609Z
last_checked_at: 2026-07-22T08:10:40.954Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T08:10:40.954Z
matched_actions: 35
action_count: 35
confidence: medium
summary: "All 35 spec actions matched their exact method names in source Table 4-1 with identical parameter counts, types, and transport parameters fully supported. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no auth procedure in source"
- "base_url not stated; control channel established via IP + port"
- "no explicit safety warnings in source"
- "voltage/current/power specs not stated in source"
- "firmware compatibility range not stated"
- "exact error code enumeration not fully documented"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0