Skip to content

设备管理

功能概述

设备管理主要提供包含设备列表、设备信息、设备配置相关等操作。

在设备管理类中您将频繁使用到QuecDeviceModel类,关于属性的定义如下

QuecDeviceModel属性定义

字段类型描述
accessTypeString0-直连设备 1-网关设备 2-网关子设备
activeTimeString激活时间
activeTimeTslong激活时间戳
authKeyString授权key
deviceBindTimeString设备绑定时间
deviceBindTimeTslong设备绑定时间戳
deviceCreateTimeString设备创建时间
deviceKeyString设备key
deviceNameString设备名称
deviceStatusString云端设备状态:离线 在线
onlineStatusint云端设备状态:0-离线 1-在线
deviceTypeint设备类型:1 自有设备、 2 分享来的设备
invaildTimeString失效时间
invaildTimeTslong失效时间戳
lastConnTimeString最后上线时间
lastConnTimeTsString最后上线时间戳
locateTypeString支持的定位内容
ownerUidString分享人用户ID,来自谁的分享
phoneString已绑定用户手机号
productKeyString产品key
productNameString产品名称
protocolString接入协议
uidString已绑定用户ID
userNameString已绑定用户昵称
verifiedString设备绑定是否认证:0 未认证 1 已认证
signalStrengthString信号强度
statusint绑定状态:1 正常 2 失效
lastOfflineTimeString离线时间
lastOfflineTimeTslong离线时间戳
btPwdStringbtPwd
bindTypeString绑定类型:1 SN绑定 2 wifi绑定 3 PKDK绑定 4 蓝牙绑定
authCodeString授权authCode
logoImageString产品logo
snStringsn
productIconString产品图片
upgradeStatusint设备OTA状态:0-未升级,1-升级中,2-升级成功,3-升级失败
userConfirmStatusint设备OTA用户确认状态
planIdlong计划id
capabilitiesBitmaskint设备通道能力mask
bindModeint绑定模式: 1 多绑模式 2 单绑模式 3 轮流模式
deviceIdString设备唯一标识,pk 和 dk共同决定
onlineChannelStateint通道在离线状态,包含近场、ws
connectingChannelStateint通道连接中状态
isNativeint是否是移远设备,0-未知 1-移远
isMatterint是否是matter设备,0-否 1-是
networkTypeString网络类型:1-wifi 2-蜂窝 3-NB 5-蓝牙
matterInfoQuecDeviceMatterMetamatter 元数据
firstItemCodeString一级品类code
firstItemNameString一级品类名称
secondItemCodeString二级品类code
secondItemNameString二级品类名称
lowPowerProductboolean是否为低功耗产品
lowPowerStatusboolean低功耗开关状态
lowPowerCacheint低功耗缓存时长,单位为秒
isCommonUsedboolean是否常用
fidString家庭id
fridString房间id
roomNameString房间名称
shareCodeString分享码
isSharedboolean是否来自分享
gdidString群组id
isGroupDeviceboolean是否群组设备
groupDeviceDeviceNumint群组包含的设备数量
dpsNSDictionarydps数据
bindingCodeStringbindingCode
btLastUseTimelong蓝牙最近使用时间(毫秒时间戳)
lowPowerAliveint低功耗心跳周期(分)
aiCapabilityStatusboolean是否支持Ai能力

设备管理

获取设备列表

接口说明

用于获取设备列表,需要先调用绑定接口关联设备和用户关系

kotlin
fun getDeviceList(params: QuecDeviceListParamsModel, callback: QuecCallback<QuecPageResponse<QuecDeviceModel>>)

参数说明

参数是否必传说明
paramsQuecDeviceListParamsModel类
callback请求回调

QuecDeviceListParamsModel属性定义

字段类型描述
pageNumberint页码 (必填)
pageSizeint页大小 (必填)
isAssociationboolean设备关联管理参数(非必填)
secondItemCodeString二级品类参数(非必填)
pkListStringpk列表,多个使用英文逗号分隔 (非必填)
deviceNameString设备名称-用于设备名称搜索(非必填)

返回值类QuecDeviceModel属性定义已在文档开头注释

示例代码

