灯具(dj) 标准指令集

更新时间:2024-09-19 07:24:20下载pdf

灯具(dj)标准指令集

标准指令
名称
取值类型
取值说明
备注
switch_led 开关 Boolean {}
work_mode 模式 Enum {“range”:[“white”,“colour”,“scene”,“music”,“scene_1”,“scene_2”,
“scene_3”,“scene_4”]}
bright_value 亮度 Integer {“min”:25,“scale”:0,“unit”:“”,“max”:255,“step”:1}
bright_value_v2 亮度 Integer {“min”:10,“scale”:0,“unit”:“”,“max”:1000,“step”:1}
temp_value 冷暖 Integer {“min”:0,“scale”:0,“unit”:“”,“max”:255,“step”:1}
temp_value_v2 冷暖 Integer {“min”:0,“scale”:0,“unit”:“”,“max”:1000,“step”:1}
do_not_disturb 勿扰模式 Boolean {}
colour_data 彩光模式 Json {}
colour_data_v2 彩光模式 Json {}
scene_data 情景模式 Json {}
scene_data_v2 情景模式 Json {}
flash_scene_1 柔光模式 Json {}
flash_scene_2 缤纷模式 Json {}
flash_scene_3 炫彩模式 Json {}
flash_scene_4 斑斓模式 Json {}
music_data 音乐灯模式控制 Json {}
control_data 调节 DP 控制 Json {}
countdown_1 倒计时 Integer {“unit”:“”,“min”:0,“max”:86400,“scale”:0,“step”:1}
scene_select 场景选择 Enum {“range”:[“1”,“2”,“3”,“4”,“5”]} 老版本
switch_health_read 健康阅读开关 Boolean {} 老版本
read_time 健康阅读-阅读时间设置 Integer {“unit”:“minute”,“min”:1,“max”:60,“scale”:0,“step”:1} 老版本
rest_time 健康阅读-休息时间设置 Integer {“unit”:“minute”,“min”:1,“max”:60,“scale”:0,“step”:1} 老版本
rhythm_mode 生物节律 Raw {}
sleep_mode 入睡 Raw {}
wakeup_mode 唤醒 Raw {}

标准指令示例

switch_led

表示灯具电源的开关。

  • 取值说明

    • true:打开灯具电源开关。
    • false:关闭灯具电源开关。
  • 代码示例

    {
        "commands":[
            {
                "code":"switch_led",
                "value":true
            }
        ]
    }
    

work_mode

设置灯具预定义的颜色模式。不同的产品支持不同的模式设置。

  • 取值说明

    • white:白色。
    • colour:彩色。
    • scene:预定义颜色。
    • music:预定义颜色。
    • scene_1:预定义颜色。
    • scene_2:预定义颜色。
    • scene_3:预定义颜色。
    • scene_4:预定义颜色。
  • 代码示例

    {
        "commands":[
            {
                "code":"work_mode",
                "value":"white"
            }
        ]
    }
    

bright_value

调节灯具亮度。

  • 取值说明

    参考取值范围为 25~255。具体每个产品取值范围不同,以查询到的设备属性为准。

  • 代码示例

    {
        "commands":[
            {
                "code":"bright_value",
                "value":120
            }
        ]
    }
    

bright_value_v2

调节灯具亮度。

  • 取值说明
    参考取值范围为 10~1000。具体每个产品的取值范围不同,以查询到的设备属性为准。

  • 代码示例

    {
        "commands":[
            {
                "code":"bright_value_v2",
                "value":990
            }
        ]
    }
    

temp_value

调节灯具色温(冷暖)

  • 取值说明
    取值范围为 25~255。

  • 代码示例

    {
        "commands":[
            {
                "code":"temp_value",
                "value":120
            }
        ]
    }
    

temp_value_v2

调节灯具色温,即冷暖值。

  • 取值说明
    参考取值范围为 0~1000。

  • 代码示例

    {
        "commands":[
            {
                "code":"temp_value_v2",
                "value":990
            }
        ]
    }
    

colour_data

以 HSV 的形式控制灯具的颜色变化。

  • 取值说明

    • h:0~360
    • s:0~255
    • v:0~255
  • 代码示例

    {
        "commands":[
            {
                "code":"colour_data",
                "value":{
                    "h":37,
                    "s":255,
                    "v":188
                }
            }
        ]
    }
    
    

colour_data_v2

