定制功能
房间功能
新增房间需要指定房间所属家庭(必填),房间名称(必填),图片(选填)。
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 房间所属指定家庭下 | 是 |
roomName | String | 房间名称 | 是 | |
roomImage | File | 房间图片 | 否 | |
callback | ISDKCallback | 回调函数 | 是 |
新增房间分为两个接口,一个需要传入房间图片,另一个不需要传入房间图片。不传入图片图片时返回url路径为空。
例子:
IotCloudSDK.getRoomManager().addRoom(fId, roomName, roomImage, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
删除房间信息
删除指定房间信息
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
roomId | int | 房间id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getRoomManager().delRoom(roomId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
设备更换房间
将设备更换到指定房间
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
device | CloudDevice | 设备实体对象 | 是 | |
roomId | int | 房间Id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getRoomManager().setDeviceToRoom(cloudDevice, roomId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取房间列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getRoomManager().getRoomList(new Icallback<List<Room>>() {
@Override
public void onSuccess(List<Room> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 返回success或者需求数据 | 是 |
result列表参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
id | int | 房间id | 是 | |
pid | int | 用户id | 是 | |
name | String | 房间名 | 是 | |
roomType | String | 房间类型 | 已失效 | 否 |
roomFloor | String | 房间楼层 | 已失效 | 否 |
roomImage | String | 房间图片 | 图片的URL地址 | 是 |
fId | int | 家庭id | 是 | |
isDefault | int | 默认房间 | 0普通房间,1默认房间 | 是 |
修改房间信息
修改房间的名称(必填),修改房间的图片(选填)。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
rId | int | 房间id | 是 | |
roomName | String | 房间名称 | 是 | |
roomImage | File | 房间图片 | 否 | |
callback | ISDKCallback | 回调函数 | 是 |
修改房间分为两个接口,一个需要传入房间图片,另一个不需要传入房间图片。
例子:
IotCloudSDK.getRoomManager().modifyRoom(rId, roomName, roomIcon, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取房间内列表
获取指定房间下的设备列表信息
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
rId | int | 房间id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getRoomManager().getDeviceList(rId, new Icallback<List<CloudDevice>>() {
@Override
public void onSuccess(List<CloudDevice> cloudDevices) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 返回success或者需求数据 | 是 |
result列表参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
iotId | String | 设备的iot_id | getIotId()获取 | 是 |
iotToken | String | 设备的token | getIotToken()获取 | 是 |
deviceMac | String | 设备的mac | 是 | |
displayName | String | 设备的显示名称 | 是 | |
online | boolean | 设备是否在线 | 是 | |
productId | Int | 产品id | 是 | |
flag | Int | 设备是否是分享 设备 |
0表示不是分享设备, 1表示该设备是分享设备 |
是 |
shared | String | 分享者姓名或者 手机号 |
flag为0,该字段为空,flag为1, 该字段为分享者姓名或者手机号 |
是 |
fUserId | Int | 分享者的用户id | 是 | |
module Version |
String | 当前设备固件 版本号 |
是 | |
subIotId | String | 子设备的id | 通过getSubIotId()获取,当前设备 如果是子设备,本字段就会有值, 可以通过 isSubDevice()判断当前 CloudDevice是否是子设备 |
否 |
subsetId | String | 子设备的用户 协商id |
通过getSubsetId()获取,由网关 设备等上传,用户需要与设备端 开发人员协商 |
否 |
subsetName | String | 子设备的用户协 商名称 |
通过getSubsetName()获取, 由网关设备等上传,用户需要与 设备端开发人员协商 |
否 |
subsetType | String | 子设备的用户 协商类型 |
通过getSubsetType()获取, 由网关设备等上传,用户需要 与设备端开发人员协商 |
否 |
家庭功能
新增家庭信息
新增家庭需要添加家庭(必填),家庭图片(选填)。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
familyName | String | 家庭名称 | 是 | |
familyImage | File | 家庭图片 | 否 | |
callback | ISDKCallback | 回调函数 | 是 |
新增家庭分为两个接口,一个需要传入家庭图片,另一个不需要传入家庭图片。不传入图片图片时返回url路径为空。
例子:
IotCloudSDK.getFamilyManager().addFamily(familyName,familyImage,new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
删除家庭信息
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().delFamily(familyId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
修改家庭信息
修改家庭的名称(必填),修改房间的图片(选填)。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
familyName | String | 家庭名称 | 是 | |
familyImage | File | 家庭图片 | 否 | |
callback | ISDKCallback | 回调函数 | 是 |
修改家庭分为两个接口,一个需要传入家庭图片,另一个不需要传入家庭图片。
例子:
IotCloudSDK.getFamilyManager().modifyFamily(familyId, familyName, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取家庭列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getFamilyList(new Icallback<List<Family>>() {
@Override
public void onSuccess(List<Family> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 返回success或者需求数据 | 是 |
result列表参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
familyName | String | 家庭名称 | 是 | |
familyImage | String | 家庭图片 | 图片地址URL | 否 |
flag | int | 家庭类型 | 0普通家庭,1默认家庭。默认家庭不能删除 | 是 |
isDefault | int | 是否是默认家庭 | 0普通家庭,1默认家庭,默认家庭不能删除 | 是 |
fUserId | int | 分享者用户的id | 如果是自己的家庭这个字段为0 | 是 |
设置房间到某个家庭
将指定房间设置到指定家庭下
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
rId | int | 房间id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().setRoomToFamily(familyId, roomId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取家庭下的房间
获取指定家庭下的房间
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getRoomListByFamily(familyId new Icallback<List<Room>>() {
@Override
public void onSuccess(List<Room> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 返回success或者需求数据 | 是 |
result列表参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
id | int | 房间id | 是 | |
pid | int | 用户id | 是 | |
name | String | 房间名 | 是 | |
roomType | String | 房间类型 | 已失效 | 否 |
roomFloor | String | 房间楼层 | 已失效 | 否 |
roomImage | String | 房间图片 | 图片的URL地址 | 是 |
fId | int | 家庭id | 是 | |
isDefault | int | 默认房间 | 0普通房间,1默认房间 | 是 |
添加家庭分享
将指定家庭通过手机号分享给指定用户
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
phoneNumber | String | 手机号 | 对方用户的手机号 | 是 |
fId | int | 家庭id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().addShare(phoneNumber, fId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
添加家庭分享通过邮箱地址
将指定家庭通过邮箱分享给指定用户
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
String | 邮箱地址 | 对方用户的邮箱地址 | 是 | |
fId | int | 家庭id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().addShareByEmail(email, fId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
取消家庭分享
取消对指定用户已分享的家庭
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
tUserId | int | 家庭所属用户id | 是 | |
info | ShareStautsInfo | 分享状态 | 通过getFamilyShareInfo获取的 FamilyShareInfo的statusInfo原样传入即可 |
是 |
fId | int | 家庭id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().cancelShare(userId, shareStatusInfo, familyId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
单个家庭分享状况
查询指定家庭的分享状态
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fId | int | 家庭id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getFamilyShareInfo(fId,
new ICallback<List<FamilyShareInfo>>() {
@Override
public void onSuccess(List<FamilyShareInfo> familyShareInfos) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 返回success或者需求数据 | 是 |
result列表参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
statusInfo | ShareStatusInfo | 分享状体信息 | 是 | |
headImage | String | 被分享者头像URL | 是 | |
tid | int | 被分享用户id | 是 | |
time | long | 时间戳 | 是 | |
sharedUserName | String | 分享这名称 | 昵称或手机号 | 是 |
被分享者接受家庭分享
查询指定家庭的分享状态
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
msgId | int | 消息id | 从消息中心的消息获取,当时待接收设备的消息 的时候就可以通过被分享者调用此接口 |
是 |
callback | ICallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().acceptShare(msgId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
被分享者删除分享家庭
查询指定家庭的分享状态
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
fUserId | int | 分享方的用户id | 是 | |
fId | int | 家庭id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().delShareFamily(fUserId, fId,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
创建家庭场景规则
家庭场景属于家庭下,普通场景属于用户下。用户下的场景包括家庭场景和普通场景。
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 | |
---|---|---|---|---|---|
ICallback |
Funtion | 回调函数 | 是 | ||
ruleName | String | 场景名称 | 是 | ||
ruleType | int | 规则类型 | 1.手动执行 2.定时执行 3.触发器执行 |
是 | |
condoper | Int | 条件间的关系 | ruleType为1、2时,值0; ruleType为3时,值1表示 &操作 值2表示\ |
操作 | 是 |
family_id | Int | 家庭Id | 为0则表示普通场景 | 是 | |
frequencyFlag | RuleFrequencyFlag | 场景触发规则 | RULE_DEF_FLAG,//0 默认 RULE_NOT_JUDGE,// 1 RULE_JUDGE//2 |
RuleFrequencyFlag参数说明:
RULE_DEF_FLAG,//0 默认
RULE_NOT_JUDGE,// 1
RULE_JUDGE//2
1 手动执行 0 场景不可连续触发,处于该场景(未切换),不可再次触发场景
1 场景可连续触发,处于该场景,可再触发场景
2 定时执行 0 场景不可连续触发,处于当前定时场景时,时间到了不触发
1 场景可连续触发,处于当前定时场景时,时间到了可以再触发
3 触发执行 0 场景不可连续触发,处于当前场景时,不再触发
1 场景可连续触发,不判断规则真值改变,上报真就触发
2 场景可连续触发,判断规则真值改变,连续为真只触发第一次
当ruleType为手动执行和定时执行时 RuleFrequencyFlag传入RULE_JUDGE将会传入默认值(RULE_DEF_FLAG),创建后不可修改此字段
例子:
IotCloudSDK.getFamilyManager().createFamilySceneRule(sceneRule,frequencyFlag, familyId, new ICallback<SceneRule>() {
@Override
public void onSuccess(SceneRule sceneRule) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
创建时构建sceneRule对象,其中4个请求参数不能为空。
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | SceneRule | 返回成功信息 | 创建成功返回当前场景 | 是 |
获取某家庭下场景触发记录
获取当前家庭下的场景出发记录(场景家庭执行记录只包括家庭,用户下场景执行记录都包括)
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
count | Int | 请求记录条数 | 是 | |
familyId | int | 家庭Id | 是 | |
callback | Funtion | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getFamilySceneRecordList(20, familyId, new ICallback<List<SceneRecord>>() {
@Override
public void onSuccess(List<SceneRecord> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List |
返回成功信息 | 执行记录集合 | 是 |
result的说明:
如果要获取记录的详情,即是触发了哪些动作的执行,可以使用前面介绍的通过规则id获取规则详情的接口
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
ruleId | int | 场景的规则id | 是 | |
datetime | String | 时间 | 年-月-日 时:分:秒 | 是 |
name | String | 场景的规则的名字 | 是 |
获取某家庭下场景列表
请求参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
FamilyId | Int | 家庭Id | 是 | |
callback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getFamilySceneRuleList(familyId,new ICallback<List<SceneRule>>() {
@Override
public void onSuccess(List<SceneRule> sceneRules) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List< SceneRule> | 返回成功信息 | 场景集合 | 是 |
获取家庭下可用于配置动作指向场景规则开关的信息列表
只有触发器场景可作为动作,改变开关
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
rule | SceneRule | 回调函数 | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getFamilyManager().getFamilySceneStatusActionList(rule,new ICallback<List<SceneCondToRule>>() {
@Override
public void onSuccess(List<SceneCondToRule> sceneCondToRules) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | List< SceneCondToRule > | 返回成功信息 | 可作为动作配置开关的场景 | 是 |
分组功能
新增分组
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupName | String | 分组名称 | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getGroupManager().addGroup(groupName, new Icallback<Group>() {
@Override
public void onSuccess(Group result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result | Group | 分组信息 | 是 |
result参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
id | int | 分组id | 是 | |
pid | int | 用户id | 是 | |
name | String | 分组名称 | 是 |
删除分组
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupId | int | 分组id | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getGroupManager().delGroup(groupId, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
修改分组名称
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupId | int | 分组id | 是 | |
groupName | String | 分组名称 | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getGroupManager().modifyGroupName(groupId, groupName,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取分组列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getGroupManager().getGroupList(new Icallback<List<Group>>() {
@Override
public void onSuccess(List<Group> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result参数
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
id | int | 分组id | 是 | |
pid | int | 用户id | 是 | |
name | String | 分组名称 | 是 |
设置设备到分组列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupList | List |
设备分组配置 | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
DevGroupInfo devGroupInfo = new DevGroupInfo(int groupId, CloudDevice device);
groupId 分组id
device 设备
如果要取消设备的分组,则groupId传0即可
例子:
IotCloudSDK.getGroupManager().setDeviceToGroup(groupList, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
告警通知功能
告警通知是设备功能点上报的数据满足范围条件后进行推送通知,可以作为设备的异常数据报警。通过极光推送或者微信通知的形式告知用户。
新增通知规则
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
cloudDevice | CloudDevice | 设备 | 是 | |
noticeRule | NoticeRule | 通知规则 | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
NoticeRule noticeRule = new NoticeRule(String dpKey, String title, String content, String dpName, String condition, oolean isOpen, int noticeTypeFlag, int noticeUserFlag, String wxOauthId, String wxTempletId, int saveTime, int intervalTime);
dpKey 设备功能点变量名
title 收到通知的标题
content 收到通知的内容
content可以填入下列模板变量,可以自由搭配
{$dpname} 值为 功能点名称
{$dname} 值为 设备名
{$dmac} 值为 设备mac
{$value} 值为 当前触发告警的值
{$svalue} 值为 预设阀值
dpName 用户填入,可以填入key的中文说明
condition 可以填入key + 符号 + value
符号可以是 >、<、=、!=、>=、<=
isOpen 规则是否打开
noticeTypeFlag
1极光通知
2 微信通知
3 极光+微信通知
noticeUserFlag
通知到的用户类型
1 绑定者可接受 2分享者可接受 3 绑定者+分享者都可接受
wxOauthId微信公众号的Appid 通知类型包含微信的时候该字段不能为空,通知微信的公众号id需要到云平台配置
wxTempletId 微信通知的模板id通知类型包含微信的时候该字段不为空,微信的模板id需要到微信公众号平台配置
saveTime默认是一天(86400秒),极光推送有效,极光那边保存消息时间
intervalTime极光、微信都有用,表示间隔多少时间内消息触发。单位为秒,默认3600秒也就是一小时(值小于等于0则为默认值)
例子:
IotCloudSDK.getNoticeManager().addNoticeRule(cloudDevice, noticeRule,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
更新通知规则
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
cloudDevice | CloudDevice | 设备 | 是 | |
noticeRule | NoticeRule | 通知规则 | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
首先传入的noticeRule需要从获取通知规则列表获取(即包含id字段)
可修改的参数如下,所有字段都是public的,可直接修改,然后调用接口更新
dpKey 设备功能点变量名
title 收到通知的标题
content 收到通知的内容
content可以填入下列模板变量,可以自由搭配
{$dpname} 值为 功能点名称
{$dname} 值为 设备名
{$dmac} 值为 设备mac
{$value} 值为 当前触发告警的值
{$svalue} 值为 预设阀值
dpName 用户填入,可以填入key的中文说明
condition 可以填入key + 符号 + value
符号可以是 >、<、=、!=、>=、<=
isOpen 规则是否打开
noticeTypeFlag
1极光通知
2 微信通知
3 极光+微信通知
noticeUserFlag
通知到的用户类型
1 绑定者可接受 2分享者可接受 3 绑定者+分享者都可接受
wxOauthId微信公众号的Appid 通知类型包含微信的时候该字段不能为空,通知微信的公众号id需要到云平台配置
wxTempletId 微信通知的模板id通知类型包含微信的时候该字段不为空,微信的模板id需要到微信公众号平台配置
saveTime默认是一天(86400秒),极光推送有效,极光那边保存消息时间
intervalTime极光、微信都有用,表示间隔多少时间内消息触发。单位为秒,默认3600秒也就是一小时(值小于等于0则为默认值)
iotId 表示设备的iotId,该字段无需修改
例子:
IotCloudSDK.getNoticeManager().updateNoticeRule(cloudDevice, noticeRule,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
通知规则
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
noticeRule | NoticeRule | 通知规则 | 是 | |
callback | ISDKCallback | 回调函数 | 是 |
例子:
IotCloudSDK.getNoticeManager().delNoticeRule(noticeRule,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
获取通知规则列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
noticeType | int | 通知规则类型 | 通知规则的类型 1返回推送的列表, 2微信规则的列表, 3推送和微信的规则列表总和 |
是 |
cloudDevice | CloudDevice | 设备 | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getNoticeManager().getNoticeRuleList(noticeType, cloudDevice,
new Icallback<List<NoticeRule>>() {
@Override
public void onSuccess(List<NoticeRule> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result参数说明
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
id | long | 规则id | 是 | |
condition | String | 条件 | key+符号+value | 是 |
title | String | 通知标题 | 是 | |
content | String | 通知的内容 | 是 | |
dpKey | String | 设备功能点的变量名 | 是 | |
dpName | String | 用于回显的变量名的说明文字 | 是 | |
status | int | 规则状态 | 0开启中,1关闭 | 是 |
productId | int | 设备产品id | 是 | |
iotId | String | 设备的iotId | 是 | |
createTime | long | 规则创建的时间戳 | 13位,精确到毫秒 | 是 |
saveTime | Int | 极光推送保存时间 | 默认是一天(86400), 极光推送有效,极光那 边保存消息时间 |
|
intervalTime | Int | 触发时间间隔 | intervalTime极光、微信 都有用,表示间隔多少时 间内消息触发。单位为秒, 默认3600秒也就是一小时 (值小于等于0则为默认值) |
获取微信通知模板信息
模板需要先在微信公众号上配置才可以获取到。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
wxAppId | String | 微信通知模板id | 是 | |
callback | Icallback | 回调函数 | 是 |
例子:
IotCloudSDK.getDataManager().getWXMuBanInfoList(wxAppId,
new Icallback<List<WXMuBanInfo>>() {
@Override
public void onSuccess(List<WXMuBanInfo> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result参数说明
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
title | String | 通知标题 | 是 | |
content | String | 通知内容 | 是 | |
title | String | 通知标题 | 是 | |
template_id | String | 模板id | 是 |
获取通知消息列表
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
startTime | TimeData | 开始时间 | 是 | |
endTime | TimeData | 结束时间 | ||
callback | ICallback | 回调函数 | 是 |
例子:
// 年、月、日、时、分、秒
TimeData startTime = new TimeData(2019, 1, 1, 0, 0, 0);
TimeData startTime = new TimeData(2019, 1, 30, 0, 0, 0);
IotCloudSDK.getDataManager().getNoticeMessageList(startTime,endTime,
new ICallback<List<NoticeMessage>>
() {
@Override
public void onSuccess(List<NoticeMessage> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});
返回参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
errorMessage | ErrorMessage | 错误码 | 参照错误码 | 是 |
result参数说明
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
title | String | 通知标题 | 是 | |
content | String | 通知内容 | 是 | |
createTime | long | 通知时间 | 13位毫秒时间戳 | 是 |