kotlin
QuecDeviceService.getDeviceList(QuecDeviceListParamsModel(1, 10, true, null, null, null)) {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

设备重命名

接口说明

用于修改设备名称

kotlin
fun updateDeviceName(
    deviceName: String,
    productKey: String,
    deviceKey: String,
    callback: QuecCallback<Unit>
)

参数说明

参数是否必传说明
deviceName设备名称
productKey产品pk
deviceKey产品dk
callback请求回调

示例代码

kotlin
QuecDeviceService.updateDeviceName("newName", "pk", "dk") {
    if (it.isSuccess) {
        //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

设备详情

接口说明

获取设备详情

kotlin
fun getDeviceInfoByDeviceKey(
    deviceKey: String,
    productKey: String,
    callback: QuecCallback<QuecDeviceModel>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey产品dk
callback请求回调

返回值类QuecDeviceModel属性定义已在文档开头注释

示例代码

kotlin
QuecDeviceService.getDeviceInfoByDeviceKey("dk", "pk") {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

设备物模型及业务属性值

接口说明

获取设备物模型及业务属性值

kotlin
fun getProductTslAndDeviceBusinessAttributes(
    productKey: String,
    deviceKey: String,
    gatewayPk: String?,
    gatewayDk: String?,
    codeList: String?,
    type: String?,
    callback: IDeviceTSLModelCallback
)

IDeviceTSLModelCallback接口定义

kotlin
public interface IDeviceTSLModelCallback {
    void onResultCallback(List<QuecProductTSLPropertyModel<?>> list);
    void onFail(Throwable throwable);
}

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
gatewayPk网关设备的 Product Key
gatewayDk网关设备的 Device Key
codeList查询的属性标识符 和查询类型配合使用,如果查询多个属性,使用英文逗号分隔
type查询类型 (查询类型可以单选和多选,如果需要查询多个类型的属性值,使用英文逗号分隔) 1 查询设备基础属性 2 查询物模型属性 3 查询定位信息
callback请求回调

QuecProductTSLPropertyModel属性定义

字段类型描述
specsList<QuecProductTSLSpecModel>物模型数据
formatSpecsList<QuecProductTSLSpecModel>物模型数据, 同上specs
dataTypeString数据类型
attributeValueString属性值
codeString标志符
nameString名称
subTypeString读写类型
itemIdintid
sortString排序
typeString类型
descString描述

QuecProductTSLSpecModel属性定义

字段类型描述
specsList<QuecProductTSLSpecModel>嵌套物模型数据
formatSpecsList<QuecProductTSLSpecModel>嵌套物模型数据, 同上specs
dataTypeString数据类型
codeString标志符
nameString名称
valueStringvalue值
itemIdintid
unitString单位
minString最小值
maxString最大值
stepString步长
lengthString文本长度
sizeString数组大小
attributeValueid属性值

示例代码

kotlin
QuecDeviceService.getProductTslAndDeviceBusinessAttributes(
    "pk", "dk", null, null, null, null, object : IDeviceTSLModelCallback {
        override fun onResultCallback(list: MutableList<QuecProductTSLPropertyModel<*>>?) {
            //请求成功
        }
        override fun onFail(throwable: Throwable?) {
            //请求失败
        }
    })

设备物模型

接口说明

获取设备物模型

kotlin
fun getProductTSL(
    productKey: String, callback: IDeviceTSLCallBack
)

IDeviceTSLCallBack接口定义

kotlin
public interface IDeviceTSLCallBack {
    void onSuccess(List<ModelBasic> modelBasicList, List<TSLEvent> tslEventList, List<TSLService> tslServiceList);
 
    void onFail(Throwable throwable);
}

参数说明

参数是否必传说明
productKey产品pk
callback请求回调

QuecProductTSLModel属性定义

字段类型描述
profileQuecProductTSLProfileModelprofile信息
propertiesList<QuecProductTSLPropertyModel>属性,item 是 QuecProductTSLPropertyModel
servicesList<QuecProductTSLServiceModel>服务,item 是 QuecProductTSLServiceModel
eventsList<QuecProductTSLEventModel>事件,item 是 QuecProductTSLEventModel

QuecProductTSLProfileModel属性定义

字段类型描述
productKeyString产品key
versionString版本
tslVersionStringtls版本

QuecProductTSLPropertyModel属性定义同上

QuecProductTSLServiceModel属性定义

字段类型描述
inputDataNSDictionary服务输入项,描述服务输入的数据
outputDataNSDictionary服务输出项,描述服务输出的数据

QuecProductTSLEventModel属性定义

字段类型描述
outputDataNSDictionary事件输出项,描述事件输出的具体事项

示例代码

kotlin
QuecDeviceService.getProductTSL("pk", object : IDeviceTSLCallBack {
    override fun onSuccess(
        modelBasicList: MutableList<ModelBasic<Any>>?,
        tslEventList: MutableList<TSLEvent>?,
        tslServiceList: MutableList<TSLService>?
    ) {
        //请求成功
    }
    override fun onFail(throwable: Throwable?) {
        //请求失败
    }
})

设备业务属性值

接口说明

获取设备业务属性值

kotlin
fun getDeviceBusinessAttributes(
    productKey: String,
    deviceKey: String,
    gatewayPk: String?,
    gatewayDk: String?,
    codeList: String?,
    type: String?,
    callback: QuecCallback<QuecProductTSLInfoModel>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
gatewayPk网关设备的 Product Key
gatewayDk网关设备的 Device Key
codeList查询的属性标识符 和查询类型配合使用,如果查询多个属性,使用英文逗号分隔
type查询类型 (查询类型可以单选和多选,如果需要查询多个类型的属性值,使用英文逗号分隔) 1 查询设备基础属性 2 查询物模型属性 3 查询定位信息
callback请求回调

QuecProductTSLInfoModel属性定义

字段类型描述
customizeTslInfoList<QuecProductTSLCustomInfoModel>自定义物模型数据上报列表
deviceLocateInfoQuecProductTSLLocateInfoModel定位信息
deviceDataQuecProductTSLDataModel设备资源数据
tslResourcesInfoList<QuecProductTSLResourceInfoModel>资源物模型数据

QuecProductTSLCustomInfoModel属性定义

字段类型描述
abIdint功能ID
dataTypeString数据类型
nameString功能名称
resourceCodeString功能标识符
resourceValueString功能值
subTypeString数据操作类型
typeString功能类型

QuecProductTSLLocateInfoModel属性定义

字段类型描述
createTimedouble创建时间
deviceKeyStringdeviceKey
hdopString水平精度因子
latString纬度
lngString经度
productKeyStringproductKey
latTypeString纬度半球 N/S
lngTypeString经度半球 W/E
locateRawString原始数据
locateStatusString差分定位/非差分定位
locateTimeString定位时间
locateTypeString定位类型
satellitesString当前卫星数
bdLatStringBD09坐标系纬度
bdLngStringBD09坐标系经度
gcjLatStringGCJ坐标系纬度
gcjLngStringGCJ坐标系经度
wgsLatStringGPS 原始坐标纬度
wgsLngStringGPS 原始坐标经度

QuecProductTSLDataModel属性定义

字段类型描述
batterydouble电池电量
cellIdintcellId
comProtocolVerString通信协议版本
dataProtocolVerString数据协议版本
deviceKeyStringdeviceKey
iccidStringiccid
lacint位置区代码
locatorString定位支持功能
mccString移动国家代码
mcuVersionStringMCU版本
memoryFreeint剩余空间
mncint移动网络代码
phoneNumString手机号
productKeyStringproductKey
rsrpint参考信号接收功率
rsrqintLTE参考信号接收质量
sdkVersionStringSDK版本
simStringSIM号
snrint信号与干扰加噪声比
typeString模组型号
versionString模组版本
voltagedouble电压

QuecProductTSLResourceInfoModel属性定义

字段类型描述
deviceKeyStringdeviceKey
createTimeString创建时间
deviceIdString设备id
resourceCodeString资源标识
resourceValueString资源值
updateTimeString更新时间

示例代码

kotlin
QuecDeviceService.getDeviceBusinessAttributes("pk", "dk", null, null, null, null) {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

离线提醒开关

接口说明

设置设备离线提醒开关

kotlin
fun setOfflineReminder(
    productKey: String,
    deviceKey: String,
    enableOfflineReminder: Int,
    callback: QuecCallback<Unit>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
enableOfflineReminder0:关闭,1:开启
callback请求回调

示例代码

kotlin
QuecDeviceService.setOfflineReminder("pk", "dk", 1) {
    if (it.isSuccess) {
        //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

离线提醒开关查询

接口说明

获取设备离线提醒开关状态

kotlin
fun getOfflineReminder(
    productKey: String,
    deviceKey: String,
    callback: QuecCallback<Int>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
callback请求回调 0:关闭,1:开启

示例代码

kotlin
QuecDeviceService.getOfflineReminder("pk", "dk") {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

设置设备时区

接口说明

设置设备时区, 用于设备时区同步当前App所设置时区

kotlin
fun setDeviceTimeZone(
    productKey: String,
    deviceKey: String,
    timeZone: String,
    timeZoneId: String?,
    callback: QuecCallback<Unit>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
timeZone时区,符合GMT+-HH:mm或者GMT+-HH格式
timeZoneId时区ID
callback请求回调

示例代码

kotlin
QuecDeviceService.setDeviceTimeZone("pk", "dk", "GMT+08:00", TimeZone.getDefault().id) {
    if (it.isSuccess) {
        //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

获取设备时区

接口说明

获取当前设备时区信息

kotlin
fun getDeviceTimeZone(
    productKey: String,
    deviceKey: String,
    callback: QuecCallback<QuecDeviceTimeZoneModel>
)

参数说明

参数是否必传说明
productKey产品pk
deviceKey设备dk
callback请求回调

QuecDeviceTimeZoneModel属性定义

字段类型描述
timeZoneString设备时区
timeZoneIdString时区id

示例代码

kotlin
QuecDeviceService.getDeviceTimeZone("pk", "dk") {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

获取产品说明书

接口说明

获取产品说明书

kotlin
fun getProductDescription(
    productKey: String,
    callback: QuecCallback<String>
)

参数说明

参数是否必传说明
productKey产品pk
callback请求回调

示例代码

kotlin
QuecDeviceService.getProductDescription("pk") {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

单设备解绑

接口说明

设备解绑接口

kotlin
fun unbindDevice(
    deviceKey: String,
    productKey: String,
    isInit: Boolean,
    random: String?,
    resetCredentials: String?,
    callback: QuecCallback<Unit>
)

参数说明

参数是否必传说明
deviceKey设备dk
productKey产品pk
isInit是否初始化,默认false (纯蓝牙设备需填)
random(纯蓝牙设备需填)
resetCredentials纯蓝牙设备重置凭证 (纯蓝牙设备需填)
callback请求回调

示例代码

kotlin
QuecDeviceService.unbindDevice("dk", "pk", false, null, null) {
    if (it.isSuccess) {
        //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}

批量解绑设备

接口说明

批量解绑设备

kotlin
fun batchUnbindDevice(
    isInit: Boolean,
    deviceList: List<QuecDeviceModel>,
    callback: QuecCallback<QuecBatchUnbindModel>
)

参数说明

参数是否必传说明
isInit是否初始化,默认false
deviceListQuecDeviceModel数组
callback请求回调

QuecDeviceModel属性定义同上

QuecBatchUnbindModel属性定义

字段类型描述
successListList<QuecBatchUnbindDeviceModel>成功列表
failListList<QuecBatchUnbindDeviceModel>失败列表

QuecBatchUnbindDeviceModel属性定义

字段类型描述
pkString产品pk
dkString设备dk
gdidString群组id
shareCodeString分享码
bindingSumint解绑操作后设备在云端的绑定用户数,包括伪绑定
codeint错误码(仅失败列表有此属性)
msgString错误提示(仅失败列表有此属性)

示例代码

kotlin
QuecDeviceService.batchUnbindDevice(false, listOf(QuecDeviceModel("pk", "dk"))) {
    if (it.isSuccess) {
        val data = it.data //请求成功
    } else {
        val code = it.code //请求失败, 错误码
        val msg = it.msg //请求失败, 错误信息
    }
}