文档测试

Updated on with 136 views

汇云居用户app接口文档

[toc]

枚举汇总

state状态汇总

code含义
1有效
-9已删除

app 全局请求标准规范

app 的所有请求接口都需要遵循全局请求标准规范

加密

请求数据需要加密后才进行传输

数据内容转为json格式字符串(字典顺序)加密后丢入全局参数encData中

加密策略:

采用des和base64的方式对一个字符串进行加密和解密

    1. 密钥是一个长度 16,由16进制字符组成的字符串, 如:1234567890ABCDEF使用时相临的两位理解为一个16进制数的明文,然后转换为实际使用的8位密钥
    1. 待加密数据按照PKCS5规则进行补位(缺7位补7个0x07,缺6位则补6个0x06,以次类推,如果正好8位,也需要补8个0x08)
    1. 实际加密模式选择DES-ECB
    1. 经过DES加密后的数据必须通过Base64编码转换为明文的字符串签名

签名

按照以下顺序拼接进行签名

token, reqTime, encData, uuid, version

拼接规则

  • 每次追加前都需要插入sign_key

  • 基本类型直接追加

  • 复杂对象转为json字符串后追加

全局请求参数

具体接口中请求参数表中省略下表中的字段

具体接口中的请求参数表只表示出encData加密前的格式

名称类型是否必填默认值描述
deviceTypeString 手机品牌
encDataString 数据正文(json格式数据加密后)
signString 签名
tokenString 用户token
uuidString 设备唯一标识码
versionString app版本号
reqTimeString 请求时间戳
osString ios, android, wx

全局响应参数

具体接口中响应参数表如无特殊返回要求将会略写

一般判断code为0即可视为成功, msg中存放结果描述

  • 返回code有特殊要求的会再具体接口文档中另写表格标明
名称类型是否必填默认值描述
codeint0请求结果状态码, 一般0标识成功
msgString''返回描述, 无描述将传空字符
dataObject 返回的数据对象, 如无数据返回则没有该字段

响应示例

## 成功
{
    "code": 0,
    "msg": "成功"
}

## 请求超时
{
    "code": -1,
    "msg": "请求已超过时效"
}

## sign错误
{
    "code": -1,
    "msg": "签名(sign)为空"
}

## sign无效
{
    "code": -1,
    "msg": "无效签名"
}

特殊的数据结构

HomeVo对象

家庭展示对象

名称类型是否必填默认值描述
idInteger 家庭id
nameString 家庭名
revisionInteger 数据版本号
stateInteger1数据状态, 1: 有效, -9: 已删除
floorListArray 楼层展示对象(列表)

FloorVo对象

楼层展示对象

名称类型是否必填默认值描述
idInteger 楼层id
homeIdInteger 家庭id
nameString 楼层名
revisionInteger 数据版本号
stateInteger1数据状态, 1: 有效, -9: 已删除
roomListArray 房间展示对象(列表)

RoomVo对象

房间展示对象

名称类型是否必填默认值描述
idInteger 房间id
homeIdInteger 家庭id
floorIdInteger 楼层id
nameString 房间名
revisionInteger 数据版本号
stateInteger1数据状态, 1: 有效, -9: 已删除
deviceListArray 设备展示对象(列表)

DeviceVo对象

设备展示对象

名称类型是否必填默认值描述
idInteger 设备id
homeIdInteger 家庭id
floorIdInteger 楼层id
roomIdInteger 房间id
deviceCompanyIdInteger 设备厂商id
deviceTypeIdInteger 设备类型id
nameString 设备名
nickNameString 设备别名
productKeyString 设备所属类型(系列)key
deviceNameString 设备名字(身份标识)
deviceDetailString 设备当前状态(DeviceDetail 对象)
stateInteger1数据状态, 1: 有效, -9: 已删除

DeviceDetail 对象

设备详情对象

private Integer id;
private Integer relationId;
private Integer deviceCompanyId;
private Integer deviceTypeId;
private String productKey;
private String deviceName;
private String iotId;
private String sw;
private String hw;
private String mac;
private BaseDeviceStatusDto status;
private LocalDateTime updateTime;
名称类型是否必填默认值描述
idInteger 设备详情id
relationIdInteger 设备关联id
deviceCompanyIdInteger 设备厂商id
deviceTypeIdInteger 设备类型id
iotIdString mqtt分配的id
swString 软件版本号
hwString 硬件版本号
macString mac地址
productKeyString 设备所属类型(系列)key
deviceNameString 设备名字(身份标识)
statusBaseDeviceStatusDto 设备当前状态(BaseDeviceStatusDto对象)
updateTimeString 记录更新时间

BaseDeviceStatusDto对象

设备状态对象

private String name;                       // 设备名称
private String iotId;                      // 设备在平台内的唯一标识
private String productKey;                 // 产品类别的唯一标识
private String deviceName;                 // 设备名称
private String companyCode;                // 厂商代号
private LocalDateTime reportTime;          // 数据报文中的上报时间
private LocalDateTime createTime;          // 数据创建时间
private LocalDateTime updateTime;          // 数据更新时间
private List<ReportItem> items;            // 具体项目数据
private List<BaseDeviceTimer> timerList;   // 定时器列表
名称类型是否必填默认值描述
nameString 设备名称
iotIdString 设备在平台内的唯一标识
productKeyString 产品类别的唯一标识
deviceNameString 设备名称
companyCodeString 厂商代号
reportTimeLong 数据上报时间
createTimeLong 数据创建时间
updateTimeLong 数据更新时间
itemsArray 具体项目数据(列表), 详情请看ReportItem对象
timerListArray 定时器列表, 详情请看BaseDeviceTimer对象

SubDevice对象

设备内容子集对象(开关面板子集等)

private int num;			// 第几个按键
private String name;		// 按键名称
private String iconUrl;		// 图标地址
private int type;    		// 1: 普通开关, 2: 情景按键, 3: 遥控按键
private Integer targetId;  	// type=1: 该字段无效, type=2: deviceId, type=3: 情景id
名称类型是否必填默认值描述
numint 第几个按键
nameString 按键名称
iconUrlString 图标地址
typeint 1: 普通开关, 2: 情景按键, 3: 遥控按键
targetIdint type=1: 该字段无效, type=2: deviceId, type=3: 情景id

ReportItem对象

设备报文对象, 每个对象标识一个维度的数据值

private String id;          // 对象id
private String name;        // 对象名称
private String value;       // 对象值
private String unit;        // 对象单位
名称类型是否必填默认值描述
idString 对象id 如: position(位置)
nameString 对象名称 如: 位置
valueString 对象值 如: 温度26度则这里值为26
unitString 对象单位 如: "%", "°C"

BaseDeviceTimer对象

设备定时任务对象

	private Integer num;            // 定时器对象序号
	private Integer productNum;    	// 操作对象序号(如开关这种一个设备有多个操作按钮的才有这个字段)
	private Boolean powerState;     // 对象名称
	private Integer position;       // 设备位置
	private Boolean repertFlag;     // 是否重复执行
	private Integer week;           // 周几执行
	private Integer uTCSec;         // 当天执行的秒数
名称类型是否必填默认值描述
numInteger 定时器对象序号
weekInteger 周几执行
uTCSecInteger 当天执行的秒数
repertFlagBoolean 是否重复执行
productNumInteger 操作对象序号(如开关这种一个设备有多个操作按钮的才有这个字段)
powerStateBoolean 对象名称
positionInteger 设备位置

SnippetVo对象

智能化片段展示对象

名称类型是否必填默认值描述
orderInteger 情景id
deviceIdInteger 家庭id
delayString 智能片段名称
commandList 智能化片段包含的操作指令集

SceneVo对象

情景展示对象

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
nameString 情景名称
commandSetString 情景包含的操作指令集(json化的InstructionBo对象数组)

CrontabDto对象

定时任务对象

private int week;                      // 周几执行, 例如; 134表示星期一, 星期三和星期天执行
private int uTCSec;                    // 当天多少秒执行(例如早上8点,为8*60*60)
private boolean repertFlag = false;    // 是否重复执行,是否为定时场景
名称类型是否必填默认值描述
weekInteger 周几执行, 例如; 134表示星期一, 星期三和星期天执行
uTCSecInteger 当天多少秒执行(例如早上8点,为86060)
repertFlagBooleanfalse是否重复执行,是否为定时场景

InstructionBo对象

指令对象(用于情景指令集中)

//#####  业务处理字段
protected String deviceId;                  // 执行设备对象id
protected Integer order;                    // 执行顺序(排序)
protected Long delay;                    		// 动作执行前延时(100ms为单位, 就是可以设置到小数点后一位延迟, 例如: 1.1秒)
protected String deviceKey;                 // 设备key(对应配置表的key)
protected String actionKey;                 // 执行动作(对应配置表的key)
protected List<OperateCommand> commandList; // 具体的操作指令内容
名称类型是否必填默认值描述
deviceIdInteger 需要响应该指令的设备标识
orderInteger 指令排序
delayLong 该指令执行延时(单位:毫秒(ms))
deviceKeyString 设备key(详情参考用户操作(设备,场景)请求定义)
actionKeyString 执行动作(详情参考用户操作(设备,场景)请求定义)
commandListList 具体的操作指令内容对象列表

OperateBodyDto对象

用户操作对象(设备或情景操作)

名称类型是否必填默认值描述
qosInteger00: 无保障机制, 1: 保证丢且只丢入一次消息队列, 2: 保证消费且只消费一次消息
targetIdInteger设备id或情景id
actionKeyString什么操作, 如: 开关灯, 调整亮度等
deviceKeyString设备类型key
homeIdInteger家庭id
commandsList具体的操作参数对象列表

OperateCommand对象

具体操作指令

详情请参考用户操作(设备,场景)请求定义中的command 对象定义

其中的keyvalue需要参考用户操作(设备,场景)请求定义key 定义表

private String key;    // 指令key(用于表示指令动作)
private String value;  // 指令名称(可空, 方便调试用的)
private String name;   // 指令具体内容
类型是否必填默认值描述
keyString 指令key(用于表示指令动作)
nameString 指令名称(可空, 方便调试用的)
valueString 指令具体内容

系统级接口

验证码相关

获取图片验证码

请求获取图片验证码, 会直接将图片返回

注意: 需要保留此次的请求时间(验证接口会的校验条件之一)

请求方式

请求参数

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

名称类型是否必填默认值描述
reqTypeStringgenerateCode请求类型code

请求示例