以 HSV 的形式控制灯具的颜色变化。

  • 取值说明

    • h:0~360
    • s:0~1000
    • v:0~1000
  • 代码示例

    {
        "commands":[
            {
                "code":"colour_data_v2",
                "value":{
                    "h":201,
                    "s":511,
                    "v":899
                }
            }
        ]
    }
    

scene_data

以 HSV 的形式控制灯具的颜色变化。

  • 取值说明

    • h:0~360
    • s:0~255
    • v:0~255
  • 代码示例

    {
        "commands":[
            {
                "code":"scene_data",
                "value":{
                    "h":37,
                    "s":255,
                    "v":188
                }
            }
        ]
    }
    
    

scene_data_v2

一种 DIY 形式控制灯具的颜色变化,部分灯具产品支持这种控制。

  • 取值说明

    • scene_num:1~256,情景号。
    • unit_change_mode:[“static”,“jump”,“gradient”] 单元变化模式。分别表示:“静态”,“跳变”,“渐变”。
    • unit_switch_duration:0~100 各个情景单元间切换时间。
    • unit_gradient_duration:0~100 情景单元从上个状态切换到目标状态的渐变速度。
    • bright:0~1000 亮度。
    • temperature:0~1000 色温。
    • h:0~360。
    • s:0~1000。
    • v:0~1000。
  • 代码示例

    {
        "commands":[
            {
                "code":"scene_data_v2",
                "value":{
                    "scene_num":5,
                    "scene_units":[
                        {
                            "unit_change_mode":"static",
                            "unit_switch_duration":20,
                            "unit_gradient_duration":20,
                            "h":201,
                            "s":611,
                            "v":999,
                            "bright":500,
                            "temperature":800
                        }
                    ]
                }
            }
        ]
    }
    
    

music_data

一种 DIY 形式控制灯具的颜色变化,部分灯具产品支持这种控制。

  • 取值说明

    • change_mode:[“direct”,“gradient”] 变色方式。分别表示:“直接输出”,“渐变”。
    • bright:0~1000 亮度
    • temperature:0~1000 色温
    • h:0~360
    • s:0~1000
    • v:0~1000
  • 代码示例

    {
        "commands":[
            {
                "code":"music_data",
                "value":{
                    "change_mode":"direct",
                    "bright":500,
                    "temperature":800,
                    "h":201,
                    "s":611,
                    "v":999
                }
            }
        ]
    }
    
    

control_data

一种 DIY 形式控制灯具的颜色变化,部分灯具产品支持这种控制。

  • 取值说明

    • change_mode:[“direct”,“gradient”] 变色方式。分别表示:“直接输出”,“渐变”。
    • bright:0~1000,亮度。
    • temperature:0~1000,色温。
    • h:0~360。
    • s:0~1000。
    • v:0~1000。
  • 代码示例

    {
        "commands":[
            {
                "code":"control_data",
                "value":{
                    "change_mode":"direct",
                    "bright":500,
                    "temperature":800,
                    "h":201,
                    "s":611,
                    "v":999
                }
            }
        ]
    }
    
    

flash_scene_1

一种 DIY 形式控制灯具颜色变化,部分灯具产品支持这种控制。
flash_scene_2flash_scene_3flash_scene_4 传值方式与此相同。

  • 取值说明

    • bright:亮度,取值范围 0~255。
    • temperature:色温(冷暖值),取值范围 0~255。
    • frequency:频率,颜色之间切换时间长短的度量,值越大,颜色之间切换时间越长,取值范围 1~255。
    • h:0~360。
    • s:0~255。
    • v:0~255。
  • 代码示例

    {
        "commands":[
            {
                "code":"flash_scene_1",
                "value":{
                    "bright":100,
                    "frequency":76,
                    "hsv":[
                        {
                            "h":210.0,
                            "s":169.0,
                            "v":146.0
                        }
                    ],
                    "temperature":84
                }
            }
        ]
    }
    
    

countdown_1

倒计时设置,控制灯具的开关功能。部分灯具产品支持。

  • 取值说明

    • 单位:s,秒。
    • 取值范围:0~86400
  • 代码示例

    {
        "commands":[
            {
                "code":"countdown_1",
                "value":1200
            }
        ]
    }
    

scene_select

