跳转到正文

V2 业务命令 ​

本页集中放业务 JSON 命令。所有命令都通过 BLUFI Custom Data 发送,并携带新的 request_id。

命令总览 ​

命令参数用途前置状态结果顺序
set_volumevalue: 0..100设置音量已鉴权command_ack → state.volume
set_brightnessvalue: 0..100设置亮度已鉴权command_ack → state.brightness
set_wifissid、password配置 Wi-Fi恢复状态可直接使用;AUTH_REQUIRED 先鉴权connecting → connected 或失败
peer_radar_startduration_ms,默认/最大 60000开启发现窗口已鉴权started → peer_found → peer_discovery_done
peer_radar_stop无停止发现窗口已启动或已停止新 request_id 的 stopping / already_stopped;最终 peer_discovery_done 归属启动 ID
reboot无重启设备已鉴权rebooting,随后断开

设置音量 ​

请求:

json
{"command":"set_volume","request_id":"volume-001","params":{"value":50}}

成功响应:

json
{"type":"command_ack","request_id":"volume-001","code":0,"message":"ok","state":{"volume":50}}

失败响应:invalid_volume 或 audio_unsupported。

设置亮度 ​

请求:

json
{"command":"set_brightness","request_id":"brightness-001","params":{"value":80}}

成功响应:

json
{"type":"command_ack","request_id":"brightness-001","code":0,"message":"ok","state":{"brightness":80}}

失败响应:invalid_brightness 或 screen_unsupported。

配置 Wi-Fi ​

请求:

json
{"command":"set_wifi","request_id":"wifi-001","params":{"ssid":"MyWiFi","password":"password123"}}

立即响应:

json
{"type":"command_ack","request_id":"wifi-001","code":0,"message":"connecting"}

最终响应:

json
{"type":"command_ack","request_id":"wifi-001","code":0,"message":"connected","state":{"network":"WIFI_CONNECTED"}}

失败响应:wifi_connect_failed 或 wifi_config_failed。SSID 最长 32 字节,密码最长 64 字节且可为空。双网下不关闭 4G、不手动切换路由。

附近设备发现 ​

启动请求:

json
{"command":"peer_radar_start","request_id":"radar-001","params":{"duration_ms":30000}}

启动响应:

json
{"type":"command_ack","request_id":"radar-001","code":0,"message":"started","state":{"duration_ms":30000}}

发现事件:

json
{"type":"peer_found","request_id":"radar-001","data":{"device_id":"Xiaoji-A4CB8FD5C1F4","rssi":-48}}

结束响应:

json
{"type":"peer_discovery_done","request_id":"radar-001","code":0,"reason":"timeout","count":1,"devices":[{"device_id":"Xiaoji-A4CB8FD5C1F4","rssi":-48}]}

停止请求:

json
{"command":"peer_radar_stop","request_id":"radar-stop-001","params":{}}

停止响应:

json
{"type":"command_ack","request_id":"radar-stop-001","code":0,"message":"stopping"}
{"type":"peer_discovery_done","request_id":"radar-001","code":0,"reason":"stopped","devices":[]}

停止命令是幂等的:重复停止返回 already_stopped;timeout 是正常结束,不是失败。每次 peer_radar_start、peer_radar_stop 都生成新的 request_id,但停止后的最终结束事件继续归属启动窗口的 ID。

重启设备 ​

请求:

json
{"command":"reboot","request_id":"reboot-001","params":{}}

响应:

json
{"type":"command_ack","request_id":"reboot-001","code":0,"message":"rebooting"}

设备返回 rebooting 后重启并断开连接。

通用错误 ​

code含义
-1invalid_json
-2状态或参数错误,如 device_unbound、network_unavailable
-3unknown_command
-4硬件不支持或执行失败

失败响应必须保留原 request_id。payload 超过 512 字节时返回 payload_too_large。

文档中心 · docs.jimitu.top