用户操作(设备,场景)请求定义

Updated on with 23 views

[toc]

操作设备

用户执行设备操作, 例如: 开灯, 调光, 关闭空调等

请求方式

请求参数

仅包含encData加密前的json格式的字段

名称类型是否必填默认值描述
qosInteger 0
targetIdInteger 1776
actionKeyString onOff
deviceKeyString SmartAirSwitch01
homeIdInteger 10
commandsList command对象列表 例如: [{key=number, name=name1, value=2}, {key=onOff, name=name2, value=true}]
command.keyString command key 参考mqtt消息模板配置
command.nameString
command.valueString

请求示例

{
    "encData": "Ok7lDwF/HZXmnzvTwyyFFloYw8R94WKxBdT0lKQyTJxo+wSGHlCqROpYbLB9ObsS/1+A8dPAH0wkiBxzim1wlfS8JQN4t9gz8JHLfseWHzHlcS/1t178mmjwy5VpUFyqUFsLwT2zblWvvGrQoROEJTm44NfLANdTdlfF1FZVlNplIJ4WVQzrxCzLFZf0igXEV5CSyQkRZi/Q3hwpsngrbtFv+ezZKgVQUBj5Ac7cuDOmLckngje8Xq+J14G8s2Oq",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1604472085309,
    "sign": "056309f817a91f13f184de0fafb3310b",
    "token": "02ab486815bb79c24408966e40418c2d",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

data明文示例

{
    "data": {
        "actionKey": "onOff",
        "commands": [
            {
                "key": "number",
                "name": "name1",
                "value": "1"
            },
            {
                "key": "onOff",
                "name": "name2",
                "value": "false"
            }
        ],
        "deviceKey": "SmartSwitch",
        "homeId": 18,
        "qos": 0,
        "targetId": 5
    }
}

设备类型(deviceKey)

一级key一级名称二级key二级名称简介
socket插座 插座(电源控制器)
curtain窗帘 窗帘电机
switch开关面板SWITCH_SINGLE1,
SWITCH_ZERO1,
SWITCH_SINGLE2,
SWITCH_ZERO2,
SWITCH_SINGLE3,
SWITCH_ZERO3,
SWITCH_SINGLE4,
SWITCH_ZERO4
单火墙开1,
零火墙开1,
单火墙开2,
零火墙开2,
单火墙开3,
零火墙开3,
单火墙开4,
零火墙开4
智能开关面板
light灯具LIGHT_NORMAL,
LIGHT_CW,
LIGHT_RGB
普通灯泡,
CW灯泡,
RGB灯泡
智能灯泡, 吸顶灯, rgb等, 灯带, 射灯, 台灯...
gateway网关GATEWAY_ROUTER,
GATEWAY_TRUNKING,
GATEWAY_EXTENSION
网关路由器,
中继网关,
AP分机
智能网关
voice智能语音VOICE_ROBOT,
VOICE_SOUND
语音机器人,
语音音箱
智能语音
sensor传感器SENSOR_GAS,
SENSOR_MAGNETIC,
SENSOR_CO,
SENSOR_INFRARED,
SENSOR_SMOKE,
SENSOR_HUMAN
燃气传感器,
门磁传感器,
一氧化碳传感器,
红外传感器,
烟雾传感器,
人体传感器等
智能传感器
relay智能空开RELAY_MICROFRACTURE微断空开智能空气开关

动作类型(actionKey)

key名称简介
onOff开关设备开关, 如: 灯泡, 空调, 面板等
reverse反转按键反转, 主要用于面板和遥控按键等
position设置位置设定位置, 如: 窗帘电机
timing定时器定时功能, 如: 定时关闭插座, 定时关闭灯泡等
setScene按键场景绑定按键场景, 如: 将某个情景或操作绑定再面板或者遥控上
switchState查询开关状态开关状态
freeMode设置自由模式设置设备只有模式, 如: 灯泡颜色自动变换
setColor设置颜色设置设备颜色, 主要灯泡调光(黄白, RGB等)
setDelay设置延时设置设备延时, 包括打开延时和关闭延时
powerOn通电自启动设置设备通电是否自动启动
  • 开关: onOff 下·

  • 反转: reverse

  • 设置位置: position

  • 定时器: timing

  • 按键场景: setScene

  • 查询开关状态: switchState

  • 设置自由模式: freeMode

  • 设置颜色: setColor

  • 设置延时: setDelay

  • 通电自启动: powerOn

  • 开事件上报: openEvent

  • 关事件上报: clossEvent

  • 颜色事件上报: colorEvent

  • 自由事件上报: freeEvent

command 对象定义

数据结构

  • key: 指令key(用于表示指令动作)
  • name: 指令名称(可空, 方便调试用的)
  • value: 指令具体内容
 {
   "key": "onOff",
   "name": "开关操作",
   "value": "true"
 }

key 定义表

  • value都是String类型封装的
  • 数据类型标识数据的取值范围(数字, 字符串, 布尔)
  • 字段的详细说明需要参考对应的设备接口文档
字段名数据类型名称简介
msgIdString消息id消息id 在单个设备中不允许重复, 设备根据这个id做去重处理
onOffString开关动作设置设备"开"或者"关", 字符串的("true"和"false"
positionInteger设置位置设置设备位置, 例如: 窗帘电机 "position": 50 (将窗帘打开一半)
repertFlagboolean是否重复配置动作是否重复, 例如定时动作是否重复
numberInteger序号如 第几个按键, 第几个开关
groupNumberInteger组序号如第几组定时
UTCSecInteger当天多少秒执行例如早上8点,为86060(8*60*60)
weekInteger周几执行一星期中星期几需要执行, 例如: 135 标识 周一周三周五执行
sceneString智能场景(名称)用于将按键和场景绑定
iotIdStringiotIdmqtt服务器给每个设备分配的id
deviceNameString设备名称理论上不会重复(至少一个品类不重复),
gmtTimeMsInteger当前时间(毫秒)
modeInteger模式灯泡(自由变化模式,取值:1~9,1为色环渐变,2为跳变,3为告警闪烁)
delayInteger延时(毫秒)设置动作延时, 例如灯光缓慢的关闭
light_cInteger灯管黄色值(0~254)设置灯泡黄色数值
light_wInteger灯管白色值(0~254)设置灯泡白色数值
light_rInteger灯管红色值(0~254)设置灯泡红色数值
light_gInteger灯管绿色值(0~254)设置灯泡绿色数值
light_bInteger灯管蓝色值(0~254)设置灯泡蓝色数值
light_brightnessInteger灯管亮度(0~100)设置灯泡亮度
speedInteger速度例如灯光变化速度
open_delayInteger延时(开启动作)开启动作的延时, 如灯泡缓开时间
close_delayInteger延时(关闭动作)关闭动作的延时, 如灯泡缓灭时间

标题:用户操作(设备,场景)请求定义
作者:TWanGT
地址:http://twangt.wang/articles/2020/11/10/1605008068115.html

Responses