预定义的一些场景设置。部分灯具产品支持。

  • 取值说明

    • “1”:阅读
    • “2”:用电脑
    • “3”:小夜灯
    • “4”:休闲
    • “5”:调光
  • 代码示例

    {
        "commands":[
            {
                "code":"scene_select",
                "value":"1"
            }
        ]
    }
    

switch_health_read

健康阅读开关。部分灯具产品支持。

  • 取值说明

    • true:打开
    • false:关闭
  • 代码示例

    {
        "commands":[
            {
                "code":"switch_health_read",
                "value":true
            }
        ]
    }
    

read_time

阅读时间设置。部分灯具产品支持。

  • 取值说明

    • 单位:分钟(minute)。
    • 范围:1~60。
  • 代码示例

    {
        "commands":[
            {
                "code":"read_time",
                "value":10
            }
        ]
    }
    

rest_time

休息时间设置。部分灯具产品支持。

  • 取值说明

    • 单位:分钟(minute)。
    • 范围:1~60。
  • 代码示例

    {
        "commands":[
            {
                "code":"rest_time",
                "value":20
            }
        ]
    }
    

常见模式示例

  • 晚安模式

    {
        "commands":[
            {
                "code":"scene_data",
                "value":{
                    "h":37.0,
                    "s":255.0,
                    "v":188.7
                }
            }
        ]
    }
    
    
  • 阅读模式

    {
        "commands":[
            {
                "code":"scene_data",
                "value":{
                    "h":38.0,
                    "s":8.0,
                    "v":255.0
                }
            }
        ]
    }
    
    
  • 聚会模式

    {
        "commands":[
            {
                "code":"scene_data",
                "value":{
                    "h":16.0,
                    "s":255.0,
                    "v":207.0
                }
            }
        ]
    }
    
    
  • 休闲模式

    {
        "commands":[
            {
                "code":"scene_data",
                "value":{
                    "h":226.0,
                    "s":176.0,
                    "v":181.0
                }
            }
        ]
    }
    
    
  • 柔光模式

    {
        "commands":[
            {
                "code":"flash_scene_1",
                "value":{
                    "bright":100,
                    "frequency":76,
                    "hsv":[
                        {
                            "h":210.0,
                            "s":169.0,
                            "v":146.0
                        }
                    ],
                    "temperature":84
                }
            }
        ]
    }
    
    
  • 缤纷模式

    
    {
        "commands":[
            {
                "code":"flash_scene_2",
                "value":{
                    "bright":255,
                    "frequency":80,
                    "hsv":[
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":120.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":240.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        }
                    ],
                    "temperature":255
                }
            }
        ]
    }
    
    
  • 炫彩模式

    {
        "commands":[
            {
                "code":"flash_scene_3",
                "value":{
                    "bright":100,
                    "frequency":76,
                    "hsv":[
                        {
                            "h":210.0,
                            "s":169.0,
                            "v":146.0
                        }
                    ],
                    "temperature":84
                }
            }
        ]
    }
    
    
  • 斑斓模式

    {
        "commands":[
            {
                "code":"flash_scene_4",
                "value":{
                    "bright":255,
                    "frequency":80,
                    "hsv":[
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":120.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":240.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":300.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":240.0,
                            "s":255.0,
                            "v":255.0
                        },
                        {
                            "h":0.0,
                            "s":255.0,
                            "v":255.0
                        }
                    ],
                    "temperature":255
                }
            }
        ]
    }
    
    

rhythm_mode