{
  "deviceType": "a1502",
  "encData": "4IVrTSFB227JyC48zdhE62sOLv4ZVAhPTDZse5xmTFFyyWD3Z6Ui+bKq+hRF3SCGBtFN+p+ubJ7kcU1WaOxFeQ==",
  "os": "ios",
  "reqTime": 1599197644886,
  "sign": "5f9707de4ae3d77e1a91f17ce7ae1b29",
  "token": "7d99153b297fd48229fe7d413c7735b3",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

image-20200905160843388

获取短信验证码

获取短信验证码需要校验图形验证码是否正确

所以需要先调用"获取图片验证码"

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 手机号
codeString 图形验证码
lastTimestampLong 获取图形验证码时的请求时间戳

请求示例

{
  "deviceType": "a1502",
  "encData": "5YUzFovd/xVMoWXkcmFdkeKTnM7iFEaDgZWir4QHQi6z5+W3ezxQtfFElYDiBW/8OF5P0zd9cawf/tHBefPWX1wmAP4S1IkN6nqdG4ryTjQ=",
  "os": "ios",
  "reqTime": 1599554455019,
  "sign": "2b2cabd138f7dd2cc712f05947cd6229",
  "token": "af2268b0124c91d06c6f95d9fe22eec5",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

响应结果示例

## 校验成功
{"code":0,"data":"验证码发送成功","msg":"成功"}
## 校验失败
{"code":0,"data":"图形验证码不正确","msg":"成功"}

发送短信验证码

发送短信验证码(不需要校验"图片验证码"), 谨慎调用

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 手机号
codeString"6789"固定传"6789"

请求示例

{
  "deviceType": "a1502",
  "encData": "5YUzFovd/xVMoWXkcmFdkeKTnM7iFEaDgZWir4QHQi6z5+W3ezxQtfFElYDiBW/8OF5P0zd9cawf/tHBefPWX1wmAP4S1IkN6nqdG4ryTjQ=",
  "os": "ios",
  "reqTime": 1599554455019,
  "sign": "2b2cabd138f7dd2cc712f05947cd6229",
  "token": "af2268b0124c91d06c6f95d9fe22eec5",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

响应结果示例

## 校验成功
{"code":0,"data":"验证码发送成功","msg":"成功"}
## 校验失败
{"code":0,"data":"图形验证码不正确","msg":"成功"}

发送邮箱验证码

发送邮箱验证码

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 邮箱账号
codeString"6789"固定传"6789"
typeInteger 1: 登陆, 2: 异常登陆, 3: 身份验证, 4: 注册, 5: 修改密码, 6: 修改信息

请求示例

{
  "deviceType": "a1502",
  "encData": "4BvYSdtwioUmCjN8DuFQygkWa6ZtcWfzE6YGx1Uc7ax9wKXjoEAUZjy7vuq1tEdbxydrOWPlHpNKWxo83XKp6w==",
  "os": "ios",
  "reqTime": 1600423268087,
  "sign": "781226992eb3f16ecbdec1dcb7d2b7aa",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{"code":0,"msg":"获取邮箱验证码成功","data":"950525"}

文件上传

图片上传

上传用户头像, 房间背景等图片数据

接口将返回图片对应的url路径

请求方式

请求示例

image-20200915220700476

响应参数

data中返回一个url连接

响应结果示例

{
    "code": 0,
    "msg": "上传成功",
    "data": "http://static.zhhx.top:8088/2020/09/15/10/0647/1600178807779-1.gif"
}

获取mqtt连接信息

请求获取mqtt服务器地址, 以及账号密码信息

请求方式

请求参数

data 为空即可

请求示例

{
  "deviceType": "a1502",
  "encData": "uJ3MeuAYCr3G/BjHCG5pXQ==",
  "os": "ios",
  "reqTime": 1605098769847,
  "sign": "65f9a4a86439352d463525bac2e040f2",
  "token": "694de914d6a8a92eb4a04ac4f14c6507",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
clientIdString mqtt 客户端 id
ipString mqtt 服务器ip
portString 端口号
userNameString 用户名
passWordString 密码
subscribeTopicString 订阅主题

响应结果示例

{
  "code": 0,
  "data": {
    "clientId": "p20090906415500005",
    "ip": "mqtt.zhhx.top",
    "passWord": "d854df41d787fd16333c97e2d13aebc5",
    "port": "1883",
    "subscribeTopic": "/S/A/p20090906415500005/#",
    "userName": "p20090906415500005"
  },
  "msg": "成功"
}

管理类接口

用户相关

注册接口

提供用户账号注册功能

手机号用户名必填, 邮箱选填

注册前需要调用验证码接口(通过手机号获取手机验证码), 来校验用户手机号的有效性

业务流程

## 定义
st=>start: 开始
e=>end: 注册成功
picCode=>subroutine: 获取图片验证码
mobileCode=>subroutine: 获取手机验证码
register=>operation: 注册接口
r=>operation: 需要重新获取验证码

cond1=>condition: 图形验证码
cond2=>condition: 手机验证码

st->picCode->cond1(yes)->mobileCode->register->cond2(yes)->e
cond1(no)->r
cond2(no)->r
r->picCode


请求方式

请求参数

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

名称类型是否必填默认值描述
loginNameString 登陆名
pwdString 登陆密码
mobileString 手机号
codeString 手机号验证码
emailString 邮箱号

请求示例

{
    "deviceType": "ios",
    "sign": "e22216abbbaef0f41767aac1a02895a5",
    "encData": "j9XWUYVpUQy3KU2rSiYoqHBl4EmgRovil3ADjBrTLriG+ibmZ/rSFVoXC9kfAAH4cZHs+95RIMpuitkSalQ4DVEJR9tpYdIAJFeq5KDxTyx9beiAI+F2QQQpv8CT7mYbe+E5UZ8QZAXLLolc21JbbFdvFxvDeycR",
    "reqTime": 1594715090599,
    "uuid": "uuid-1234-5678",
    "version": "v1.1"
}


## encData明文
{
  "code": "6666",
  "gender": 1,
  "loginName": "loginNameTest",
  "mobile": "13755554444",
  "pwd": "11223344",
  "email": "test@zhhx.top"
}

响应参数

名称类型是否必填默认值描述
loginNameString 用户登录名
mobileString 手机号
nickNameString系统生成nickname开头昵称
personIdString 用户id
registrationTimeString 注册时间
emailString 邮箱
genderInteger 性别 0:未知, 1:男, 2女

响应结果示例

{
    "code": 0,
    "data": "uov4vHnIgyw++8h0XUg6rnRA/Bc83ecO5/VAzf+0taKuDOBOmPlys7fgo34M3HHw0pkJ1h8/vqPJznF9gl1ks6aCqW7i9/811At95Gf2eFEvKUMofqs7+UbCMbS2BeunwkrBpzV2JgzHtCZZQABhidGZT3PooPwdVWuBKlrDAGXAc4UXyNK1qzj97r0+AQQ5tMo7ipJv0nU1l4tRdh8qwWHft9bfrdW2OtQInb/h80gjyWrAIaQIyEECLLkHPFOQUYoUMOC6aUkm49/wrZOuhg==",
    "msg": "成功"
}

## data明文
{
    "email": "test@zhhx.top",
    "gender": 1,
    "id": 4,
    "loginName": "loginNameTest",
    "mobile": "13755554444",
    "nickName": "nickname_2394306076004",
    "personId": "p20071417050600008",
    "registrationTime": "2020-07-14 17:05:06"
}

修改用户信息

用于用户修改用户信息

可修改项目

  • 昵称
  • 性别
  • 头像

请求方式

请求参数

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

名称类型是否必填默认值描述
genderInteger 性别, 0: 未知, 1: 男, 2: 女
nickNameString 用户昵称
picUrlString 用户头像地址

请求示例

{
  "data": {
    "gender": 1,
    "nickName": "昵称已改变",
    "picUrl": "改一个"
  },
  "deviceType": "a1502",
  "encData": "I5IuUS5lIeLnltGhpYpCG+dajjqXqCae6VuJ2MacidobqPzJSFhUbAFr8M8iPf00C8/n7B7jISfK8q9aAy8aXw==",
  "os": "ios",
  "reqTime": 1600936861500,
  "sign": "909b1ff8fc78be7d86009bacbf47f8f2",
  "token": "0e42e9045149b25d5bbeba504668bd4d",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{
  "code": 0,
  "msg": "修改用户信息完成"
}

修改密码

修改密码

请求方式

请求参数

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

名称类型是否必填默认值描述
mobileString 手机号
pwdString 旧密码
newPwdString 新密码

请求示例

{
    "deviceType": "a1502",
    "encData": "Oj/Qm+pINvvgHk/4JmQyheV7M6yobeakzKiPTRdkZ5/R+PIav+I1WXTDHb69rvah361B/gYp/yI6bnHhKoshkQyVbRzWlDUtUX3QcYrk0aA=",
    "os": "ios",
    "reqTime": 1600309261838,
    "sign": "7b4656d5aa62f3ed7419f6268e845a5b",
    "token": "31eb3f016d47ccc16c701643de175dfc",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
nickNameString 用户昵称
personIdString 用户id
mobileString 手机号
emailString 邮箱
registrationTimeString 注册时间
genderInteger 性别(1-男, 2-女)

响应结果示例

{
    "code": 0,
    "data": {
        "email": "wangqiagn@zhhx.top",
        "gender": 1,
        "mobile": "13760774544",
        "nickName": "nickname_7223468024005",
        "personId": "p20090814310800011",
        "registrationTime": "2020-09-08 14:31:08"
    },
    "msg": "成功"
}

找回密码(手机号方式)

请求方式

请求参数

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

名称类型是否必填默认值描述
mobileString 手机号
newPwdString 新密码
codeString 手机验证码

请求示例

{
    "deviceType": "a1502",
    "encData": "Br6Cij3wkFs94yULbPp+XmmAk0LfeeeyRrvNq7X6vUjlezOsqG3mpMyoj00XZGef0fjyGr/iNVl0wx2+va72oZTFYDVuIqBnfCNJxVQEJbk=",
    "os": "ios",
    "reqTime": 1600322035032,
    "sign": "ab5683edc48892acbfa6fcced89b195d",
    "token": "04e08e24c16010760bede21cbd79bcf8",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
nickNameString 用户昵称
personIdString 用户id
mobileString 手机号
emailString 邮箱
registrationTimeString 注册时间
genderInteger 性别(1-男, 2-女)

响应结果示例

{
    "code": 0,
    "data": {
        "email": "wangqiagn@zhhx.top",
        "gender": 1,
        "mobile": "13760774544",
        "nickName": "nickname_7223468024005",
        "personId": "p20090814310800011",
        "registrationTime": "2020-09-08 14:31:08"
    },
    "msg": "成功"
}

找回密码(邮箱方式)

通过绑定邮箱找回密码

请求方式

请求参数

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

名称类型是否必填默认值描述
emailString 邮箱号
newPwdString 新密码
codeString 邮箱验证码

请求示例

{
    "deviceType": "a1502",
    "encData": "X0r6eNQrLCsiRBskWIlfJnG1XZVXnXIs2DcKdbLE6Nn9esQEdiHWBYqxSd2qS+ITfdHhHVIaVToD5M8DwdEDmw==",
    "os": "ios",
    "reqTime": 1600322450364,
    "sign": "4158994fd8f9fc0828f3e34f8bb1d9c5",
    "token": "f237a4056b12242f05689c674adbece8",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
nickNameString 用户昵称
personIdString 用户id
mobileString 手机号
emailString 邮箱
registrationTimeString 注册时间
genderInteger 性别(1-男, 2-女)

响应结果示例

{
    "code": 0,
    "data": {
        "email": "wangqiagn@zhhx.top",
        "gender": 1,
        "mobile": "13760774544",
        "nickName": "nickname_7223468024005",
        "personId": "p20090814310800011",
        "registrationTime": "2020-09-08 14:31:08"
    },
    "msg": "成功"
}

普通登陆接口

用户几种登陆模式(登陆组合)

  • 用户名 + 用户密码
  • 手机号 + 用户密码
  • 邮箱号 + 用户密码

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 用户名|手机号|邮箱号
pwdString 用户密码

请求示例

{
    "deviceType": "a1502",
    "encData": "G6GIDzWX7J9xVA2NAgVhq4XmyOeEUJzaMy/4CH9UiI7Mk2o0f6r4/XuVQFY1GzZMM/Is4r/gtpr3A7PCtDNRVQ==",
    "os": "ios",
    "reqTime": 1598717044886,
    "sign": "d997535c17a6471fa121902b2ad09504",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

名称类型是否必填默认值描述
accessTokenString 访问令牌
accessTokenExpiredTimeLong 访问令牌过期时间
refreshTokenString 刷新令牌
refreshTokenExpiredTimeLong 刷新令牌过期时间

响应结果示例

{
    "code": 0,
    "data": {
        "accessToken": "4e09156fa493d215e36f084e0b631800",
        "accessTokenExpiredTime": 1599321844993,
        "refreshToken": "07598fad685ec5eda1d14657f4452a5e",
        "refreshTokenExpiredTime": 1601309044993
    },
    "msg": "成功"
}

验证码登陆接口

需要先调用"获取短信验证码"接口

请求中带上用户输入的短信验证码

业务流程

s=>start: 开始
e=>end: 登陆成功
picCode=>subroutine: 获取图片验证码
mobileCode=>subroutine: 获取手机验证码
server=>operation: 登陆接口
r=>operation: 需要重新获取验证码

cond1=>condition: 图形验证码
cond2=>condition: 手机验证码


s->picCode->cond1(yes)->mobileCode->server->cond2(yes)->e
cond1(no)->r
cond2(no)->r
r->picCode

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 用户账号, 这里为手机号
codeString 手机验证码

请求示例

{
  "deviceType": "a1502",
  "encData": "5YUzFovd/xVMoWXkcmFdkeKTnM7iFEaDgZWir4QHQi7gF+c1UbBJzGaDA8o4gBAikirnE2XDC3n+xipkrR6oXg==",
  "os": "ios",
  "reqTime": 1599556252753,
  "sign": "6201fc248e4ecb10386ef77ce0dd008a",
  "token": "5043be5ee2ad0f7467eb3c27b7f9b91c",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
accessTokenString 访问令牌
accessTokenExpiredTimeLong 访问令牌过期时间
refreshTokenString 刷新令牌
refreshTokenExpiredTimeLong 刷新令牌过期时间

响应结果示例

{
  "code": 0,
  "data": {
    "accessToken": "aee13cc44ad3421a80f03ade581e87e8",
    "accessTokenExpiredTime": 1600161616629,
    "refreshToken": "66645e25c2f776935cd25c1f1de0274b",
    "refreshTokenExpiredTime": 1602148816629
  },
  "msg": "成功"
}

登出接口

退出登陆

请求方式

请求参数

data为空, 正常走加密和签名算法即可

请求示例

{
  "deviceType": "a1502",
  "encData": "uJ3MeuAYCr3G/BjHCG5pXQ==",
  "os": "ios",
  "reqTime": 1600420105919,
  "sign": "142024233dc8e2fda2ad5f47fd7a6f25",
  "token": "5f090c2cd267124a3ffee59e711164bb",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

响应结果示例

## 失败
{"code":-1,"data":"登出失败"}

## 成功
{"code":0,"data":"登出成功"}

刷新token

该接口使用refreshToken刷新登陆有效期

请求方式

请求参数

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

名称类型是否必填默认值描述
refresh_tokenString 刷新领牌

请求示例

{
    "deviceType": "a1502",
    "encData": "RsVDM0ozb+VsxCBw1eoEZmerewBVL/MyTnCo7gSpDQYuI5QjRBpnZbeqmIziqDBLgSbE/xWU5NAmPm5okPnu+Q==",
    "os": "ios",
    "reqTime": 1598715606279,
    "sign": "9cc4234a6f0ec8b9a5d1836200b00f6b",
    "token": "0b22f8adc11bbb510372ab7c21b810d0",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
accessTokenString 访问令牌
accessTokenExpiredTimeLong 访问令牌过期时间
refreshTokenString 刷新令牌
refreshTokenExpiredTimeLong 刷新令牌过期时间

响应结果示例

{
    "code": 0,
    "data": {
        "accessToken": "2bda9abdb9b34f3aa44f0c71ec18f423",
        "accessTokenExpiredTime": 1599321619913,
        "refreshToken": "e800a22f0c2ca3e94653a117603bd76e",
        "refreshTokenExpiredTime": 1601308819913
    },
    "msg": "成功"
}

家庭管理(home)

创建家庭

创建新的家庭

请求方式

请求参数

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

名称类型是否必填默认值描述
addressString 聚创金谷创意园a栋7楼719
provinceString 广东省
cityString 深圳
districtString 家庭: 区
streetString 西丽街道
nameString 测试家庭
picUrlString 家庭头像
bgUrlString 家庭背景图

请求参数

{
    "deviceType": "ios",
    "sign": "64e43838502e1f1da68903817bc29daf",
    "encData": "IPdaoMpC3nSlYTUuGs9JOSBzOk4HyCoIEzpZ/xDnMSLIBUwd89KxuyyJi+OuA1szVMoFZZ15MMdkZ4559qWGVYia3ye/mKjAkMNBuC0JRt6qWDMMiTuiyFRy09Ws7Yeu7TxgX86qPlaAf9XwDVuVTjKd9kxrjBHPqUZGeTqPk7yDbhqFwBT/YA==",
    "reqTime": 1594802899086,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "data": {
        "accessToken": "ec385c0954acf5ffa2616cd87df6576c",
        "accessTokenExpiredTime": 1599312794823,
        "active": true,
        "data": {
            "personId": "test1",
            "scenes": [],
            "username": "nickname_2406789641006"
        },
        "expired": false,
        "principle": "7",
        "refreshToken": "93a0e2df60c0226f05199ebfc732250f",
        "refreshTokenExpiredTime": 1601299994823,
        "scope": ""
    },
    "msg": "成功"
}

编辑家庭信息

修改家庭信息

请求方式

请求参数

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

idInteger家庭id
名称类型是否必填默认值描述
revisionInteger数据版本号
addressString修改聚创金谷创意园a栋7楼719
provinceString修改广东省
cityString修改深圳
districtString 家庭: 区
streetString修改西丽街道
nameString修改测试家庭
picUrlString 家庭头像
bgUrlString 家庭背景图

请求示例

{
    "deviceType": "ios",
    "sign": "66b95d01fbe730c5dda5de4b4dc0fd8d",
    "encData": "IPdaoMpC3nTkdRnnHwYmz/RIYUz8u6NS0tx3TwiyWwOZnXtaf16CcIDu64YqiVS2g8vvQngBPn9jLga0NSGLzl3kC9ov3Ulpa5/QMsczf+OXlU/fw2cES1dAXHFbXgcRNlXiW4UMK9iYRR5YKYTwpliDyQGD7ULFxYsLvZhB0gB3AzFUkMAUU/PvIIgnCAPLl/VNmOmSULYUgyEQLxG+olsdq0ZlSoUEdXstT47fmjB5a6sQ523JBg==",
    "reqTime": 1594812113044,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

## 成功
{"code":0,"msg":"编辑家庭成功"}

## 失败
{
    "code": -1,
    "msg": "家庭信息已经变更, 本次修改失败"
}
## 失败2
{
    "code": -1,
    "msg": "revision不能为空"
}

删除家庭

删除家庭, 连带将归属于家庭的所有信息都清除(楼层, 房间, 设备还有各种关联关系等)

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 家庭id
revisionInteger 数据版本号

请求示例

{
    "deviceType": "ios",
    "sign": "48d9b99b4fd66227d825b7cd4fcc68da",
    "encData": "ljgSUo8v/syJiPXPJLTgxA==",
    "reqTime": 1594813831629,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

仅包含data中返回的内容

响应结果示例

## 成功
{"code":0,"msg":"删除家庭成功"}

## 失败
{
    "code": -1,
    "msg": "revision不能为空"
}

家庭角色(role)

创建家庭角色

新建家庭角色

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
levelInteger 等级
nameString 家庭成员名称

请求示例

{
  "deviceType": "a1502",
  "encData": "78HI61vqofBfo/RIS2kasqLA9kTe4LvUULSw9zuOjaqsvnGGsHKPKt05Q32mB+pv",
  "os": "ios",
  "reqTime": 1600953277197,
  "sign": "06d5361ec1e1a2821df513d373d0521d",
  "token": "477e168f38782d52922de5263ec3a830",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id
nameString 角色名称
levelInteger1角色等级(预留字段)
stateInteger 记录状态1: 有效, -9: 无效
revisionInteger 记录版本号

响应结果示例

{
  "code": 0,
  "data": {
    "homeId": 3,
    "id": 9,
    "level": 1,
    "name": "普通用户",
    "revision": 1,
    "state": 1
  },
  "msg": "新建角色成功"
}

编辑家庭角色

修改家庭角色信息

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
levelInteger 角色等级
nameString 角色名称
revisionInteger 记录版本号

请求示例

{
  "deviceType": "a1502",
  "encData": "bmviSbmQ37cV1VQyXEJVUPHuAdDb85T3zkNcgyIr8O/srkevR4gtF9h/bVYdv8FrwRX96WxAF0TMq5vWWLO2HkM8kdOzp/3sT4JMggS+oss=",
  "os": "ios",
  "reqTime": 1601005928744,
  "sign": "35cd864a1565d64b33d3527d799f09b9",
  "token": "b7aa83bbbb28f2070073d5c0a9f0f3a2",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id
nameString 角色名称
levelInteger1角色等级(预留字段)
stateInteger 记录状态1: 有效, -9: 无效
revisionInteger 记录版本号

响应结果示例

{
  "code": 0,
  "data": {
    "homeId": 3,
    "id": 3,
    "level": 1,
    "name": "普通用户2",
    "revision": 8,
    "state": -9
  },
  "msg": "编辑角色成功"
}

删除家庭角色

删除家庭角色

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
revisionInteger 记录版本号

请求示例

{
  "deviceType": "a1502",
  "encData": "bmviSbmQ37cV1VQyXEJVUPHuAdDb85T3zkNcgyIr8O/srkevR4gtF9h/bVYdv8FrNucy6aXEPBgTGDmqnJL/ElwmAP4S1IkN6nqdG4ryTjQ=",
  "os": "ios",
  "reqTime": 1601005928474,
  "sign": "21332cb96c5ed81d2350c534fc95c510",
  "token": "b7aa83bbbb28f2070073d5c0a9f0f3a2",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id
nameString 角色名称
levelInteger1角色等级(预留字段)
stateInteger 记录状态1: 有效, -9: 无效
revisionInteger 记录版本号

响应结果示例

{
  "code": 0,
  "data": {
    "homeId": 3,
    "id": 3,
    "level": 1,
    "name": "普通用户2",
    "revision": 7,
    "state": -9
  },
  "msg": "删除角色成功"
}

家庭角色列表

查看家庭角色列表, 需要是对应家庭成员才能够查看

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id

请求示例

{
  "deviceType": "a1502",
  "encData": "VxiqTNsVs926RNS2d5h5ew==",
  "os": "ios",
  "reqTime": 1601010813142,
  "sign": "6abee29e594eeaf7d388346e09807e67",
  "token": "60232923715ddd6a6e12661ecbb870cc",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id
nameString 角色名称
levelInteger1角色等级(预留字段)
stateInteger 记录状态1: 有效, -9: 无效
revisionInteger 记录版本号

响应结果示例

{
  "code": 0,
  "data": [
    {
      "homeId": 10,
      "id": -100,
      "level": 3,
      "name": "超级管理员",
      "revision": 1,
      "state": 1
    },
    {
      "homeId": 10,
      "id": -200,
      "level": 3,
      "name": "管理员",
      "revision": 1,
      "state": 1
    },
    {
      "homeId": 10,
      "id": 7,
      "level": 1,
      "name": "普通用户",
      "revision": 1,
      "state": 1
    },
    {
      "homeId": 10,
      "id": 8,
      "level": 1,
      "name": "访客",
      "revision": 1,
      "state": 1
    }
  ],
  "msg": "成功"
}

编辑角色设备权限

  1. 给角色分配设备权限
  2. 撤销给角色分配的设备权限

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
roleIdInteger 角色id
addListList 添加和删除情景id列表至少传一个
delListList 添加和删除情景id列表至少传一个

请求示例

{
  "deviceType": "a1502",
  "encData": "RMmBRgnqTnxx9Z5/dSLnklUMyNvLKzXa7AGv/cm+5MbGm/OyxtrG7sPmxktADWTtpRAM/T3Sdi4NvMwBEUy4hK91n+AYk+N4O5KR3EcC/hw=",
  "os": "ios",
  "reqTime": 1602662980446,
  "sign": "0c8f1167a7b6332b5f1bc0f0284e9e03",
  "token": "cacbd8a033497647e05a53cff4a9b6e1",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{"code":0,"msg":"设置角色设备权限完成"}

编辑角色情景权限

  1. 给角色分配情景权限
  2. 撤销给角色分配的情景权限

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
roleIdInteger 角色id
addListList 添加和删除情景id列表至少传一个
delListList 添加和删除情景id列表至少传一个

请求示例

{
  "deviceType": "a1502",
  "encData": "+tIYamraesj2I6NZdUy4vtfdIj6A3yoTFz7ngbUIBhkqL9rnGpI2nJGjzyEJoAp3nzEVr9nahB0DhksUdZXBl0M8kdOzp/3sT4JMggS+oss=",
  "os": "ios",
  "reqTime": 1602685634940,
  "sign": "e4f69be2b47fb4be41c50bdf3bf41311",
  "token": "48ba536d03538910f9733dfa6b362c41",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{"code":0,"msg":"设置角色情景权限完成"}

分配角色

给家庭用户分配角色, 每个家庭用户只对应一个家庭角色

如果要赋予管理员权限, 这角色id传 -100

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id
targetPersonIdString 分配目标的用户id

请求示例

{
  "deviceType": "a1502",
  "encData": "Bvu35nsmDGGBS9QZLqo0+OPjOEFPb1UE4ESsAklZHJwTOtBEe8Yv2N/tWMR1ULBO",
  "os": "ios",
  "reqTime": 1602762518375,
  "sign": "2036d444c49adbfca805829e671b45d4",
  "token": "47cb8d1d8791973573e0a617a6780a10",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{"code":0,"msg":"分配完成"}

家庭管理员

管理员邀请成员加入家庭

管理员邀请成员加入家庭(需要指定角色)

业务流程:

st=>start: 管理员邀请成员
op1=>operation: 用户收到邀请
cond=>condition: 是否同意
e1=>end: 成功加入家庭
e2=>end: 不加入家庭
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 家庭id
roleIdInteger 角色id
inviteTargetString 邀请对象(手机号, 或邮箱号)

请求示例

{
    "deviceType": "ios",
    "sign": "641719e094b59deb6f27b8f09f2c09f0",
    "encData": "qlZnnjLpI+ewAW3qGUoeJG4QsE3JboK1FlUcIgJ+6CE/LGs542ctyozLOF2X+ac+VTQjBdOq0Oc=",
    "reqTime": 1594964409030,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "邀请成功"
}

管理员获取邀请口令

管理员邀请用户加入家庭(通过邀请口令)

业务流程:

st=>start: 管理员获取邀请口令
op1=>operation: 发送给用户(通过qq, 微信等方式)
cond=>condition: 使用邀请口令
e1=>end: 加入家庭
e2=>end: 不加入家庭
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 家庭id
roleIdInteger 角色id
inviteTargetString 邀请对象(手机号, 或邮箱号)

请求示例

{
    "deviceType": "ios",
    "sign": "ad66ded7d63bbb21101ea1bcaaffb013",
    "encData": "qlZnnjLpI+ewAW3qGUoeJG4QsE3JboK1LylDKH6rO/mTXZzXhNW2P/Rk18ncWGldiagV1xfRVqo=",
    "reqTime": 1594968342681,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数

名称类型是否必填默认值描述
countersignString 邀请口令
homeIdInteger 家庭id

响应结果示例

{
    "code": 0,
    "data": {
        "countersign": "$&$343042e3b60b56c104386ff74e339951",
        "homeId": 10
    },
    "msg": "成功"
}

管理员获取邀请二维码

管理员邀请用户加入家庭(通过邀请二维码)

业务流程:

st=>start: 管理员获取邀请二维码
op1=>operation: 发送给用户(通过qq, 微信等方式)
cond=>condition: 使用邀请口令
e1=>end: 加入家庭
e2=>end: 不加入家庭
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 家庭id
roleIdInteger 角色id
inviteTargetString 邀请对象(手机号, 或邮箱号)

请求示例

{
    "deviceType": "ios",
    "sign": "ad66ded7d63bbb21101ea1bcaaffb013",
    "encData": "qlZnnjLpI+ewAW3qGUoeJG4QsE3JboK1LylDKH6rO/mTXZzXhNW2P/Rk18ncWGldiagV1xfRVqo=",
    "reqTime": 1594968342681,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数

名称类型是否必填默认值描述
urlString 二维码地址

响应结果示例

{
    "code": 0,
    "data": {
        "url": "/Users/wangq/git/home/user-servernull1594970883936jpg"
    },
    "msg": "成功"
}

管理员同意加入家庭

管理员同意用户加入家庭请求

业务流程:

st=>start: 用户申请加入家庭
op1=>operation: 管理员收到加入申请
cond=>condition: 是否同意
e1=>end: 同意加入家庭 :>亮
e2=>end: 拒绝入家庭
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
invitePersonIdString 被邀请的用户id
idInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "sign": "8276f8a21c897e33126521e2e44c4d01",
    "encData": "qlZnnjLpI+ewAW3qGUoeJPvbJnzp1mM1/Qgrq/NOzI1e7XgckedwTA==",
    "reqTime": 1594965086432,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "同意加入家庭申请"
}

管理员拒绝加入家庭

管理员拒绝用户加入家庭请求

业务流程:

st=>start: 用户申请加入家庭
op1=>operation: 管理员收到加入申请
cond=>condition: 是否同意
e1=>end: 同意加入家庭
e2=>end: 拒绝入家庭:>亮
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
invitePersonIdString 被邀请的用户id
idInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "sign": "8276f8a21c897e33126521e2e44c4d01",
    "encData": "qlZnnjLpI+ewAW3qGUoeJPvbJnzp1mM1/Qgrq1`6/NOzI1e7XgckedwTA==",
    "reqTime": 1594965086432,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "拒绝加入家庭申请"
}

家庭成员用户

申请加入家庭

用户申请加入家庭

业务流程:

st=>start: 管理员生成邀请参数(口令或二维码)
op1=>operation: 用户扫描二维码或输入口令
e=>end: 申请加入家庭 :>亮
st->op1->e

请求方式

请求参数

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

名称类型是否必填默认值描述
countersignString 邀请口令

请求示例

{
    "deviceType": "ios",
    "sign": "d11aac707f56815ab5a987d56e6e74e0",
    "encData": "Ge81myLLL083uvaJWehe7ZobKZyJRUoK",
    "reqTime": 1594976865107,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "申请加入家庭"
}

同意加入家庭邀请

用户同意加入家庭邀请

业务流程:

st=>start: 管理员邀请加入家庭
op1=>operation: 用户收到邀请
cond=>condition: 是否同意
e1=>end: 加入家庭 :>亮
e2=>end: 拒绝加入家庭
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
invitePersonIdString 被邀请的用户id(这里id应该就是是用户自己的)
idInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "sign": "526442affa92ba925174f0a2ca181cc5",
    "encData": "qlZnnjLpI+ewAW3qGUoeJPvbJnzp1mM1/Qgrq/NOzI1e7XgckedwTA==",
    "reqTime": 1594978862152,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "同意加入家庭申请"
}

拒绝加入家庭邀请

用户拒绝加入家庭邀请

业务流程:

st=>start: 管理员邀请加入家庭
op1=>operation: 用户收到邀请
cond=>condition: 是否同意
e1=>end: 加入家庭 
e2=>end: 拒绝加入家庭:>亮
st->op1->cond
cond(yes)->e1
cond(no)->e2

请求方式

请求参数

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

名称类型是否必填默认值描述
invitePersonIdString 被邀请的用户id(这里id应该就是是用户自己的)
idInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "sign": "526442affa92ba925174f0a2ca181cc5",
    "encData": "qlZnnjLpI+ewAW3qGUoeJPvbJnzp1mM1/Qgrq/NOzI1e7XgckedwTA==",
    "reqTime": 1594978862152,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "拒绝加入家庭申请"
}

将成员移出家庭

管理员可以将普通成员移出家庭

户主可以时间管理员移出家庭

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 家庭id
removePersonIdString 需要移除的用户id

请求示例

{
  "data": {
    "id": 18,
    "removePersonId": "test1"
  },
  "deviceType": "a1502",
  "encData": "3gJVMhLoLfbpfOlhQ9Y1w57RvA1k1N5r/Mr6PWfmtuU+Qc2KhDVQdG6P2BJgaH27",
  "homeId": 18,
  "os": "ios",
  "reqTime": 1605942838909,
  "sign": "cb4b7db97fcd99745ac8391efe48817d",
  "token": "806acc3b4ff9a090834aa471e51e0a1c",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"msg":"移出家庭完成"}

楼层管理(floor)

创建楼层

管理员新建一个楼层(家庭内楼层名不可重复)

请求方式

请求参数

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

名称类型是否必填默认值描述
nameString楼层名(同家庭内不可重复)
homeIdInteger家庭id

请求示例

{
    "deviceType": "ios",
    "sign": "ec38ea4c3d1162ece227276096178da4",
    "encData": "Til+5qcau9ulagO8PHsuiEhszNcmiUnq1xgJ/N3RZ3xxecBqUjFiLRzr3HET2IIZ5qS0ziyTWE0=",
    "reqTime": 1595055174795,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "新建楼层成功"
}

编辑楼层

管理员修改楼层信息(家庭内楼层名不可重复)

请求方式

请求参数

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

名称类型是否必填默认值描述
nameString 楼层名(同家庭内不可重复)
homeIdInteger 家庭id
revisionInteger数据版本号
idInteger楼层id

请求示例

{
    "deviceType": "ios",
    "sign": "7360d8ef09ab5c7157913e2db63c39fe",
    "encData": "Q0XvlxM0RSH1ssjl+cb9Jk2ydcp5NY5FHwsfebeQUK2/k6lujHV5kRgf6HCNxhBigQ1joWRGcPL0wjlTQ5ZL4ZgeUjeWNitgrhWtz0Isdql7YBHb9cC5Y87lTckVB7p7rGh9WzRakBMQ5vWYn9KkeYojEL/fI/3Se4EGLUUUhyLLbZ9e3bEXHvpCkNOo37VYur3SNo2ISfS/++VkYrIV3D5A75HNw9ceG77wO8tjc4PbdPiX4xQAqw==",
    "reqTime": 1595055541138,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "编辑楼层成功"
}

删除楼层

管理员删除一个楼层

请求方式

请求参数

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

名称类型是否必填默认值描述
nameString 楼层名(同家庭内不可重复)
homeIdInteger 家庭id
revisionInteger数据版本号
idInteger楼层id

请求示例

{
    "deviceType": "ios",
    "sign": "d60c30e71a0447358e20d25a665289f0",
    "encData": "Q0XvlxM0RSH1ssjl+cb9Jk2ydcp5NY5FwNxGBVoti9ZQJH/bwD/xjBgf6HCNxhBigQ1joWRGcPL0wjlTQ5ZL4ZgeUjeWNitgkUhE9NVt1TFIbMzXJolJ6tcYCfzd0Wd8cXnAalIxYi0c69xxE9iCGRC8JFvUbxt11YpzRCXgod4im8GhqKVl7JBJpkvpNLvvsrgYhjxjUa+Xa1piEO07er7lUDpHcp2fvESzsw4lifU=",
    "reqTime": 1595055541669,
    "uuid": "uuuid-1234-5678",
    "version": "v1.0",
    "token": "wangwang"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "删除楼层成功"
}

房间管理(room)

创建房间

创建房间

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger家庭id
floorIdInteger房间所在楼层id
nameString房间名称
typeInteger房间类型

请求示例

{
    "deviceType": "ios",
    "encData": "ZVd4H8XQ/NMwFmCbRtdtf/Fgq4C3IJVVh/GNMyrnH3NmYhaiMHLMvun2mhlPCLXF6WTevI0GEIg=",
    "reqTime": 1595082559675,
    "sign": "f3bd503c53ce479d80611b1b4ee04512",
    "token": "wangwang",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "新建房间成功"
}

编辑房间

修改房间信息

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger房间id
homeIdInteger家庭id
revisionInteger数据版本号
floorIdInteger房间所在楼层id
nameString房间名称
typeInteger房间类型

请求示例

{
    "deviceType": "ios",
    "encData": "Q0XvlxM0RSH1ssjl+cb9Jk2ydcp5NY5FMLCE2mXPsu9Gf4Ywz/IacBgf6HCNxhBigQ1joWRGcPL6q8JEwtYxSc6AZkY2UPr5vIgfIcCxQ5UUeEQ7Wxv2D3z2MFUdW3hhBy3KLKPAl1QgIKoGbvXKonZ+tjRMEOhDGkRyLGrHFLPuBvJl1PJrCxX/UlHCOY6ye2FwiHDYEAGXa1piEO07er7lUDpHcp2fvESzsw4lifU=",
    "reqTime": 1595083783935,
    "sign": "b3814c1f27e5d48cffa882111f002d97",
    "token": "wangwang",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数(略)

响应结果示例

{
    "code": 0,
    "msg": "编辑房间成功"
}

删除房间

删除房间

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger房间id
homeIdInteger家庭id
revisionInteger数据版本号

请求示例

{
    "deviceType": "ios",
    "encData": "GNZlSSFi4xgkXJJqLkHezMu7JBBjo7q7",
    "reqTime": 1595086319635,
    "sign": "a2c25b47fa18520003f2e346a2dbd39c",
    "token": "wangwang",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数(略)

仅包含data中返回的内容

响应结果示例

{
    "code": 0,
    "msg": "删除房间成功"
}

网关管理

设置网关搜索模式

开启(或关闭)网关搜索模式

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 网关id
homeIdInteger 家庭id
onOffBooleantrue是否开启搜索

请求示例

{
  "deviceType": "a1502",
  "encData": "Y3LeerfBOOiwnAt2FvUhYNunjcrVHMTpsV2iYEPcWVNVr3RjoyALEMc8UhZQMScY",
  "os": "ios",
  "reqTime": 1602302498679,
  "sign": "f2435b6a5a1996288d26ed7e701140d2",
  "token": "cfb1715e7c96f219a821ad0c7f4030a9",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{
  "code": 0,
  "data": "网关搜索已打开",
  "msg": "成功"
}

查询网关搜索结果

查询网关搜索到的本地设备列表

轮询2, 3秒调用一次这个接口, 网关搜索到结果的时间是不固定的

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 网关id
homeIdInteger 家庭id

请求示例

{
    "deviceType": "a1502",
    "encData": "hiABMkCMvKUsu+VyhYOt1gqntWyzvfShKe9zR1z4HPU=",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1603699207310,
    "sign": "e1216aec7399c2c222637fb9498a1dde",
    "token": "aed12476d5cb081a35015fa80e869541",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

data 是个对象数组

名称类型是否必填默认值描述
productKeyArray 设备类型key
deviceNameInteger 设备唯一标识
sWInteger 软件版本号
nameString 设备名称
iconUrlString 图标地址
typeString 设备分类(大类)
subTypeString 设备详细分类
bindBoolean 是否绑定
idInteger否(bind为ture才会有) 设备id
homeIdInteger否(bind为ture才会有) 家庭id
floorIdInteger否(bind为ture才会有) 楼层id
roomIdInteger否(bind为ture才会有) 房间id
gatewayIdString否(bind为ture才会有) 设备说绑定的网关id

响应结果示例

[
  {
    "bind": false,
    "deviceName": "wang638",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "燃气传感器",
    "productKey": "SmartCurtain01",
    "subType": "sersor_gas",
    "type": "sensor"
  },
  {
    "bind": false,
    "deviceName": "wang629",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "RGB灯泡",
    "productKey": "SmartRelay01",
    "subType": "light_rgb",
    "type": "light"
  },
  {
    "bind": false,
    "deviceName": "wang627",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "单火墙开3面板",
    "productKey": "SmartLightRGBCW01",
    "subType": "single_three",
    "type": "switchpanel"
  },
  {
    "bind": false,
    "deviceName": "wang628",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "单火墙开2面板",
    "productKey": "SmartLightCW01",
    "subType": "single_two",
    "type": "switchpanel"
  },
  {
    "bind": false,
    "deviceName": "wang622",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "零火墙开1面板",
    "productKey": "SmartSwitch02",
    "subType": "zero_one",
    "type": "switchpanel"
  },
  {
    "bind": false,
    "deviceName": "wang624",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "零火墙开1面板",
    "productKey": "SmartSwitch02",
    "subType": "zero_one",
    "type": "switchpanel"
  },
  {
    "bind": false,
    "deviceName": "wang625",
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "name": "零火墙开3面板",
    "productKey": "SmartSwitch04",
    "subType": "zero_three",
    "type": "switchpanel"
  },
  {
    "bind": true,
    "deviceCompanyId": 1,
    "deviceName": "11124B001EEE444F",
    "deviceTypeId": 5,
    "floorId": 33,
    "gatewayId": "8",
    "homeId": 18,
    "iconUrl": "https://img.51miz.com/Element/00/87/25/17/b283d082_E872517_6038ab95.png",
    "id": 18,
    "name": "单火墙开3面板",
    "nickName": "厨房壁灯",
    "productKey": "SmartLightCWRGB01",
    "roomId": 43,
    "state": 1,
    "subType": "single_three",
    "type": "switchpanel"
  }
]

设备与网关绑定关系维护

指定设备加入网关流程(action 传 1)

  1. 先调用设置网关搜索模式接口(启用网关搜索状态)
  2. 调用查询网关搜索结果接口
  3. 选择需要加入网关的设备请求改接口

请求方式

请求参数

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

名称类型是否必填默认值描述
gwIdInteger 网关id
homeIdInteger 家庭id
actionInteger 1:创建设备, 2:删除设备, 3:启用设备, 4:禁用设备
deviceListArray 需要加入网关的设备列表
deviceList.floorIdInteger 设备绑定后的归属楼层(如果指定了房间则该字段必填)
deviceList.roomIdInteger 设备绑定后的归属房间
deviceList.productKeyString 设备类型key(查询网关搜索结果中的deviceList.)
deviceList.snString 设备唯一标识(查询网关搜索结果中的deviceName)
deviceList.swString 设备软件版本号(查询网关搜索结果中的sw)

请求示例

{
    "deviceType": "a1502",
    "encData": "fw2qZuR3hPVmJmtPrZ8h7P/2hCtOAiSweiq7U/RHsC9Pq/Nf1SNlF5Ny1OAjDOqhqse5THu7VvU7GYp+n4yCs1bwn1ft79PdHDUsfJEdpAvU5gYlF3cF3zr1cdwNB2u2xxykafwMHxzKpIfIcQoYvBy4gQXXBz743IRYrG8uj2Q=",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1603721171767,
    "sign": "d608afced324e31509648348bd6079c0",
    "token": "150c1884b1d9ccf10a4528e6ee69be37",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应结果示例

 {"code":0,"data":"绑定设备成功","msg":"成功"}

查询下设备在线状态

查询网关下设备在线情况
该接口会刷新设备状态(尝试通过请求家庭网关获取设备最新在线情况)

这个接口通常情况下需要调用2次

第一次请求不会直接返回在线状态结果(服务端通知网关上报最新状态, 网关统计状态并上报需要一定的时间)

延迟大约5-8s请求第二次获取结果

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id

请求示例

{
  "data": {
    "homeId": 18
  },
  "deviceType": "a1502",
  "encData": "dq1cKcgNf+eDqzKMRf8sOQ==",
  "homeId": 18,
  "os": "ios",
  "reqTime": 1605796066779,
  "sign": "0df8971fb8cde5ecb9d83e34330ad42f",
  "token": "e3777008c4f9a35ae15734ef7ea51f91",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容, date是个数组

名称类型是否必填默认值描述
deviceIdInteger 设备id
onlineBoolean 在线状态
lastTimeLong 最后更新时间

响应结果示例

## 失败
{"code":-1,"data":"状态更新中, 请5秒后再拉取"}

## 成功

[
  {
    "deviceId": 1,
    "online": true,
    "lastTime": 1605796742508
  },
  {
    "deviceId": 3,
    "online": false,
    "lastTime": 1605796742508
  },
  {
    "deviceId": 5,
    "online": true,
    "lastTime": 1605796742508
  }
]

设备管理(device)

设备绑定

绑定设备(主要是网关通过该方式), 还有部分二维码绑定的设备

  1. 手机使用相机功能解析二维码
  2. 将二维码放入接口参数传到服务端

网关绑定流程

## 定义
st=>start: 开始
e=>end: 网关注册绑定完成

bdwg=>subroutine: app通过二维码绑定网关
wgzc=>subroutine: 网关上电注册

st->bdwg->wgzc->e

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger家庭id
floorIdInteger楼层id
roomIdInteger房间id
deviceTypeIdInteger 设备类型id
qrCodeString二维码

请求示例

{
  "deviceType": "ios",
  "encData": "NcZtfCx8Se+IA4JRcvyQ2+ExFyHQOgB1I3lNaIJZpYq8iB8hwLFDlcvaaFDmt9DD0c5ZFgTHfwAmAZReE+D3PoucNkD5Hgzt2BaFbDoIBYU=",
  "reqTime": 1597042611998,
  "sign": "70a53214edd05b40120dd7d9472451c3",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"data":"绑定设备成功","msg":"成功"}

设备编辑

修改设备信息

  • 分配楼层
  • 分配房间
  • 修改名称

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger修改设备id
homeIdInteger修改设备归属家庭(应该是没这种场景...)
floorIdInteger修改设备归属楼层
roomIdInteger修改设备归属房间
nameString修改设备名字(展示用)
nickNameString修改设备昵称(语音用)
subDeviceListArray开关面板子集(开关面板编辑时传)
    numInteger第几个按键
    nameStrign按键名称
    iconUrlString图标地址
    typeInteger1: 普通开关, 2: 情景按键, 3: 遥控按键
    targetIdIntegertype=1: 该字段无效, type=2: deviceId, type=3: 情景id

请求示例

{
  "deviceType": "ios",
  "encData": "NcZtfCx8Se+IA4JRcvyQ2+ExFyHQOgB1I3lNaIJZpYq8iB8hwLFDlfGhdMpNid2/cv8uxCKh8MW8SoesweKGfA==",
  "reqTime": 1597044867452,
  "sign": "98fa614e1217950605648c572e4de726",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"data":"编辑设备成功","msg":"成功"}

解绑设备

解绑已经在家庭中绑定的设备

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger设备id
homeIdInteger家庭id

请求示例

{
  "deviceType": "ios",
  "encData": "Til+5qcau9sIuGEVVdy4+kAJmy9QHiK+",
  "reqTime": 1597061550261,
  "sign": "57860399e6f5e2b6e6040af6aa864825",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"data":"解绑设备成功","msg":"成功"}

智能化片段管理(snippet)

创建智能化片段

创建智能化片段

请求方式

请求参数

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

名称类型是否必填默认值描述
commandSetList 情景包含的操作指令集(对象列表)
homeIdInteger 家庭id
nameString 智能化片段名称

请求示例

data 对象请忽略, 这个就是encData的内容, 这里只是方便看数据结构贴出来, 实际请求只要encData即可

{
    "data": {
        "commandSet": [
            {
                "actionKey": "onOff",
                "commandList": [
                    {
                        "key": "number",
                        "name": "name1",
                        "value": "1"
                    },
                    {
                        "key": "onOff",
                        "name": "name2",
                        "value": "true"
                    }
                ],
                "delay": 500,
                "deviceId": 17,
                "deviceKey": "SmartSwitch01",
                "order": 1
            },
            {
                "actionKey": "setColor",
                "commandList": [
                    {
                        "key": "light_c",
                        "name": "name1",
                        "value": "87"
                    },
                    {
                        "key": "light_w",
                        "name": "name1",
                        "value": "116"
                    },
                    {
                        "key": "light_brightness",
                        "name": "name1",
                        "value": "211"
                    },
                    {
                        "key": "delay",
                        "name": "name2",
                        "value": "100"
                    }
                ],
                "delay": 500,
                "deviceId": 18,
                "deviceKey": "SmartLightCW01",
                "order": 1
            }
        ],
        "homeId": 18,
        "name": "创建智能化片段44893470"
    },
    "deviceType": "a1502",
    "encData": "Df093WGNYuLDE7pnhXSYQ+ZnoS8QOm6QTYVjMDnXXUqkcuDVK/Un8p6K/ziAwus4/HQwA4d2Vm56IQl2Ua7NRsMpxMBZRTI7vI5zTcwRBtDSqzxBsxxom+TfiDWEBtdMV12YLh+ogPJLB+hJ1vXVtgs2wdcIDpBE+/3y73Fvtsfd4SWeBS1Cja7ygttoZKwKSO+XlzC4uDANWOvZKuEUzCgDkDQ0mK+Vr2yXMpeXSpWXelidxAv6pQiZNwfNgGH3jxD5ZDdaz91LXWEmHw2+6W+8hfkt20QbUZyuJg1sKw1/p6s5x/o8wtdat9N10Z+THpFhh6dGL/6s6Vw4wMUVDFHqcAhSvCeawt18pEDhKL410avzQVIxWI+EadF+dMWSOiw0XVQfOfc1igY1aQxl5PH6hFVEBFwGIeB2A2qsl5AlI73xIyE9o0Ox5eP/RCaZ7TkzTB0I18HH96fcUg/jAbkQ369fTt3VZuiiX4FkyPNGtaHCdf0ZYmYa6l+G9d/KhQfYQLc+AIZvth+5KRY4tlkSHo8BWEspLMpin3qYyFeKabB4KELKHBsG2wS0+Jh2M4aod3uFcc1KabBeM3TVE8UwMQ3e3Lwdb7q7ISwwVX7myuZiZ609nK3WJ3f9MLIb/T+lhn96L1xnf61JzjD+Xwoh5FFYMTk0Gk3i1xz3TEObGRbcUVrf6d/PQij/tG1U6d8fpZgGLGxiNojBWh4eTHDpeINvyrSfiDTg9rTPRe8=",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1605005566436,
    "sign": "b68742befbc1e26a8cdf7dad3ed7bf53",
    "token": "071ba577efc4c37232ccb12b37e870e8",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 智能化片段id
commandSetArray 操作指令集合
homeIdInteger 家庭id
nameString 智能化片段名称
revisionInteger 记录版本号
stateInteger 记录状态1: 有效, -9: 无效

响应结果示例

{
  "code": 0,
  "data": {
    "commandSet": [
      {
        "command": "{\n      \"R\": 210,\n      \"G\": 122,\n      \"B\": 100,\n      \"C\": 100,\n      \"W\": 100,\n      \"Brightness\": 100\n    }",
        "delay": 500,
        "deviceId": "12341234",
        "order": 1
      },
      {
        "command": "{\n      \"R\": 210,\n      \"G\": 122,\n      \"B\": 100,\n      \"C\": 100,\n      \"W\": 100,\n      \"Brightness\": 100\n    }",
        "delay": 500,
        "deviceId": "222222",
        "order": 1
      }
    ],
    "createTime": "2020-09-29T16:58:08.357019000",
    "createUser": "test1",
    "homeId": 28,
    "id": 13,
    "name": "创建智能化片段372348556",
    "revision": 1,
    "state": 1,
    "updateTime": "2020-09-29T16:58:08.357099000",
    "updateUser": "test1"
  },
  "msg": "新建智能化片段成功"
}

编辑智能化片段

修改智能化片段

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 智能化片段id
commandSetArray 操作片段集合
homeIdInteger 家庭id
nameString 智能化片段名称
revisionInteger 记录版本号

请求示例


{
  "data": {
    "commandSet": [
      {
        "commandList": [
          {
            "key": "light_c",
            "name": "name1",
            "value": "87"
          },
          {
            "key": "light_w",
            "name": "name1",
            "value": "116"
          },
          {
            "key": "light_brightness",
            "name": "name1",
            "value": "211"
          },
          {
            "key": "delay",
            "name": "name2",
            "value": "100"
          }
        ],
        "delay": 500,
        "deviceId": 11,
        "order": 1
      }
    ],
    "homeId": 18,
    "id": 9,
    "revision": 3
  },
  "deviceType": "a1502",
  "encData": "Df093WGNYuLDE7pnhXSYQxoxXxZ5aB8N6o8AgMNHbhaVNtGg6C3uyZ7iilKa/Vh7+favv57iZiLyU0DKQx7AaLKU2FMpvqxmYOFEGSHtt7D8gPEWirKDmi2i/etZd1+JiI5BTpqLK39itionCideNvHzTu1m2VaaVBlsIZJokixBItezVfb0Z73lCuFSYbOK9BKTI2v3QwBKuUeeGa/gBaDD/sJgA6fUwxme47fvDv2CQ/7cbcil78xxo+QYjNTWzajKELhR7bOTXltrKrqda/ToEvcYD3dRwYKUfqPtUrbynkMMuARO2Qod6vpVDm6qrTvnyM01KjD6fTOD4pxTpkzGHpB0fkiomR1dT3OVJa67u/hnLbm5Q+WnsMYNz734Qr3dJz6Fa7oudzjDR49b1w==",
  "homeId": 18,
  "os": "ios",
  "reqTime": 1605532211023,
  "sign": "9a6ca8d58e3a06571e067485a8e76409",
  "token": "e08f69188a9e8c4d2121558726f24235",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应结果示例

{"code":0,"msg":"编辑智能化片段成功"}

删除智能化片段

删除化片段

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 智能化片段id
homeIdInteger 家庭id
revisionInteger 记录版本号

请求示例

{
  "deviceType": "a1502",
  "encData": "Bvu35nsmDGGBS9QZLqo0+EU5kNVZxIoEFUXM7kEfpcM89Z/a4ChewMqf3r7vme5H",
  "os": "ios",
  "reqTime": 1601377696895,
  "sign": "6c5d098d26893ef35f1e81c5548972f3",
  "token": "1db5cd7ef3977432953ba75592e6c171",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 智能化片段id
commandSetArray 操作指令集合
homeIdInteger 家庭id
nameString 智能化片段名称
revisionInteger 记录版本号
stateInteger 记录状态1: 有效, -9: 无效

响应结果示例

{"code":0,"msg":"删除智能化片段成功"}

情景管理(scene)

创建情景

新建智能情景

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
nameString 情景名称
commandSetList 情景包含的操作指令集(对象列表)
coverUrlString 情景封面url
crontabListList 定时任务列表(对象列表)

请求示例

data 对象请忽略, 这个就是encData的内容, 这里只是方便看数据结构贴出来, 实际请求只要encData即可

{
    "data": {
        "commandSet": [
            {
                "actionKey": "onOff",
                "commandList": [
                    {
                        "key": "number",
                        "name": "name1",
                        "value": "1"
                    },
                    {
                        "key": "onOff",
                        "name": "name2",
                        "value": "true"
                    }
                ],
                "delay": 500,
                "deviceId": 17,
                "deviceKey": "SmartSwitch01",
                "order": 1
            },
            {
                "actionKey": "setColor",
                "commandList": [
                    {
                        "key": "light_c",
                        "name": "name1",
                        "value": "87"
                    },
                    {
                        "key": "light_w",
                        "name": "name1",
                        "value": "116"
                    },
                    {
                        "key": "light_brightness",
                        "name": "name1",
                        "value": "211"
                    },
                    {
                        "key": "delay",
                        "name": "name2",
                        "value": "100"
                    }
                ],
                "delay": 500,
                "deviceId": 18,
                "deviceKey": "SmartLightCW01",
                "order": 1
            }
        ],
        "coverUrl": "coverUrl",
        "crontabList": [
            {
                "repeatFlag": true,
                "uTCSec": 86400,
                "week": 124
            }
        ],
        "homeId": 18,
        "name": "创建情景1464582275"
    },
    "deviceType": "a1502",
    "encData": "Df093WGNYuLDE7pnhXSYQ+ZnoS8QOm6QTYVjMDnXXUqkcuDVK/Un8p6K/ziAwus4/HQwA4d2Vm56IQl2Ua7NRsMpxMBZRTI7vI5zTcwRBtDSqzxBsxxom+TfiDWEBtdMV12YLh+ogPJLB+hJ1vXVtgs2wdcIDpBE+/3y73Fvtsfd4SWeBS1Cja7ygttoZKwKSO+XlzC4uDANWOvZKuEUzCgDkDQ0mK+Vr2yXMpeXSpWXelidxAv6pQiZNwfNgGH3jxD5ZDdaz91LXWEmHw2+6W+8hfkt20QbUZyuJg1sKw1/p6s5x/o8wtdat9N10Z+THpFhh6dGL/6s6Vw4wMUVDFHqcAhSvCeawt18pEDhKL410avzQVIxWI+EadF+dMWSOiw0XVQfOfc1igY1aQxl5PH6hFVEBFwGIeB2A2qsl5AlI73xIyE9o0Ox5eP/RCaZ7TkzTB0I18HH96fcUg/jAbkQ369fTt3VZuiiX4FkyPNGtaHCdf0ZYmYa6l+G9d/KhQfYQLc+AIZvth+5KRY4tlkSHo8BWEspLMpin3qYyFeKabB4KELKHBsG2wS0+Jh2M4aod3uFcc1KabBeM3TVE8UwMQ3e3Lwdb7q7ISwwVX7myuZiZ609nK3WJ3f9MLIb/T+lhn96L1xnf61JzjD+X73LYxmbosHSjppUgwSVWZJe27Gm1ZsoQukeNwMSUJLpQBOsw0UvBS9tAcKrZiBoEJQJgZNKv6LLsAD4dA2PLx7hs8Mymx6GPReN9bZ4iDAXxvJE8gVOC/F+Z0Jk7SGfC1taWozb6Ra509Mer8PgMeQ3Py6XFsog45y09+PvrhwDuqhp0O4E0Vw4xBgvX82tPA==",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1604998208833,
    "sign": "00ca65979c7e2c8da00d8e26311e8b77",
    "token": "54491a059b618d2b01d8871e93880afb",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
stateInteger 1-有效
nameString 情景名称
commandSetList 情景包含的操作指令集(对象列表)
coverUrlString 情景封面url
crontabListList 定时任务列表(对象列表)
revisionInteger 记录版本号
operateCountInteger 情景使用次数
createTimetime 记录创建时间
createUserString 记录创建人
updateTimetime 记录更新时间
updateUserString 记录更新人

响应结果示例

{
    "code": 0,
    "data": {
        "commandSet": [
            {
                "actionKey": "onOff",
                "commandList": [
                    {
                        "key": "number",
                        "name": "name1",
                        "value": "1"
                    },
                    {
                        "key": "onOff",
                        "name": "name2",
                        "value": "true"
                    }
                ],
                "delay": 500,
                "deviceId": 17,
                "deviceKey": "SmartSwitch01",
                "order": 1
            },
            {
                "actionKey": "setColor",
                "commandList": [
                    {
                        "key": "light_c",
                        "name": "name1",
                        "value": "87"
                    },
                    {
                        "key": "light_w",
                        "name": "name1",
                        "value": "116"
                    },
                    {
                        "key": "light_brightness",
                        "name": "name1",
                        "value": "211"
                    },
                    {
                        "key": "delay",
                        "name": "name2",
                        "value": "100"
                    }
                ],
                "delay": 500,
                "deviceId": 18,
                "deviceKey": "SmartLightCW01",
                "order": 1
            }
        ],
        "coverUrl": "coverUrl",
        "createTime": "2020-11-10T16:56:16.396490000",
        "createUser": "p20090906415500005",
        "crontabList": [
            {
                "repeatFlag": true,
                "uTCSec": 86400,
                "week": 124
            }
        ],
        "homeId": 18,
        "id": 63,
        "name": "创建情景666114000",
        "operateCount": 0,
        "revision": 1,
        "state": 1,
        "updateTime": "2020-11-10T16:56:16.396514000",
        "updateUser": "p20090906415500005"
    },
    "msg": "新建情景成功"
}

编辑情景

修改情景内容(名字, 指令集)

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
revisionInteger 数据版本号
nameString 情景名称
commandSetList 情景包含的操作指令集(对象列表)
coverUrlString 情景封面url
crontabListList 定时任务列表(对象列表

请求示例

{
    "deviceType": "a1502",
    "encData": "b2HLVFdI+t8dxEIlqoagzde2010HdjdZUEo89zKWU8gvefRg7uNut5BwnrOn/wchwLvH5vDmRnd7Oi8rn8MXhPtUbjpKkI7+Jb2EtwBplWKSkcUxbCduUUkAidnsMR+q",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1605004627495,
    "sign": "06f0755f66ed8f040595fb89d7cf7b48",
    "token": "c31888a16e34d73cd977fc5775259b78",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
stateInteger 1-有效
nameString 情景名称
commandSetString 情景包含的操作指令集(json化的Instruction对象数组)
coverUrlString 情景封面url
revisionInteger 记录版本号
operateCountInteger 情景使用次数
createTimetime 记录创建时间
createUserString 记录创建人
updateTimetime 记录更新时间
updateUserString 记录更新人

响应结果示例

{
    "code": 0,
    "data": {
        "commandSet": [
            {
                "actionKey": "onOff",
                "commandList": [
                    {
                        "key": "number",
                        "name": "name1",
                        "value": "1"
                    },
                    {
                        "key": "onOff",
                        "name": "name2",
                        "value": "true"
                    }
                ],
                "delay": 500,
                "deviceId": 17,
                "deviceKey": "SmartSwitch01",
                "order": 1
            },
            {
                "actionKey": "setColor",
                "commandList": [
                    {
                        "key": "r",
                        "name": "name1",
                        "value": "87"
                    },
                    {
                        "key": "g",
                        "name": "name1",
                        "value": "116"
                    },
                    {
                        "key": "b",
                        "name": "name1",
                        "value": "211"
                    },
                    {
                        "key": "onOff",
                        "name": "name2",
                        "value": "true"
                    }
                ],
                "delay": 500,
                "deviceId": 18,
                "deviceKey": "SmartLightCW01",
                "order": 1
            }
        ],
        "coverUrl": "coverUrl",
        "createTime": "2020-10-10T15:11:42",
        "createUser": "p20090906415500005",
        "homeId": 18,
        "id": 5,
        "name": "777 修改情景1396586204",
        "revision": 2,
        "state": 1,
        "updateTime": "2020-11-10T18:37:07.949749000",
        "updateUser": "p20090906415500005"
    },
    "msg": "编辑情景成功"
}

删除情景

删掉指定的情景

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
revisionInteger 数据版本号

请求示例

{
    "deviceType": "ios",
    "encData": "Til+5qcau9sIuGEVVdy4+o4kdtilpzXTrlH0lm5aUNaJqBXXF9FWqg==",
    "reqTime": 1598065049802,
    "sign": "3c35d5b04c353ea43c383550801509b3",
    "token": "3db13f483962911b312973daa7f3f1cb",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"msg":"删除情景成功"}

操作类接口

操作设备

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

请求方式

请求参数

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

名称类型是否必填默认值描述
qosInteger00:无保障机制, 1:保证丢且只丢入一次消息队列, 2: 保证消费且只消费一次消息
targetIdInteger设备id或情景id
actionKeyString什么操作, 如: 开关灯, 调整亮度等
homeIdInteger家庭id
commandListList具体的操作参数对象列表

请求示例

{
    "data": {
        "actionKey": "onOff",
        "commandList": [
            {
                "key": "number",
                "name": "name1",
                "value": "1"
            },
            {
                "key": "onOff",
                "name": "name2",
                "value": "true"
            }
        ],
        "deviceId": 5,
        "homeId": 18
    },
    "deviceType": "a1502",
    "encData": "Ok7lDwF/HZXmnzvTwyyFFpd2GKxI6F7m5vPaJZgVFddOm8eQwQwFgEOY4Rj/JplZSLsxMl8W34RLNsWDqE90E36L2Zlj+2rXgpDo4YiFYbcg908Qhu1sCAJAj97haUYJ8QtDJKMeC7WVMGauSiJofkZC3pRvoIrxPHDxHL/lIkEhAyL8LMRq96jyc3548DYkEoOTE6ITs5/H5OBDNaJ7GQGubceP2OwDkBItZJTP4QkChZJnydcGLxRpg9Nrrqco",
    "homeId": 18,
    "os": "ios",
    "reqTime": 1605005067386,
    "sign": "77280047c6c5432659b9793cdeac0294",
    "token": "f181789cf2cb74a42d178669557852dc",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"msg":"设备操作成功"}

操作情景

用户主动触发指定的情景

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
sceneIdInteger 情景id

请求示例

{
  "deviceType": "a1502",
  "encData": "5Xxuo34jTly9RlZSQjVxcCQSxWE/8by8r3jJ0m2V7Do=",
  "homeId": 18,
  "os": "ios",
  "reqTime": 1605947193717,
  "sign": "b1649539bd4af0191a7243fdf328bcce",
  "token": "ec6cc7cad1be0ae3e2268e52285ca3b2",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数(略)

响应结果示例

{"code":0,"msg":"情景操作成功"}

展示类接口

用户相关

用户信息

查询用户信息

请求方式

请求参数

请求参数为空, 直接用null进行加密和签名就好了

请求示例

{
  "deviceType": "a1502",
  "encData": "uJ3MeuAYCr3G/BjHCG5pXQ==",
  "os": "ios",
  "reqTime": 1600400725635,
  "sign": "cd64bd89cf52b5eaa6269a0680735ddd",
  "token": "1d05894747ae8d9b56e8e7927bbddc10",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
nickNameString 用户昵称
personIdString 用户标识
mobileString 手机号
emailString 邮箱
genderInteger 1-男, 2-女
registrationTimeString 注册时间
picUrlString 头像图片地址

响应结果示例

{
  "code": 0,
  "data": {
    "email": "test@zhhx.top",
    "gender": 1,
    "mobile": "137****4444",
    "nickName": "昵称已改变",
    "personId": "test1",
    "picUrl": "https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.iplaysoft.com%2Ffree-images.html&psig=AOvVaw2SrtBpHIuZP0hDQuHOvZev&ust=1601102851168000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCNiq4Ijbg-wCFQAAAAAdAAAAABAI",
    "registrationTime": "2020-07-14 20:33:09"
  },
  "msg": "成功"
}

账号搜索接口

按手机号, 邮箱号, 或者昵称搜索用户信息

不提供模糊搜索

请求方式

请求参数

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

名称类型是否必填默认值描述
accountString 搜索对象(手机号/邮箱号/昵称)

请求示例

{
  "deviceType": "a1502",
  "encData": "G6GIDzWX7J9xVA2NAgVhqwHwWfcKllvnXz9tNA01c1Y=",
  "os": "ios",
  "reqTime": 1601016355710,
  "sign": "45798b7f53f90ddd4d4867251a4a371c",
  "token": "8e2597bfe2f8d60637dfad235f4e6de0",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
emailString 邮箱地址
genderInteger 性别
nickNameString 昵称
picUrlString 头像图片地址
mobileString 手机号

响应结果示例

{
  "code": 0,
  "data": [
    {
      "email": "test@zhhx.top",
      "gender": 1,
      "mobile": "137****4444",
      "nickName": "昵称已改变",
      "personId": "test1",
      "picUrl": "https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.iplaysoft.com%2Ffree-images.html&psig=AOvVaw2SrtBpHIuZP0hDQuHOvZev&ust=1601102851168000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCNiq4Ijbg-wCFQAAAAAdAAAAABAI",
      "registrationTime": "2020-07-14 20:33:09"
    }
  ],
  "msg": "成功"
}

家庭相关

首页接口

返回app首页需要的内容(该接口会强制刷新服务端用户缓存)

  • 用户信息
  • 家庭信息
  • 楼层信息
  • 房间信息
  • 设备信息

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger家庭id

请求示例

{
    "deviceType": "a1502",
    "encData": "d17DxxbwElJyIIduWsW3Ng==",
    "os": "ios",
    "reqTime": 1598936441895,
    "sign": "b9a95d4368bcfd88889243cd0f13dbe3",
    "token": "ad5aa506d9adad3975d29b8744ac4223",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 家庭id (homeId)
nameString 家庭名称
bgUrlString 家庭背景图片地址(没有则展示默认背景图)
picUrlString 家庭头像图片地址(没有则展示默认家庭头像)
provinceString 省份
cityString 返回描述, 无描述将传空字符
districtString 家庭: 区
streetString 街道
addressString 具体地址
revisionInteger 数据版本号(编辑数据的时候需要带上)
floorNumsInteger 家庭中楼层数
roomNumsInteger 家庭中房间数
deviceNumsInteger 家庭中设备数
snippetNumsInteger 家庭中智能化片段数
sceneNumsInteger 家庭中情景数
floorListArray 家庭中楼层信息(列表)
FloorVo.idInteger 楼层id
FloorVo.homeIdInteger 楼层归属的家庭id
FloorVo.nameString 楼层名
FloorVo.revisionInteger 数据版本号(编辑数据的时候需要带上)
FloorVo.roomNumsInteger 楼层下的房间数
FloorVo.roomListArray 楼层中的房间信息(列表)
RoomVo.idInteger 房间id (roomId)
RoomVo.homeIdInteger 房间归属的家庭id
RoomVo.floorIdInteger 房间归属的楼层id
RoomVo.nameString 房间名
RoomVo.revisionInteger 数据版本号(编辑数据的时候需要带上)
RoomVo.typeInteger 房间类型
RoomVo.deviceNumsInteger 房间下的设备数
RoomVo.deviceListArray 房间中的设备信息(列表)
DeviceVo.idInteger 设备id (deviceId)
DeviceVo.homeIdInteger 设备归属的家庭id
DeviceVo.floorIdInteger 设备归属的楼层id
DeviceVo.roomIdInteger 设备归属的房间id
DeviceVo.nameString 设备名称
DeviceVo.productKeyString 设备产品系列key
DeviceVo.deviceCompanyIdInteger 设备厂商id
DeviceVo.deviceTypeIdInteger 设备类型id
DeviceVo.hwString 设备硬件版本号
DeviceVo.swString 设备软件版本号

响应结果示例

{
    "code": 0,
    "data": {
        "address": "聚创金谷创意园a栋7楼719",
        "bgUrl": "https://www.google.com/imgres?imgurl=http%3A%2F%2Fpic.5tu.cn%2Fuploads%2Fallimg%2F1911%2Fpic_5tu_big_201911122201021011.jpg&imgrefurl=http%3A%2F%2Fpic.5tu.cn%2Fpsd%2F201911%2Fbeijing-1697242.html&tbnid=ShsdhDxOnEv2mM&vet=12ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygKegUIARCyAQ..i&docid=k9ggnrJKplCmXM&w=650&h=867&q=图片&ved=2ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygKegUIARCyAQ",
        "city": "深圳",
        "deviceNums": 0,
        "district": "1231243",
        "floorList": [
            {
                "homeId": 28,
                "id": 34,
                "name": "负一楼",
                "revision": 1,
                "roomList": [
                    {
                        "deviceNums": 0,
                        "floorId": 34,
                        "homeId": 28,
                        "id": 17,
                        "name": "修改成-912845248号房间",
                        "revision": 2,
                        "state": 1,
                        "type": 1
                    },
                    {
                        "deviceNums": 0,
                        "floorId": 34,
                        "homeId": 28,
                        "id": 18,
                        "name": "632625521号房间",
                        "revision": 1,
                        "state": 1,
                        "type": 1
                    },
                    {
                        "deviceNums": 0,
                        "floorId": 34,
                        "homeId": 28,
                        "id": 8,
                        "name": "修改成4号房间",
                        "revision": 2,
                        "state": 1,
                        "type": 1
                    },
                    {
                        "deviceNums": 0,
                        "floorId": 34,
                        "homeId": 28,
                        "id": 9,
                        "name": "0号房间",
                        "revision": 1,
                        "state": 1,
                        "type": 1
                    },
                    {
                        "deviceNums": 0,
                        "floorId": 34,
                        "homeId": 28,
                        "id": 10,
                        "name": "1号房间",
                        "revision": 1,
                        "state": 1,
                        "type": 1
                    }
                ],
                "roomNums": 5
            },
            {
                "homeId": 28,
                "id": 35,
                "name": "一楼",
                "revision": 1,
                "roomList": [
                    {
                        "deviceNums": 0,
                        "floorId": 35,
                        "homeId": 28,
                        "id": 6,
                        "name": "修改成2号房间",
                        "revision": 2,
                        "state": 1,
                        "type": 1
                    }
                ],
                "roomNums": 1
            },
            {
                "homeId": 28,
                "id": 36,
                "name": "修改二楼",
                "revision": 3,
                "roomList": [
                    {
                        "deviceNums": 0,
                        "floorId": 36,
                        "homeId": 28,
                        "id": 7,
                        "name": "2号房间",
                        "revision": 1,
                        "state": 1,
                        "type": 1
                    }
                ],
                "roomNums": 1
            }
        ],
        "floorNums": 3,
        "id": 28,
        "name": "测试家庭",
        "picUrl": "https://www.google.com/imgres?imgurl=http%3A%2F%2Fpic.sc.chinaz.com%2Ffiles%2Fpic%2Fpic9%2F201610%2Fapic23847.jpg&imgrefurl=http%3A%2F%2Fsc.chinaz.com%2Ftupian%2F161114081544.htm&tbnid=UQlGh7q5Rb3piM&vet=12ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygQegUIARC-AQ..i&docid=ZU8J5fhbQ5_WbM&w=650&h=1015&q=图片&ved=2ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygQegUIARC-AQ",
        "province": "广东省",
        "revision": 1,
        "roomNums": 7,
        "sceneNums": 3,
        "snippetNums": 8,
        "state": 1,
        "street": "西丽街道"
    },
    "msg": "成功"
}

家庭列表

获取个人所有家庭信息

请求方式

请求参数

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

名称类型是否必填默认值描述
reqTypeStringallHome固定传这个"allHome"字符串

请求示例

{
    "deviceType": "a1502",
    "encData": "jTkBNlV00grmSqjd72r6bRQ+uMY7c7pRSeTSS6ojy74=",
    "os": "ios",
    "reqTime": 1598936441148,
    "sign": "54c2d85baaf034b55f8c0465c8384078",
    "token": "ad5aa506d9adad3975d29b8744ac4223",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容, data封装的以下对象的数组

名称类型是否必填默认值描述
idInteger 家庭id (homeId)
nameString 家庭名称
picUrlString 家庭头像地址(如果没有展示默认头像)
provinceString 省份
cityString 返回描述, 无描述将传空字符
districtString 家庭: 区
streetString 街道
addressString 具体地址
revisionInteger 数据版本号(编辑数据的时候需要带上)

响应结果示例

{
    "code": 0,
    "data": [
        {
            "address": "聚创金谷创意园a栋7楼719",
            "city": "深圳",
            "id": 10,
            "name": "测试家庭",
            "owner": "test1",
            "province": "广东省",
            "revision": 1,
            "street": "西丽街道"
        },
        {
            "address": "聚创金谷创意园a栋7楼719",
            "city": "深圳",
            "id": 28,
            "name": "测试家庭",
            "owner": "test1",
            "picUrl": "https://www.google.com/imgres?imgurl=http%3A%2F%2Fpic.sc.chinaz.com%2Ffiles%2Fpic%2Fpic9%2F201610%2Fapic23847.jpg&imgrefurl=http%3A%2F%2Fsc.chinaz.com%2Ftupian%2F161114081544.htm&tbnid=UQlGh7q5Rb3piM&vet=12ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygQegUIARC-AQ..i&docid=ZU8J5fhbQ5_WbM&w=650&h=1015&q=图片&ved=2ahUKEwjIjdvBisfrAhVIHzQIHaaaCbAQMygQegUIARC-AQ",
            "province": "广东省",
            "revision": 1,
            "street": "西丽街道"
        }
    ],
    "msg": "成功"
}

家庭成员列表

查看家庭成员

请求方式

请求参数

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

名称类型是否必填默认值描述
idLong 家庭id

请求示例

{
  "deviceType": "a1502",
  "encData": "xWFer5KOX2bnfZI2gPcnkg==",
  "os": "ios",
  "reqTime": 1600931834919,
  "sign": "eb3f3a91f3a779c39a610a32832bbf98",
  "token": "4cd346d382b4f6069e647b60a165bcb2",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

data 是一个对象Array

名称类型是否必填默认值描述
idLong 关系表主键
homeIdLong 家庭id
managerboolean 是否有管理权限
nickNameString 用户昵称
roleIdLong 角色id
personIdString 用户id

响应结果示例

{
  "code": 0,
  "data": [
    {
      "homeId": 3,
      "id": 2,
      "manager": true,
      "nickName": "用户昵称",
      "personId": "1",
      "roleId": -100
    },
    {
      "homeId": 3,
      "id": 71,
      "manager": false,
      "nickName": "nickname_6537105486000",
      "personId": "p20083103514500001",
      "roleId": 76
    }
  ],
  "msg": "成功"
}

楼层相关

全屋楼层

查询整个家庭下的所有楼层信息

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
timeLong 上次访问服务端查询时返回的时间戳,如第一次访问则传0。不为0则只查询时间戳到当前时间的数据,为0则查询全部。

请求示例

{
  "deviceType": "ios",
  "encData": "Til+5qcau9tXxh9vam7qtg==",
  "reqTime": 1597668654803,
  "sign": "acdf5288809e08a4e59c29289e19ae23",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
resultListArray floor数据集合
        idInteger 楼层id
        homeIdInteger 家庭id
        nameString 楼层名
        revisionInteger 数据版本号
timeLong 时间戳

响应结果示例


{
    "code": 0,
    "data": {
        "resultList": [
            {
                "homeId": 10,
                "id": 1,
                "name": "就叫楼层",
                "revision": 1
            },
            {
                "homeId": 10,
                "id": 10,
                "name": "厕所",
                "revision": 1
            }
        ],
        "time": 1606287461433
    },
    "msg": "成功"
}

楼层详情

查询楼层详情(包括房间信息以及房间中的设备信息)

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 楼层id
homeIdInteger 家庭id

请求示例

{
  "deviceType": "ios",
  "encData": "Til+5qcau9uYHlI3ljYrYFBTAsFJmNO4",
  "reqTime": 1597668653482,
  "sign": "a759524e2c34a0107e8bd9b19d312246",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 楼层id
homeIdInteger 家庭id
nameString 楼层名
revisionInteger 数据版本号
stateInteger1数据状态, 1: 有效, -9: 已删除
roomNumsInteger 楼层下房间数
roomListArray
RoomVo.idInteger 房间id
RoomVo.homeIdInteger 家庭id
RoomVo.floorIdInteger 楼层id
RoomVo.nameString 楼层名
RoomVo.revisionInteger 数据版本号
RoomVo.typeInteger 房间类型
RoomVo.stateInteger1数据状态, 1: 有效, -9: 已删除

响应结果示例

{
  "code": 0,
  "data": {
    "homeId": 10,
    "id": 27,
    "name": "4楼",
    "revision": 4,
    "roomList": [
      {
        "floorId": 27,
        "homeId": 10,
        "id": 16,
        "name": "15号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      },
      {
        "deviceList": [
          {
            "deviceCompanyId": 1,
            "deviceName": "1",
            "deviceTypeId": 1,
            "floorId": 27,
            "homeId": 10,
            "id": 6,
            "productKey": "SmartLightCW01",
            "roomId": 3,
            "state": 1,
            "status": "{\"items\":[{\"id\":\"onOff\",\"name\":\"电源状态\",\"value\":\"true\"},{\"id\":\"light_c\",\"name\":\"黄色数值\",\"value\":\"100\"},{\"id\":\"light_w\",\"name\":\"白色数值\",\"value\":\"100\"},{\"id\":\"light_brightness\",\"name\":\"灯泡亮度\",\"value\":\"100\"},{\"id\":\"status\",\"name\":\"设备状态\",\"value\":\"Normal\"},{\"id\":\"freeMode\",\"name\":\"自由模式\",\"value\":\"0\"},{\"id\":\"defaultOnOff\",\"name\":\"通电自动打开\",\"value\":\"false\"},{\"id\":\"sw\",\"name\":\"软件版本号\",\"value\":\"1.0\"},{\"id\":\"hw\",\"name\":\"硬件版本号\",\"value\":\"1.0\"},{\"id\":\"mac\",\"name\":\"设备MAC地址\",\"value\":\"5254ab14a1df\"}]}"
          },
          {
            "deviceCompanyId": 1,
            "deviceName": "deviceName1234",
            "deviceTypeId": 1,
            "floorId": 27,
            "homeId": 10,
            "id": 7,
            "productKey": "SmartCurtain01",
            "roomId": 3,
            "state": 1,
            "status": "{\"timerList\":[{\"num\":1,\"position\":50,\"repertFlag\":true,\"uTCSec\":121291919,\"week\":123456},{\"num\":2,\"position\":50,\"repertFlag\":true,\"uTCSec\":121291919,\"week\":123456}],\"items\":[{\"id\":\"position\",\"name\":\"窗帘所处位置百分比\",\"value\":\"50\"},{\"id\":\"sw\",\"name\":\"软件版本号\",\"value\":\"1.0\"},{\"id\":\"hw\",\"name\":\"硬件版本号\",\"value\":\"1.0\"},{\"id\":\"mac\",\"name\":\"设备MAC地址\",\"value\":\"5254ab14a1df\"}]}"
          }
        ],
        "floorId": 27,
        "homeId": 10,
        "id": 3,
        "name": "修改成2号房间",
        "revision": 4,
        "state": 1,
        "type": 1
      },
      {
        "floorId": 27,
        "homeId": 10,
        "id": 11,
        "name": "10号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      },
      {
        "floorId": 27,
        "homeId": 10,
        "id": 12,
        "name": "11号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      },
      {
        "floorId": 27,
        "homeId": 10,
        "id": 13,
        "name": "12号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      },
      {
        "floorId": 27,
        "homeId": 10,
        "id": 14,
        "name": "13号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      },
      {
        "floorId": 27,
        "homeId": 10,
        "id": 15,
        "name": "14号房间",
        "revision": 2,
        "state": 1,
        "type": 1
      }
    ]
  },
  "msg": "成功"
}

房间相关

全屋房间查询

查询当前家庭下的所有房间信息

请求方式

请求参数天

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
timeLong 上次访问服务端查询时返回的时间戳,如第一次访问则传0。不为0则只查询时间戳到当前时间的数据,为0则查询全部。

请求示例

{
  "deviceType": "ios",
  "encData": "Til+5qcau9tXxh9vam7qtg==",
  "reqTime": 1597378320773,
  "sign": "aa8cb6288ff33a03f581d5ce4e75a510",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
resultListArray room数据集合
    idInteger 房间id
    homeIdInteger 家庭id
    floorIdInteger 楼层id
    revisionInteger 数据版本号
    typeInteger 房间类型
    nameString 房间名称
timeLong 时间戳

响应结果示例

{
    "code": 0,
    "data": {
        "resultList": [
            {
                "floorId": 10,
                "homeId": 10,
                "id": 4,
                "name": "什么房间",
                "revision": 2,
                "state": 1,
                "type": 1
            },
            {
                "floorId": 10,
                "homeId": 10,
                "id": 5,
                "name": "老八游乐园",
                "revision": 1,
                "state": 1,
                "type": 4
            }
        ],
        "time": 1606288651437
    },
    "msg": "成功"
}

全楼层房间查询

查询指定楼层下的所有房间

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
floorIdInteger 楼层id

请求示例

{
  "deviceType": "ios",
  "encData": "ZVd4H8XQ/NMwFmCbRtdtf/Fgq4C3IJVVs+UOuVXdeRU=",
  "reqTime": 1597385600499,
  "sign": "a3099a7d7ae79f60da5bf5efd3bb2722",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 房间id
homeIdInteger 家庭id
floorIdInteger 楼层id
revisionInteger 数据版本号
typeInteger 房间类型
nameString 房间名称

响应结果示例

{
  "code": 0,
  "data": [
    {
      "floorId": 27,
      "homeId": 10,
      "id": 3,
      "name": "修改成2号房间",
      "revision": 4,
      "state": 1,
      "type": 1
    }
  ],
  "msg": "成功"
}

获取房间类型(分类)

获取房间类型(增量获取, time为0时是全量获取)

  1. app本地需要缓存图标, id, 与名字信息
  2. 每次请求完成服务端会返回一个时间戳, 下次请求接口需要带上该时间戳(只拉取增量信息)
  3. 同样id的记录本地做一个覆盖处理

请求方式

请求参数

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

名称类型是否必填默认值描述
reqTypeStringroomType固定传"roomType"字符串
timeLong0只会返回时间戳之后发生变更的记录

请求示例

{
    "deviceType": "ios",
    "encData": "5VCYv48moshZPSf1hVctycysOT7otWnF4nzIdaM0ENU=",
    "reqTime": 1598529174999,
    "sign": "249209579e60412407a016053ab82318",
    "token": "5847c714d4284df339cadadf1e621231",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 房间类型id
nameString 房间类型名称
iconOffUrlString 置灰图标地址(下载后缓存在本地)
iconOnUrlString 正常选中状态图标(下载后缓存在本地)

响应结果示例

{
    "code": 0,
    "data": {
        "time": 1598677924344,
        "typeList": [
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 1,
                "name": "客厅"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 2,
                "name": "卧室"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 3,
                "name": "餐厅"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 4,
                "name": "卫生间"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 5,
                "name": "浴室"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 6,
                "name": "厨房"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 7,
                "name": "儿童房"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 8,
                "name": "婴儿房"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 9,
                "name": "活动室"
            },
            {
                "iconOffUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "iconOnUrl": "https://tse1-mm.cn.bing.net/th/id/OIP.d1bQCamWdNYZjqipdcgQtgHaE7?w=282&amp;h=188&amp;c=7&amp;o=5&amp;dpr=2&amp;pid=1.7",
                "id": 10,
                "name": "媒体房"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 12,
                "name": "书房"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 13,
                "name": "休闲室"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 14,
                "name": "工作室"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 15,
                "name": "衣帽间"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 16,
                "name": "书房"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 17,
                "name": "阳台"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 19,
                "name": "花园"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 20,
                "name": "车库"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 21,
                "name": "阁楼"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 22,
                "name": "走廊"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 23,
                "name": "楼梯"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 24,
                "name": "地下室"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 25,
                "name": "阳台"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 26,
                "name": "储藏室"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 27,
                "name": "健身房"
            },
            {
                "iconOffUrl": "图标地址(下载后缓存在本地)",
                "iconOnUrl": "图标地址(下载后缓存在本地)",
                "id": 31,
                "name": "娱乐房"
            }
        ]
    },
    "msg": "成功"
}

房间详情

查询房间详情

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 房间id
homeIdString 家庭id

请求示例

{
  "data": {
    "homeId": 10,
    "id": 3
  },
  "deviceType": "ios",
  "encData": "Til+5qcau9uYHlI3ljYrYMTtzj+v7E6j",
  "reqTime": 1597657404014,
  "sign": "aed07a8ed4a6a64361825bf8ec1b4377",
  "token": "wangwang
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 房间id
homeIdInteger 家庭id
floorIdInteger 楼层id
nameString 房间名
revisionInteger 版本号
typeInteger 房间类型
deviceListArray 设备列表, 如房间无绑定设备则为空
DeviceVo.idInteger 设备id
DeviceVo.homeIdInteger 家庭id
DeviceVo.floorIdInteger 楼层id
DeviceVo.roomIdInteger 房间id
DeviceVo.deviceCompanyIdInteger 设备厂商id
DeviceVo.deviceTypeIdInteger 设备类型id
DeviceVo.productKeyString 设备类型key
DeviceVo.deviceNameString 设备名字(用于定位设备)
DeviceVo.deviceDetailDeviceDetail 设备详情对象, 详情查看 DeviceDetail

响应结果示例

{
    "code": 0,
    "data": {
        "deviceList": [
            {
                "deviceCompanyId": 1,
                "deviceName": "00123456789012348882",
                "deviceTypeId": 2,
                "floorId": 27,
                "homeId": 10,
                "id": 15,
                "name": "网关",
                "nickName": "卧室网关",
                "productKey": "testwangguan2",
                "roomId": 3,
                "state": 1
            },
            {
                "deviceCompanyId": 1,
                "deviceDetail": {
                    "deviceCompanyId": 1,
                    "deviceName": "mac66666666666",
                    "deviceTypeId": 2,
                    "hw": "2.1",
                    "id": 1,
                    "iotId": "3d91aa5a749667d6755db9187d638bc2",
                    "mac": "mac66666666666",
                    "productKey": "gateWay",
                    "relationId": 1,
                    "status": {
                        "items": [
                            {
                                "id": "position",
                                "name": "窗帘所处位置百分比",
                                "value": "50"
                            },
                            {
                                "id": "sw",
                                "name": "软件版本号",
                                "value": "1.0"
                            },
                            {
                                "id": "hw",
                                "name": "硬件版本号",
                                "value": "1.0"
                            },
                            {
                                "id": "mac",
                                "name": "设备MAC地址",
                                "value": "5254ab14a1df"
                            }
                        ],
                        "timerList": [
                            {
                                "num": 1,
                                "position": 50,
                                "repertFlag": true,
                                "uTCSec": 121291919,
                                "week": 123456
                            },
                            {
                                "num": 2,
                                "position": 50,
                                "repertFlag": true,
                                "uTCSec": 121291919,
                                "week": 123456
                            }
                        ]
                    },
                    "sw": "1.3",
                    "updateTime": "2020-10-28T16:16:43"
                },
                "deviceTypeId": 2,
                "floorId": 27,
                "homeId": 10,
                "id": 1,
                "productKey": "wangguan",
                "roomId": 3,
                "state": 1
            },
            {
                "deviceCompanyId": 1,
                "deviceDetail": {
                    "deviceCompanyId": 2,
                    "deviceName": "mac6qwerqwer",
                    "deviceTypeId": 3,
                    "hw": "2.1",
                    "id": 3,
                    "iotId": "3d91aa5a749667d6755db9187d638bc4",
                    "mac": "mac6qwerqwer",
                    "productKey": "SmartCurtain",
                    "relationId": 5,
                    "sw": "1.3",
                    "updateTime": "2020-10-28T16:16:43"
                },
                "deviceTypeId": 2,
                "floorId": 27,
                "homeId": 10,
                "id": 5,
                "productKey": "testwangguan2",
                "roomId": 3,
                "state": 1
            }
        ],
        "deviceNums": 3,
        "floorId": 27,
        "homeId": 10,
        "id": 3,
        "name": "修改成2号房间",
        "revision": 4,
        "state": 1,
        "type": 1
    },
    "msg": "成功"
}

角色相关

角色中设备权限列表

查询角色中分配设备权限信息

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id

请求示例

{
  "deviceType": "a1502",
  "encData": "bmviSbmQ37cV1VQyXEJVUBQJBYOn7FzGAnIgqe0bU6E=",
  "homeId": 3,
  "os": "ios",
  "reqTime": 1602925593254,
  "sign": "c57acd71b78a20b135e470fd2f3db5a7",
  "token": "3ac902610d0250cb6c1f6ad98ef7978b",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 设备id
iotIdIntegermqtt服务器分配的id
homeIdInteger 家庭id
floorIdInteger 楼层id
roomIdInteger 房间id
deviceCompanyIdInteger 设备厂商id
roodeviceTypeIdInteger 设备类型id
nameString 设备名
nickNameString 设备别名
swString 软件版本号
hwString 硬件版本号

响应结果示例

{
  "code": 0,
  "data": [
    {
      "deviceCompanyId": 1,
      "deviceTypeId": 1,
      "floorId": 34,
      "gatewayId": "-1",
      "homeId": 28,
      "hw": "hw1111111111",
      "id": 14,
      "iotId": "33",
      "mac": "00123456789012348881",
      "name": "网关",
      "nickName": "客厅网关",
      "roomId": 9,
      "sw": "sw111"
    },
    {
      "deviceCompanyId": 1,
      "deviceTypeId": 1,
      "floorId": 34,
      "gatewayId": "-1",
      "homeId": 28,
      "hw": "hw122222222222",
      "id": 15,
      "iotId": "44",
      "mac": "00123456789012348882",
      "name": "网关",
      "nickName": "卧室网关",
      "roomId": 9,
      "sw": "sw222"
    },
    {
      "deviceCompanyId": 1,
      "deviceTypeId": 1,
      "floorId": 34,
      "gatewayId": "-1",
      "homeId": 28,
      "hw": "hw133212",
      "id": 16,
      "iotId": "55",
      "mac": "00123456789012348883",
      "name": "网关",
      "nickName": "书房网关",
      "roomId": 9,
      "sw": "sw333"
    }
  ],
  "msg": "成功"
}

角色中情景权限列表

查询角色包含哪些情景权限

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id

请求示例

{
  "deviceType": "a1502",
  "encData": "bmviSbmQ37cV1VQyXEJVUBQJBYOn7FzGAnIgqe0bU6E=",
  "homeId": 3,
  "os": "ios",
  "reqTime": 1602928597954,
  "sign": "0c61c6d5e7724e6a11f4b5d98adabea2",
  "token": "75f4d1d70e18a82aacefb5ae452aefd1",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
nameString 情景名称
operateCountInteger 情景操作次数
coverUrlString 没有设置封面的用默认封面图

响应结果示例

{
  "code": 0,
  "data": [
    {
      "homeId": 28,
      "id": 4,
      "name": "创建情景2",
      "operateCount": 0
    },
    {
      "coverUrl": "coverUrl",
      "homeId": 28,
      "id": 5,
      "name": "777 修改情景-835854759",
      "operateCount": 0
    },
    {
      "coverUrl": "coverUrl",
      "homeId": 3,
      "id": 9,
      "name": "创建情景1067719559"
    }
  ],
  "msg": "成功"
}

角色成员查询

查询已经分配该角色的成员列表

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 角色id
homeIdInteger 家庭id

请求示例

{
  "deviceType": "a1502",
  "encData": "Bvu35nsmDGGBS9QZLqo0+Dce3c83Y7PUAG8g+iu4TzQ=",
  "homeId": 28,
  "os": "ios",
  "reqTime": 1602929597211,
  "sign": "bbd9955f0002766d76789118c5fb11d2",
  "token": "c40f96d0f0c67875650f9fd622a32fc0",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
nickNameString 用户昵称
genderInteger 1-男, 2女, 其他隐藏
picUrlString 头像地址

响应结果示例

{
  "code": 0,
  "data": {
    "gender": 1,
    "nickName": "nickname_2417017730005",
    "picUrl": "https://img2.woyaogexing.com/2020/03/01/63dba6d27b79483ea51f51c42c0604cd!400x400.jpeg"
  },
  "msg": "成功"
}

设备相关

设备类型

获取所有设备类型, 用于展示设备的具体属性(颜色, 系列号等), 根据device_id匹配

请求方式

请求参数

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

名称类型是否必填默认值描述
typeStringdeviceType固定传这个"deviceType"字符串

请求示例

{
  "deviceType": "a1502",
  "encData": "yOyK5CHEYc13UqZg0DASWqrU3ANCIlVwSnmpUPP3aLI=",
  "os": "ios",
  "reqTime": 1605253635630,
  "sign": "9432355750d145e4c5d99c5a3e6ac7b3",
  "token": "df4aa9c7869417ae49ded582c1143f63",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger typeId, 和 device 对象中的 device_type_id匹配
deviceCompanyIdInteger 厂商id
modelString 型号
seriesString 系列名
nameString 设备名
collorString 颜色
typeString 设备类型
subTypeString 设备二级分类

响应结果示例

{
  "code": 0,
  "data": [
    {
      "collor": "white",
      "deviceCompanyId": 1,
      "id": 1,
      "model": "A331",
      "name": "家庭网关mini",
      "series": "1",
      "subType": "GATEWAY_MINI",
      "type": "GATEWAY"
    },
    {
      "collor": "white",
      "deviceCompanyId": 1,
      "id": 2,
      "model": "A333",
      "name": "家庭网关mini 2代",
      "series": "1",
      "subType": "GATEWAY_MINI",
      "type": "GATEWAY"
    },
    {
      "collor": "white",
      "deviceCompanyId": 1,
      "id": 3,
      "model": "A231",
      "name": "家庭网关",
      "series": "1",
      "subType": "GATEWAY_NORMAL",
      "type": "GATEWAY"
    }
  ],
  "msg": "成功"
}

家庭网关列表

查询家庭网关列表

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id

请求示例

{
    "deviceType": "a1502",
    "encData": "VxiqTNsVs926RNS2d5h5ew==",
    "homeId": 10,
    "os": "ios",
    "reqTime": 1604465323709,
    "sign": "389d0d3844dd737bc32aa0808a4f5019",
    "token": "e3662b5892ec7ac37fcedcd1b432619c",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 设备关系id
deviceCompanyIdInteger 设备厂商id
deviceTypeIdInteger 设备类型id
homeIdInteger 家庭id
floorIdInteger 楼层id
roomeIdInteger 房间id
onlineboolean 网关是否在线
productKeyString 设备类型key
deviceNameString 设备标记(一般为mac地址)
stateInteger 1: 有效 详细参考<state状态汇总>

响应结果示例

{
  "code": 0,
  "data": [
    {
      "deviceCompanyId": 1,
      "deviceName": "0012345678901234888",
      "deviceTypeId": 2,
      "floorId": 27,
      "homeId": 18,
      "id": 8,
      "name": "家庭网关mini",
      "online": false,
      "productKey": "Gateway",
      "roomId": 3,
      "state": 1
    },
    {
      "deviceCompanyId": 1,
      "deviceName": "0012345678901234",
      "deviceTypeId": 2,
      "floorId": 27,
      "homeId": 18,
      "id": 11,
      "name": "家庭网关mini",
      "online": false,
      "productKey": "Gateway",
      "roomId": 3,
      "state": 1
    },
    {
      "deviceCompanyId": 1,
      "deviceName": "00124B00216B5A7D",
      "deviceTypeId": 1,
      "floorId": 34,
      "homeId": 18,
      "id": 14,
      "name": "家庭网关mini",
      "online": false,
      "productKey": "Gateway",
      "roomId": 34,
      "state": 1
    }
  ],
  "msg": "成功"
}

设备详情

查询设备详情

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 设备di
homeIdInteger 家庭id

请求示例

{
  "deviceType": "ios",
  "encData": "Til+5qcau9uYHlI3ljYrYOAvdGtoRhlB",
  "reqTime": 1597729033595,
  "sign": "8d113a62890757cc293d2e3c60948ae8",
  "token": "wangwang",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 设备id
iotIdIntegermqtt服务器分配的id
homeIdInteger 家庭id
floorIdInteger 楼层id
roomIdInteger 房间id
deviceCompanyIdInteger 设备厂商id
roodeviceTypeIdInteger 设备类型id
nameString 设备名
nickNameString 设备别名
swString 软件版本号
hwString 硬件版本号
productKeyString 设备所属类型(系列)key
deviceNameString 设备名字(身份标识)
statusString 设备当前状态(BaseDeviceStatusDto对象)
revisionInteger 数据版本号
stateInteger1数据状态, 1: 有效, -9: 已删除

响应结果示例

{
    "code": 0,
    "data": {
        "deviceCompanyId": 1,
        "deviceName": "mac66666666666",
        "deviceTypeId": 2,
        "hw": "2.1",
        "id": 1,
        "iotId": "3d91aa5a749667d6755db9187d638bc2",
        "mac": "mac66666666666",
        "productKey": "gateWay",
        "relationId": 1,
        "status": {
            "items": [
                {
                    "id": "position",
                    "name": "窗帘所处位置百分比",
                    "value": "50"
                },
                {
                    "id": "sw",
                    "name": "软件版本号",
                    "value": "1.0"
                },
                {
                    "id": "hw",
                    "name": "硬件版本号",
                    "value": "1.0"
                },
                {
                    "id": "mac",
                    "name": "设备MAC地址",
                    "value": "5254ab14a1df"
                }
            ],
            "timerList": [
                {
                    "num": 1,
                    "position": 50,
                    "repertFlag": true,
                    "uTCSec": 121291919,
                    "week": 123456
                },
                {
                    "num": 2,
                    "position": 50,
                    "repertFlag": true,
                    "uTCSec": 121291919,
                    "week": 123456
                }
            ]
        },
        "sw": "1.3",
        "updateTime": "2020-10-28T16:16:43"
    },
    "msg": "成功"
}

查询网关在线状态

查询网关是否在线

请求方式

请求参数

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

名称类型是否必填默认值描述
deviceNameString 设备唯一标识

请求示例

{
  "deviceType": "a1502",
  "encData": "ZTIt77BlEwx1RW5vn3jtp6Fw+xjkomlXbg2rbu6EmqJDPJHTs6f97E+CTIIEvqLL",
  "os": "ios",
  "reqTime": 1601186486152,
  "sign": "7f2e06da0fbb0bd37b6bea3c28babb12",
  "token": "ec76e52bb8040fba0891dccaec95b8ba",
  "uuid": "uuuid-1234-5678",
  "version": "v1.0"
}

响应参数

仅包含data中返回的内容

datatrue表示在线

datafalse表示在线

响应结果示例

## 在线
{"code":0,"data":true,"msg":"成功"}
## 不在线
{"code":0,"data":false,"msg":"成功"}

情景相关

情景列表

全家庭下所有可操作情景的列表(同家庭下不同权限用户这个列表中的元素可能不一样)

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
timeLong 上次访问服务端查询时返回的时间戳,如第一次访问则传0。不为0则只查询时间戳到当前时间的数据,为0则查询全部。

请求示例

{
    "deviceType": "ios",
    "encData": "Til+5qcau9u+UX4ah22/Sg==",
    "reqTime": 1598073288732,
    "sign": "9d12b887a938231343abc9d5f731343b",
    "token": "33fc7ee70cd8d997e3c1ee9f479fb557",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
resultListArray scene数据集合
    idInteger 情景id
    homeIdInteger 家庭id
    nameString 情景名称
    commandSetString 情景包含的操作指令集(json化的Instruction对象数组)
    operateCountInteger 操作次数
    revisionInteger 记录版本号
    stateInteger 记录状态 1:有效, -9: 无效
timeLong 时间戳

响应结果示例

{
    "code": 0,
    "data": {
        "resultList": [
            {
                "commandSet": [
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "false"
                            }
                        ],
                        "delay": 3000,
                        "deviceId": 14,
                        "deviceKey": "Gateway",
                        "order": 1
                    },
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "false"
                            }
                        ],
                        "delay": 0,
                        "deviceId": 14,
                        "deviceKey": "Gateway",
                        "order": 2
                    },
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "false"
                            }
                        ],
                        "delay": 2000,
                        "deviceId": 5,
                        "deviceKey": "SmartSwitch01",
                        "order": 3
                    },
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "false"
                            }
                        ],
                        "delay": 0,
                        "deviceId": 18,
                        "deviceKey": "SmartLightCWRGB01",
                        "order": 4
                    }
                ],
                "coverUrl": "http://static.zhhx.top:8088/2020/11/23/11/0048/1606100448955-1.gif",
                "homeId": 18,
                "id": 49,
                "name": "新的情景",
                "operateCount": 0,
                "revision": 4,
                "state": 1
            },
            {
                "commandSet": [
                    {
                        "actionKey": "setColor",
                        "commandList": [
                            {
                                "key": "light_c",
                                "value": "65"
                            },
                            {
                                "key": "light_w",
                                "value": "189"
                            },
                            {
                                "key": "light_brightness",
                                "value": "59"
                            }
                        ],
                        "delay": 2000,
                        "deviceId": 27,
                        "deviceKey": "SmartRelay01",
                        "order": 1
                    },
                    {
                        "actionKey": "setColor",
                        "commandList": [
                            {
                                "key": "light_brightness",
                                "value": "43"
                            }
                        ],
                        "delay": 5000,
                        "deviceId": 27,
                        "deviceKey": "SmartRelay01",
                        "order": 2
                    }
                ],
                "coverUrl": "http://static.zhhx.top:8088/2020/11/24/19/2440/1606217080880-14.gif",
                "homeId": 18,
                "id": 50,
                "name": "👅👅👅",
                "operateCount": 0,
                "revision": 43,
                "state": 1
            },
            {
                "commandSet": [
                    {
                        "actionKey": "setColor",
                        "commandList": [
                            {
                                "key": "light_c",
                                "value": "65"
                            },
                            {
                                "key": "light_w",
                                "value": "189"
                            },
                            {
                                "key": "light_brightness",
                                "value": "59"
                            }
                        ],
                        "delay": 2000,
                        "deviceId": 27,
                        "deviceKey": "SmartRelay01",
                        "order": 1
                    },
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "true"
                            }
                        ],
                        "delay": 5000,
                        "deviceId": 27,
                        "deviceKey": "SmartRelay01",
                        "order": 2
                    },
                    {
                        "actionKey": "onOff",
                        "commandList": [
                            {
                                "key": "onOff",
                                "value": "false"
                            }
                        ],
                        "delay": 7000,
                        "deviceId": 27,
                        "deviceKey": "SmartRelay01",
                        "order": 3
                    }
                ],
                "coverUrl": "http://static.zhhx.top:8088/2020/11/25/10/3018/1606271418019-1.gif",
                "homeId": 18,
                "id": 51,
                "name": "💩",
                "operateCount": 0,
                "revision": 1,
                "state": 1
            }
        ],
        "time": 1606289113388
    },
    "msg": "成功"
}F

情景详情

获取指定情景的详情

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "encData": "Til+5qcau9sIuGEVVdy4+rvnN9vzyGGQ",
    "reqTime": 1598084752817,
    "sign": "b693dec9bc1d3d19083a1d1e695a6d89",
    "token": "e1fba986c36a4dc7c705cbdc03d62834",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 情景id
homeIdInteger 家庭id
stateInteger 记录状态 1: 有效, -9: 无效
nameString 情景名称
commandSetString 情景包含的操作指令集(json化的Instruction对象数组)
operateCountInteger 情景操作次数
revisionInteger 记录版本号

响应结果示例

{
  "code": 0,
  "data": {
    "commandSet": "[{\"command\":\"{\\n      \\\"R\\\": 210,\\n      \\\"G\\\": 122,\\n      \\\"B\\\": 100,\\n      \\\"C\\\": 100,\\n      \\\"W\\\": 100,\\n      \\\"Brightness\\\": 100\\n    }\",\"delay\":500,\"deviceId\":\"执行设备\",\"order\":1},{\"command\":\"{\\n      \\\"R\\\": 210,\\n      \\\"G\\\": 122,\\n      \\\"B\\\": 100,\\n      \\\"C\\\": 100,\\n      \\\"W\\\": 100,\\n      \\\"Brightness\\\": 100\\n    }\",\"delay\":500,\"deviceId\":\"执行设备\",\"order\":1}]",
    "homeId": 28,
    "id": 4,
    "name": "创建情景2",
    "operateCount": 0,
    "revision": 1,
    "state": 1
  },
  "msg": "成功"
}

智能化片段

智能化片段列表

查询家庭下所有智能化片段

请求方式

请求参数

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

名称类型是否必填默认值描述
homeIdInteger 家庭id
timeLong 上次访问服务端查询时返回的时间戳,如第一次访问则传0。不为0则只查询时间戳到当前时间的数据,为0则查询全部。

请求示例

{
    "deviceType": "ios",
    "encData": "Til+5qcau9u+UX4ah22/Sg==",
    "reqTime": 1598247555437,
    "sign": "933d37390cbe270e592323217569ae01",
    "token": "ddbe9cdef8809c7f56a1abe362d63e31",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
resultListArray snippet数据集合
    idInteger 智能化片段id
    homeIdInteger 家庭id
    nameString 智能化片段名称
    revisionInteger 数据版本号
    commandSetList 智能化片段内容
    stateInteger 记录状态 1: 有效
timeLong 时间戳

响应结果示例

{
    "code": 0,
    "data": {
        "resultList": [
            {
                "commandSet": [
                    {
                        "delay": 5000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 6000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 5000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 500,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 4000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 4000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 2000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 0,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    }
                ],
                "homeId": 19,
                "id": 1,
                "name": "尼玛的头",
                "revision": 11,
                "state": 1
            },
            {
                "commandSet": [
                    {
                        "delay": 2000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    }
                ],
                "homeId": 19,
                "id": 2,
                "name": "测试智能片段",
                "revision": 4,
                "state": 1
            },
            {
                "commandSet": [
                    {
                        "delay": 6000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 2000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    },
                    {
                        "delay": 5000,
                        "deviceId": "12341234",
                        "command": "{\"Brightness\":100}",
                        "order": 1
                    }
                ],
                "homeId": 19,
                "id": 4,
                "name": "擦擦擦擦擦",
                "revision": 8,
                "state": 1
            }
        ],
        "time": 1606290606665
    },
    "msg": "成功"
}

智能化片段详情

查询指定

请求方式

请求参数

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

名称类型是否必填默认值描述
idInteger 智能化片段id
homeIdInteger 家庭id

请求示例

{
    "deviceType": "ios",
    "encData": "Til+5qcau9sIuGEVVdy4+lfGH29qbuq2",
    "reqTime": 1598258899545,
    "sign": "fcbdedd0ef84c7e1c819bd79ee5343bc",
    "token": "79fe3c4184fe0a2762e9da88a1150502",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idInteger 智能化片段id
homeIdInteger 家庭id
nameString 智能化片段名称
revisionInteger 数据版本号
stateInteger 记录状态
commandSetList 智能化片段内容

响应结果示例

{
    "code": 0,
    "data": {
        "commandSet": [
            {
                "command": "{\n      \"R\": 210,\n      \"G\": 122,\n      \"B\": 100,\n      \"C\": 100,\n      \"W\": 100,\n      \"Brightness\": 100\n    }",
                "delay": 500,
                "deviceId": "12341234",
                "order": 1
            },
            {
                "command": "{\n      \"R\": 210,\n      \"G\": 122,\n      \"B\": 100,\n      \"C\": 100,\n      \"W\": 100,\n      \"Brightness\": 100\n    }",
                "delay": 500,
                "deviceId": "222222",
                "order": 1
            }
        ],
        "homeId": 28,
        "id": 10,
        "name": "创建智能化片段800827186",
        "revision": 1,
        "state": 1
    },
    "msg": "成功"
}

日志相关

查询日志

查询家庭管理维度的日志信息

日志type

代号对应日志
100编辑日志
200操作日志
300自动化日志
400设备上报日志

日志subType

代号对应日志
101编辑家庭管理日志
102楼层管理日志
103房间管理日志
104设备管理日志
105智能化片段管理日志
106情景管理日志
107成员管理日志
108角色编辑日志
201情景操作日志
202设备操作日志
301自动化日志
401设备状态变更日志

请求方式

请求参数

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

名称类型是否必填默认值描述
typeInteger 对应<日志type>
subTypeInteger 对应<日志subType>
startTimeLong默认一个月内查询开始时间
endTimeLong 查询结束时间
personIdString 需要查询的用户标识(非当前用户id)
homeIdInteger 家庭id
floorIdInteger 楼层id
roomIdInteger 房间id
deviceIdInteger 设备id
snippetIdInteger 智能化片段id
sceneIdInteger 情景id
pageNoInteger1开始页码
pageSizeInteger10分页大小
sortsList 排序方式
ItemSort.sortFieldString 排序用的字段
ItemSort.sortOrderString 排序方式("asc", "desc")

请求示例

{
    "deviceType": "a1502",
    "encData": "6RdT6iR2Jg1HoAnHjYxDwRjlBr6mTSXGaJYXBXZWrCc=",
    "homeId": 28,
    "os": "ios",
    "reqTime": 1604398960394,
    "sign": "db13c27db9d609461ad1cac8ad3eb13f",
    "token": "6efff0b8e4918d86b02ac2fa2c97b90d",
    "uuid": "uuuid-1234-5678",
    "version": "v1.0"
}

响应参数

仅包含data中返回的内容

名称类型是否必填默认值描述
idString 日志的id
nameLong 日志简称
typeInteger 日志简称
subTypeInteger 对应<日志subType>
messageString 日志文本信息
createTimeDate 日志创建时间
homeIdInteger 家庭id
floorIdInteger 楼层id
roomIdInteger 房间id
deviceIdInteger 设备id
snippetIdInteger 智能化片段id
sceneIdInteger 情景id

响应结果示例

{
    "code": 0,
    "data": [
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 102,
            "message": "昵称已改变 创建新楼层(负一楼)",
            "personId": "test1",
            "homeId": 28,
            "floorId": 64,
            "id": "5f8ad45b1903633c7665389f",
            "createTime": "2020-10-17T19:24:11.184"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 102,
            "message": "昵称已改变 创建新楼层(负一楼)",
            "personId": "test1",
            "homeId": 28,
            "floorId": 63,
            "id": "5f8ad4061903633c7665389e",
            "createTime": "2020-10-17T19:22:46.496"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 102,
            "message": "昵称已改变 创建新楼层(负一楼)",
            "personId": "test1",
            "homeId": 28,
            "floorId": 62,
            "id": "5f8ad3651903633c7665389d",
            "createTime": "2020-10-17T19:20:05.144"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 108,
            "message": "昵称已改变 删除角色(普通用户)",
            "personId": "test1",
            "homeId": 28,
            "id": "5f8aa67d1903633c7665389c",
            "createTime": "2020-10-17T16:08:29.868"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 108,
            "message": "昵称已改变 创建新角色(普通用户)",
            "personId": "test1",
            "homeId": 28,
            "id": "5f8aa4741903633c7665389b",
            "createTime": "2020-10-17T15:59:48.213"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 108,
            "message": "昵称已改变 创建新角色(普通用户)",
            "personId": "test1",
            "homeId": 28,
            "id": "5f8aa05d1903633c7665389a",
            "createTime": "2020-10-17T15:42:21.277"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 103,
            "message": "昵称已改变 修改情景(777 修改情景-835854759)信息",
            "personId": "test1",
            "homeId": 28,
            "sceneId": 5,
            "id": "5f89a41f1903633c76653899",
            "createTime": "2020-10-16T21:46:07.354"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 103,
            "message": "昵称已改变 修改情景(111 修改情景2028638108)信息",
            "personId": "test1",
            "homeId": 28,
            "sceneId": 5,
            "id": "5f89a3c11903633c76653898",
            "createTime": "2020-10-16T21:44:33.794"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 103,
            "message": "昵称已改变 修改情景(111 修改情景1992986700)信息",
            "personId": "test1",
            "homeId": 28,
            "sceneId": 5,
            "id": "5f897f0c1903633c76653897",
            "createTime": "2020-10-16T19:07:56.476"
        },
        {
            "name": "昵称已改变",
            "type": 100,
            "subType": 103,
            "message": "昵称已改变 修改情景(2222修改情景2050017706)信息",
            "personId": "test1",
            "homeId": 28,
            "sceneId": 5,
            "id": "5f897ec21903633c76653896",
            "createTime": "2020-10-16T19:06:42.065"
        }
    ],
    "msg": "成功"
}

mqtt接口

设备类

设备详情

当设备状态变动通过mqtt实时通知app

app将对应的设备状态改动 (感知比较强的是开关状态)

topic

/S/A/{personId}/device/detail

参数

DeviceDetail 对象

名称类型是否必填默认值描述
idInteger 设备详情id
relationIdInteger 设备关联id
deviceCompanyIdInteger 设备厂商id
deviceTypeIdInteger 设备类型id
iotIdString mqtt分配的id
swString 软件版本号
hwString 硬件版本号
macString mac地址
productKeyString 设备所属类型(系列)key
deviceNameString 设备名字(身份标识)
statusBaseDeviceStatusDto 设备当前状态(BaseDeviceStatusDto对象)
updateTimeString 记录更新时间

参数示例

{
  	"id": 6,  
  	"deviceName": "deviceName1234",
    "iotId": "",
    "productKey": "SmartLightCW01",
    "status": {
        "companyCode": "guogu",
        "deviceName": "deviceName1234",
        "iotId": "4z819VQHk6VSLmmBJfrf00107e****",
        "items": [
            {
                "id": "light_c",
                "name": "黄色数值",
                "value": "100"
            },
            {
                "id": "light_w",
                "name": "白色数值",
                "value": "100"
            },
            {
                "id": "sw",
                "name": "软件版本号",
                "value": "1.0"
            },
            {
                "id": "mac",
                "name": "设备MAC地址",
                "value": "5254ab14a1df"
            },
            {
                "id": "hw",
                "name": "硬件版本号",
                "value": "1.0"
            }
        ],
        "productKey": "SmartLightCW01",
        "reportTime": "2017-11-16T10:34:30.074",
        "updateTime": "2020-11-30T17:27:47.784085000"
    },
    "updateTime": "2020-11-30T17:33:47.183931000"
}


标题:文档测试
作者:TWanGT
地址:http://twangt.wang/articles/2020/09/05/1599295170945.html

Responses