光源(dj) 标准指令集

更新时间:2022-04-01 01:07:58下载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_2 ,flash_scene_3 ,flash_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
1byte:0x00 1byte 1byte 1byte 1byte 9byte 9byte 生物节律公版协议

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

版本号 任务开关 模式选择 日期设定 参数模式 节点数 节点1 ……. 节点 N
1byte:0x01 1byte 1byte 1byte 1byte:
0x01:仅含BT
0x02:仅含HSV
0x03:含HSVBT
1byte 5~9byte
5byte
7byte
9byte
5~9byte 生物节律公版协议
  • 生物节律协议字段说明:
字段 序号 长度(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
1byte:0x00 1byte 11byte 11byte入睡协议

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

版本号 参数模式 任务节点数 节点 1 …… 节点 N
1byte:0x00 1byte:
0x01:仅含BT
0x02:仅含HSV
0x03:含HSVBT
1byte 11byte 11byte 入睡协议
  • 入睡协议字段说明如下
字段 序号 长度(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
1byte:0x00 1byte 11byte 11byte 唤醒协议

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

版本号 参数模式 任务节点数 节点 1 …… 节点 N
1byte:0x00 1byte:
0x01:仅含BT
0x02:仅含HSV
0x03:含HSVBT
1byte 11byte 11byte 唤醒协议
  • 唤醒协议字段说明如下
字段 序号 长度(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 不关灯