生物节律,指令下发需先使用 Base64 编码。

  • 协议字段设计如下:

    版本号 任务开关 模式选择 日期设定 节点数 节点 1 …… 节点 N
    1 byte:0x00 1 byte 1 byte 1 byte 1 byte 9 bytes 9 bytes 生物节律公版协议

    0x01 版本协议增加 1 个字节 参数模式 字段。

    版本号 任务开关 模式选择 日期设定 参数模式 节点数 节点 1 ……. 节点 N
    1 byte:0x01 1 byte 1 byte 1 byte 1 byte:
    0x01:仅含 BT
    0x02:仅含 HSV
    0x03:含 HSVBT
    1 byte 5~9 bytes
    5 bytes
    7 bytes
    9 bytes
    5~9 bytes 生物节律公版协议
  • 生物节律协议字段说明:

    字段 序号 长度(byte) 数据代表说明
    版本号 1 1 0x00:初始版本
    任务开关 2 1 0x00:任务关闭
    0x01:任务打开
    模式选择 3 1 0x00:两节点之间一直渐变
    0x0F:到达节点时间后开始渐变,渐变完成时间为该字段值。最小允许值 15
    例如:0x0F 表示节点时间到达后 15 分钟完成渐变
    日期设定 4 1 解析具体的字节位,某天生效,相应位置 1,见后文说明
    节点个数 5 1 0x01:1 个节点。范围允许值 1~8
    节点参数 节点开关 6 1 节点开关优先级低于任务开关,
    只有任务开关开启的情况下才判断节点开关的状态
    0x00:节点禁能,不生效
    0x01:节点使能,生效
    小时 1 1. 参数说明:小时。
    2. 取值范围:0x00~0x17。
    3. 示例:0x10,16 点。
    分钟 1 1. 参数说明:开始分钟。
    2. 取值范围:0x00~0x3b。
    3. 示例:0x10,16 分。
    色调 2 1. 参数说明:色调,第一个字节表示百位,第二个字节表示十位和个位。
    2. 取值范围:第一个字节 0x00~0x03,第二个字节 0x00~0x64。
    3. 示例:0x03,0x10,实际值为 316。
    饱和度百分比 1 1. 参数说明:饱和度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示饱和度为 16%。
    明度百分比 1 1. 参数说明:明度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示明度为 16%。
    亮度百分比 1 1. 参数说明:亮度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示亮度为 16%。
    色温百分比 1 1. 参数说明:色温百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示色温为 16%。
  • 日期说明

    如果全 0,表示单次模式,只生效一次。否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。例如,0x42 表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)。

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
  • 示例如下

    0001000104000000000000000500010002000000005032000538000000001419010B35000000006464 --> AAEAAQQAAAAAAAAABQABAAIAAAAAUDIABTgAAAAAFBkBCzUAAAAAZGQ=

    字段 字段值 说明
    版本号 00 初始版本
    任务开关 01 任务打开
    模式选择 00 两点之间一直渐变
    日期设定 01 周日生效
    任务节点数 04 4 个节点
    节点参数 任务开关 00 节点关闭
    小时 00 0 点
    分钟 00 0 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 05 亮度为 5%
    色温百分比 00 色温为 0%
    节点参数 任务开关 01 节点使用
    小时 00 0 点
    分钟 02 02 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 50 亮度为 80%
    色温百分比 32 色温为 50%
    节点参数 任务开关 00 节点关闭
    小时 05 5 点
    分钟 38 56 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 14 亮度为 20%
    色温百分比 19 色温为 25%
    节点参数 任务开关 01 节点使用
    小时 0B 11 点
    分钟 53 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 64 亮度为 100%
    色温百分比 64 色温为 100%

sleep_mode

入睡设置。指令下发需要先使用 Base64 编码。

  • 协议字段设计如下

    版本号 任务节点数 节点 1 …… 节点 N
    1 byte:0x00 1 byte 11 bytes 11 bytes 入睡协议

    0x01 版本协议增加 1 个字节 参数模式 字段。

    版本号 参数模式 任务节点数 节点 1 …… 节点 N
    1 byte:0x00 1 byte:
    0x01:仅含 BT
    0x02:仅含 HSV
    0x03:含 HSVBT
    1 byte 11 bytes 11 bytes 入睡协议
  • 入睡协议字段说明如下

    字段 序号 长度(byte) 数据代表说明
    版本号 1 1 0x00:初始版本
    任务节点数 2 1 0x01:1 个节点
    …….
    0x04:4 个节点
    节点参数 任务开关 3 1 0x00:任务关闭
    0x01:任务打开
    日期设定 1 解析具体的字节位,某天生效,相应位置 1,见后文说明。
    渐变步进值 1 0x10:hex 码,5 分钟一个步进,16*5=90 分钟渐变时长。范围允许值 0x01~0x48。
    起始小时 1 1. 参数说明:小时。
    2. 取值范围:0x00~0x17。
    3. 示例:0x10,16 点。
    起始分钟 1 1. 参数说明:开始分钟。
    2. 取值范围:0x00~0x3b。
    3. 示例:0x10,16 分。
    色调 2 1. 参数说明:色调,第一个字节表示百位,第二个字节表示十位和个位。
    2. 取值范围:第一个字节 0x00~0x03,第二个字节 0x00~0x64。
    3. 示例:0x03,0x10,实际值为 316。
    饱和度百分比 1 1. 参数说明:饱和度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示饱和度为 16%。
    明度百分比 1 1. 参数说明:明度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示明度为 16%。
    亮度百分比 1 1. 参数说明:亮度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示亮度为 16%。
    色温百分比 1 1. 参数说明:色温百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示色温为 16%。
  • 日期说明

    如果全 0,表示单次模式,只生效一次。否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。例如,0x42 表示任务在星期六和星期一生效,注意必须保证相应的任务开关是处于开启状态。

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
  • 示例如下

    00010120050200000000000A64 --> AAEBIAUCAAAAAAAKZA==

    字段 字段值 说明
    版本号 00 初始版本
    任务节点数 01
    1 个节点
    节点参数 任务开关 01 任务打开
    日期设定 20 周五生效
    渐变步进值 05 5*5=25 分钟渐变时长
    起始小时 02 2 点
    起始分钟 00 0 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 0A 亮度为 10%
    色温百分比 64
    色温为 100%

wakeup_mode

唤醒。指令下发需要先使用 Base64 编码。

  • 协议字段设计如下

    版本号 任务节点数 节点 1 …… 节点 N
    1 byte:0x00 1 byte 11 bytes 11 bytes 唤醒协议

    0x01 版本协议增加 1 个字节 参数模式 字段。

    版本号 参数模式 任务节点数 节点 1 …… 节点 N
    1 byte:0x00 1 byte:
    0x01:仅含 BT
    0x02:仅含 HSV
    0x03:含 HSVBT
    1 byte 11 bytes 11 bytes 唤醒协议
  • 唤醒协议字段说明如下

    字段 序号 长度(byte) 数据代表说明
    版本号 1 1 0x00:初始版本
    任务节点数 2 1 0x01:1 个节点
    …….
    0x04:4 个节点
    节点参数 任务开关 3 1 0x00:任务关闭
    0x01:任务打开
    日期设定 1 解析具体的字节位,某天生效,相应位置 1,见后文说明
    渐变步进值 1 0x10:hex 码,5 分钟一个步进,16*5=90 分钟渐变时长。范围允许值 1~72
    起始小时 1 1. 参数说明:小时。
    2. 取值范围:0x00~0x17。
    3. 示例:0x10,16 点。
    起始分钟 1 1. 参数说明:开始分钟
    2. 取值范围:0x00~0x3b
    3. 示例:0x10,16 分
    色调 2 1. 参数说明:色调,第一个字节表示百位,第二个字节表示十位和个位
    2. 取值范围:第一个字节 0x00~0x03,第二个字节 0x00~0x64
    3. 示例:0x03,0x10,实际值为 316
    饱和度百分比 1 1. 参数说明:饱和度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示饱和度为 16%。
    明度百分比 1 1. 参数说明:明度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示明度为 16%。
    亮度百分比 1 1. 参数说明:亮度百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示亮度为 16%。
    色温百分比 1 1. 参数说明:色温百分比。
    2. 取值范围:0x00~0x64。
    3. 示例:hex 码为 0x10,十进制数值为 16,表示色温为 16%。
    维持时间 1 1. 参数说明:渐变完成后维持灯光开启的时长。维持的时长为 hex 码对应十进制数值倍数的单位时长,单位时长为 5 分钟。
    2. 取值范围:0x00~0x18。
    3. 示例:hex 码为 0x10,十进制数值为 16,即表示渐变完成 90 分钟后关灯。
    4. 特殊说明:0 表示渐变完成不关灯。
  • 日期说明

    如果全 0,表示单次模式,只生效一次。否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。例如,0x42 表示任务在星期六和星期一生效。注意必须保证相应的任务开关是处于开启状态。

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
  • 示例如下

    AAEBIAYBBQAAAABkHgA= --> 0001012006010500000000641E00

    字段 字段值 说明
    版本号 00 初始版本
    任务节点数 01
    1 个节点
    节点参数 任务开关 01 任务打开
    日期设定 20 周五生效
    渐变步进值 06 6*5=30 分钟渐变时长
    起始小时 01 1 点
    起始分钟 05 05 分
    色调 0000 色调为 0
    饱和度百分比 00 饱和度百分比为 0%
    明度百分比 00 明度百分比为 0%
    亮度百分比 64 亮度为 100%
    色温百分比 1E 色温为 30%
    维持时间 00 0 不关灯