upDeviceModule 设备模块

模块概述

设备模块为H5页面提供获取设备相关信息和下发指令、监听设备属性变化等设备操作相关能力。


方法列表

  • getDeviceList (获取当前用户所有的设备信息)
  • getDeviceInfoById (通过设备唯一标识符获取指定设备信息)
  • getSubDevList (获取指定设备的子设备列表)
  • getSubDevInfoById (通过设备唯一标识符获取指定设备的子设备信息)
  • addDeviceListChangeListener (订阅设备列表变化)
  • addDeviceChangeListener (订阅设备变化)
  • executeOperation (指令下发)
  • subscribeResource (订阅设备资源)
  • unsubscribeResource (取消订阅设备资源)
  • subscribeResourceWithDecode (解码订阅设备资源)
  • startBoardFota(启动底板固件升级)
  • checkBoardFotaInfo (检查底板固件的版本信息)
  • fetchBoardFotaStatus (查询当前底板固件的升级状态)
  • isBound (查询设备是否绑定)
  • getDeviceBindInfo (获取设备绑定信息)
  • subscribeBleHistoryData (订阅蓝牙历史数据)
  • unsubscribeBleHistoryData (取消订阅历史数据)
  • getSubDevListBySubDevId (根据子设备唯一标识符获取所有子设备基本信息列表)
  • inFocus (标记设备进入焦点)
  • outFocus (标记设备退出焦点)
  • subscribeBoardFOTAStatus (订阅底板升级状态)
  • batchSubscribeNewDeviceChange (批量订阅)
  • batchUnsubscribeNewDeviceChange (取消批量订阅)
  • batchAttachWitchSimplifyData (新批量订阅,指定属性)
  • batchDetachWitchDeviceIds (新取消批量订阅,指定deviceId)
  • updateDeviceList (更新设备列表)
  • getDeviceModelMixLogicAttrsListBy (获取家庭下设备逻辑引擎属性)
  • getDeviceNetworkQuality (通过设备唯一标识符获取指定设备信息)
  • getNetType (获取当前设备的网络类型)
  • fetchGroupableDeviceList (获取可与当前设备分到同一组的设备列表, 当前设备要求有zigbee能力或BLEMesh能力)
  • createDeviceGroup (创建分组)
  • addDevicesToGroup (向组设备中添加设备,要求当前device对象为组设备)
  • removeDevicesFromGroup (从组设备中移除设备,要求当前device对象为组设备)
  • deleteDeviceGroup (删除组设备,要求当前device对象为组设备)
  • getGroupMemberList (组设备获取当前组内的所有子设备,非组设备返回空集合)
  • isGroup (是否为组设备)
  • startFOTAWithDeviceFOTA (开始设备固件升级指令)
  • getCloudVideoDateListByTimezone (获取云存视频可播放日期信息)
  • getCloudVideoPlayListByDeviceId (获取云存回放文件列表)
  • getVideoPlayAddressByDeviceId (获取云存回放 m3u8 播放地址)
  • connectDevice (连接设备状态)
  • disconnectDevice (断开设备连接)
  • wakeUp (唤醒设备)
  • getSleepState (获取设备睡眠状态)
  • qcConnectDevice (快连设备连接)
  • qcDisconnectDevice (快连设备断开连接)
  • addQCConnectDeviceTimeOutListener(添加快连设备超时监听)
  • getLocalState (获取设备本地Wi-Fi连接状态)

公共数据

  • 设备基本信息模型deviceModel

    {
    "baseInfo": {
      "protocol" : "WIFI",
      "parentId" : "",
      "subDevNo" : "",
      "deviceId" : "04FA831EEF01",
      "typeId" : "01c12002400081034080000000100000",
      "typeName" : "",
      "typeCode" : "0D082001",
      "model" : "RFC100MXSAVA(G)",
      "prodNo" : "AA30ST000"
    },
    "extras": {
      "basic": {
        "dispName": "空调1",
        "room": "客厅",
        "roomId": "140111640615000000",
        "online": true,
        "subDeviceIds": "",
        "parentId": "",
        "deviceRole": "",
        "deviceRoleType": "",
        "devFloorId": "",
        "devFloorOrderId": "",
        "devFloorName": "",
        "apptypeName":"",
        "deviceGroupId":"",
        "deviceGroupType":"",
        "deviceNetType":""
      },
      "product": {
        "barcode": "",
        "brand": "海尔",
        "accessType": "13",
        "configType": "1",
        "image1": "",
        "image2": "",
        "comunicationMode": "",
        "bindType": ""
      },
      "relation": {
        "ownerId": "25950360",
        "familyId": "441056154349000000",
        "ucUserId": ""
      },
      "permission": {
        "authType": "home",
        "ctrl": true,
        "edit": true,
        "view": true
      }
    },
    "connection": "READY",
    "deviceOnlineStatus":"ONLINE",
    "controlState":"",
    "faultInformationStateCode":0,
    "sleepState":"",
    "deviceNetworkLevel":"",
    "attributes": {
      "20200D": "302000"
    },
    "cautions": [{
      "name": "alarmCancel",
      "value": "alarmCancel",
      "time": "2019-07-19 13:59:29"
    }],
    "subDevList": [],
    }
    
  • 设备基本信息定义

值类型 说明
deviceId String 设备ID
protocol String 协议类型(haier-usdk)
parentId String 主机ID
subDevNo String 子机编码
typeId String 类型标识ID
typeName String 类型名称
typeCode String 配型编码
model String 型号
prodNo String 产品编码
dispName String 显示名称
room String 房间
roomId String 房间Id
online Boolean 在线标识
subDeviceIds String 子设备
parentId String 从属主设备
deviceRole String 设备类型
deviceRoleType String /
devFloorId String 设备所在楼层id
devFloorOrderId String 设备所在楼层次序
devFloorName String 设备所在楼层名称
apptypeName String 应用分类
barcode String 机编码
brand String 品牌
accessType String 接入方式
configType String 配置方式
comunicationMode String 通讯方式
image1 String 设备图片
image2 String 设备图片
ownerId String 所有者ID
familyId String 家庭ID
ucUserId String 用户中心用户ID
familyName String 家庭名称
authType String 权限类型
ctrl Boolean 是否可以控制
edit Boolean 是否可以编辑
view Boolean 是否可以查看
connection String 连接状态(ONLINE/OFFLINE)
controlState String 设备可控状态(none/controllable/nearControllable/controllableAndAuthorized)
faultInformationStateCode number 设备故障码(等于1004时表示设备绑定但未配置WiFi信息,设备未配置WiFi信息)
deviceOnlineStatus String 设备真实在线状态(ONLINE/OFFLINE)
sleepState String 设备休眠状态
deviceNetworkLevel String 网络质量等级(excellent/good/qualified/poor/unknown)
cautions Arrary 设备报警信息列表
attributes Object 设备属性
subDevList Array 设备子机列表
configState number 设备配置状态
deviceGroupId String 组设备ID
deviceGroupType String 组设备类型
onlineStateV2 String 设备融合在离线状态(OFFLINE,ONLINE_NOT_READY,ONLINE_READY)
bindType String 绑定类型
deviceNetType String 设备网器类型,netDevice:网器,noNetDevice:非网器
  • 设备报警信息模型 alarmModel

    {
      "value": "alarmCancel",
      "name": "alarmCancel",
      "time": "2019-07-19 13:59:29"
    }
    
  • 设备报警信息定义

值类型 说明
name String 报警名称
value String 报警值
time String 报警时间
  • 所有数据均以JSON结构返回,由代码,信息和数据三部分组成

    {
      "retCode": "000000", //接口状态标识码,错误标识码以29开头
      "retInfo": "操作成功",//接口信息说明
      "retData": null //业务数据
    }
    
  • 新批量订阅,指定属性参数模型 BatchAttachModel

    {
    deviceId:"123456789",
    attributeNames:[
      "000000",
      "111111"
    ]
    }
    
  • 新批量订阅,指定属性参数模型定义
值类型 说明
deviceId String 设备deviceId
attributeNames[] String 属性名称列表
  • 设备状态批量上报简化数据模型 SimplifyDataModel

    {
      "engineCautions": [],//逻辑引擎报警列表
      "cautions": [],//单品设备报警列表
      "engineAttributes": [],//逻辑引擎设备属性列表
      "connection": "ONLINE",
    "deviceOnlineStatus":"ONLINE",//设备真实在线状态
      "attributes": {//单品设备属性列表
          "targetHumidity": "40",
          "childLockStatus": "false",
          "indoorHumidity": "30",
          "onOffStatus": "true"
      },
      "deviceId": "DC330D633CAB",//设备deviceId
      "configState": 2//设备配置状态
    }
    
  • SimplifyDataModel定义

值类型 说明
engineCautions Arrary 逻辑引擎设备报警信息列表
cautions Arrary 单品设备报警信息列表
engineAttributes Arrary 逻辑引擎设备属性列表
attributes Object 单品设备属性
connection String 连接状态(ONLINE/OFFLINE)
deviceOnlineStatus String 设备真实在线状态(ONLINE/OFFLINE)
deviceId String 设备deviceId
configState number 设备配置状态
  • 错误返回 retCode 说明:
retCode编码 retInfo说明
900000 操作失败
900001 操作无效
900002 操作超时
900003 非法参数错误
120000 设备不存在
120001 子设备不存在
120006 uSDKDevice对象不存在
000001 执行失败

具体定义:返回数据通用

  • 设备逻辑引擎属性数据模型 DeviceModelMixLogicAttrs

    {
    baseInfo: UpDeviceBaseInfo = new UpDeviceBaseInfo();
    configState: number;
    extras: {
      basic: BasicInfo;
      product: ProductInfo;
      relation: Relation;
      permission: Permission;
    };
    connection: string = 'OFFLINE';
    deviceOnlineStatus:string = 'OFFLINE';
    controlState:string = '',
    faultInformationStateCode:number,
    attributes: Map<string, string> = new Map();
    cautions: Alarm[] = [];
    onlineStateV2:string = '';
    
    engineAttributes: Attribute[] = []; //只有当设备配置文件下载完毕即configState == 2时才有值
    engineCautions: Caution[] = [];     //只有当设备配置文件下载完毕即configState == 2时才有值
    subDevList: DeviceModel[] = [];
    }
    
  • 网络质量数据模型 NetWorkQualityModel

    {
    deviceConnectStatus: string;
    machineId: string = '';
    isOnLine: boolean = false;
    statusLastChangeTime: string = '';
    netType: string = '';
    ssid: string = '';
    rssi: string = '';
    prssi: string = '';
    signalLevel: string = '';
    ilostRatio: string = '';
    its: string = '';
    lanIP: string = '';
    moduleVersion: string = '';
    }
    

模块变更记录

  • V4.0.0
    • 新增方法:
      • connectDevice (连接设备状态)
      • disconnectDevice (断开设备连接)
      • wakeUp (唤醒设备)
      • getSleepState (获取设备睡眠状态)
      • qcConnectDevice (快连设备连接)
      • qcDisconnectDevice (快连设备断开连接)
      • addQCConnectDeviceTimeOutListener(添加快连设备超时监听)
      • getLocalState (获取设备Wi-Fi连接状态)
    • 重构方法:
      • addDevicesToGroup (向组设备中添加设备,要求当前device对象为组设备)
      • removeDevicesFromGroup (从组设备中移除设备,要求当前device对象为组设备)
      • deleteDeviceGroup (删除组设备,要求当前device对象为组设备)
      • getGroupMemberList (组设备获取当前组内的所有子设备,非组设备返回空集合)
      • isGroup (是否为组设备)
      • createDeviceGroup (创建分组)
      • fetchGroupableDeviceList (获取可与当前设备分到同一组的设备列表, 当前设备要求有zigbee能力或BLEMesh能力)
    • 模型变更
      • deviceModel对象中新增controlState,faultInformationStateCode,sleepState,onlineStateV2,deviceNetworkLevel属性
      • DeviceModelMixLogicAttrs对象中新增controlState,faultInformationStateCode,onlineStateV2属性
    • 备注
      • 因快连3.0功能中的设备对象数据是直接从usdk中获取的,故在该功能中,deviceModel内没有parentsDeviceId属性
      • 重构的方法,必须集成在智家app7.10.0及以上版本中使用
  • V3.7.0

    • 新增方法:
      • subscribeResourceWithDecode (解码订阅设备资源)
      • fetchGroupableDeviceList (获取可与当前设备分到同一组的设备列表, 当前设备要求有zigbee能力或BLEMesh能力)
      • createDeviceGroup (创建分组)
      • addDevicesToGroup (向组设备中添加设备,要求当前device对象为组设备)
      • removeDevicesFromGroup (从组设备中移除设备,要求当前device对象为组设备)
      • deleteDeviceGroup (删除组设备,要求当前device对象为组设备)
      • getGroupMemberList (组设备获取当前组内的所有子设备,非组设备返回空集合)
      • isGroup (是否为组设备)
      • startFOTAWithDeviceFOTA (开始设备固件升级指令)
      • getCloudVideoDateListByTimezone (获取云存视频可播放日期信息)
      • getCloudVideoPlayListByDeviceId (获取云存回放文件列表)
      • getVideoPlayAddressByDeviceId (获取云存回放 m3u8 播放地址)
    • 模型变更
      • deviceModel对象中新增apptypeName属性
      • deviceModel对象中新增deviceGroupId,deviceGroupType属性
  • V3.6.0

    • 模型变更:deviceModel增加楼层相关字段
  • V3.0.0

    • 新增方法:
      • userDeviceListChangeListener
    • 方法变更:
      • getDeviceList返回数据中删除attributes与alarms字段
      • getDeviceInfoById返回数据中删除attributes与alarms字段
  • V3.1.0

    • 新增方法:
      • getSubDevListBySubDevId (根据子设备唯一标识符获取所有子设备基本信息列表)
      • inFocus (标记设备进入焦点)
      • outFocus (标记设备退出焦点)
  • V3.2.0

    • 方法删除:
      • startBoardFotaWithFotaInfo
      • subscribeBoardFOTAStatus
      • initListeners
      • userDeviceListChangeListener
    • 方法新增:
      • startBoardFota(启动底板固件升级)
      • addDeviceListChangeListener(订阅设备列表变化)
      • addDeviceChangeListener(订阅设备变化)
    • 方法变更:
      • cancelSubscribeBleHistoryData 变更为 unsubscribeBleHistoryData
      • subscribeBleHistoryData 增加订阅回调参数
      • subscribeResource 增加订阅回调参数
  • V3.3.0

    • 方法新增:
      • subscribeBoardFOTAStatus(订阅底板固件升级) PS:订阅底板升级状态,cordova和APICloud容器下不能和startBoardFota同时使用(回调方法无法同时生效); Nebula容器可以正常使用; -新增属性configState(仅支持nebula容器);

方法说明

  • getDeviceList (获取当前用户所有的设备信息)

    getDeviceList()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 5.3.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
familyId String 家庭id

familyId 存在,根据 familyId 过滤家庭,否则返回全部数据

错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData说明:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": [deviceModel]//deviceModel参照设备基本信息模型
}
示例

调用方式

uplusapi.upDeviceModule.getDeviceList().then((result) =>console.log('result',result));
  • getDeviceInfoById (通过设备唯一标识符获取指定设备信息)

    getDeviceInfoById()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 5.3.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData说明:

{
    "retCode": "000000",
    "retInfo": "获取设备信息成功",
    "retData": deviceModel //deviceModel参照设备基本信息模型
}
示例

调用方式

uplusapi.upDeviceModule.getDeviceInfoById({'deviceId': 'DC330D6B5998'}).then((result) =>console.log('result',result));
  • getSubDevList (获取指定设备的子设备列表)

    getSubDevList()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 5.3.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:
{
    "retCode": "000000",
    "retInfo": "获取子设备列表成功",
    "retData": [deviceModel]//deviceModel参照设备基本信息模型
}
示例

调用方式

uplusapi.upDeviceModule.getSubDevList({'deviceId': 'DC330D6B5998'}).then((result) =>console.log('result',result));
  • getSubDevInfoById (通过设备唯一标识符获取指定设备的子设备信息)

    getSubDevInfoById()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 5.3.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
subDevId String 子设备唯一标识符
错误返回 retCode说明:

见公共数据中错误返回说明

正确返回 retData说明:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": deviceModel//deviceModel参照设备基本信息模型
}
示例

调用方式

uplusapi.upDeviceModule.getSubDevInfoById({
    'deviceId': 'DC330D6B5998',
    'subDevId': 'DC330D6B5998-1'
}).then((result) =>console.log('result',result));
  • addDeviceListChangeListener (订阅设备列表变化)

    addDeviceListChangeListener()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.9.0 及以上 6.9.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
listener Function 订阅设备列表监听函数
key String /
错误返回 retCode说明:

见公共数据中错误返回说明

正确返回 retData 说明:

示例

调用方式

uplusapi.upDeviceModule.addDeviceListChangeListener({
    listener: (res) => {console.log(res)}
}).then((result) =>console.log('result',result));
  • addDeviceChangeListener (订阅设备变化)

    addDeviceChangeListener()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.9.0 及以上 6.9.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
mac String 设备唯一标示
params Function 订阅设备监听函数
错误返回 retCode说明:

见公共数据中错误返回说明

正确返回 retData 说明:

示例

调用方式

uplusApi.upDeviceModule.addDeviceChangeListener(
deviceId,
{
  deviceInfoListener: (deviceInfo) => {
    console.log('info', deviceInfo)
  },
  deviceAlarmListener: (alarms) => {
    console.log('alarms', alarms);
  }
});
  • executeOperation (指令下发)

    executeOperation()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 5.0.0 及以上 5.3.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
subDevId String 子设备唯一标识符
groupName String 组命令名称
command JSONObject 命令数组,命令格式为{name: '', value: ''} ,name和value值为字符串
错误返回 retCode说明:

见公共数据中错误返回说明

正确返回 retData 说明:
{
    "retCode": "000000",
    "retInfo": "指令下发成功",
    "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.executeOperation({
    'deviceId': 'DC330D6B5998',
    'command': [{
        name:'onOffStatus',
        value: 'true'
    }]
}).then((result) =>console.log('result',result));
  • subscribeResource (订阅设备资源)

    subscribeResource()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 5.5.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
resName String 资源名
callback Function 订阅设备资源监听函数
callback回调函数返回参数说明
属性名 数据类型 是否必填 说明
resourceName String 资源名
resourceData String 资源数据
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:
{
    "retCode": "000000",
    "retInfo": "订阅设备资源成功",
    "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.subscribeResource({
    'deviceId': 'DC330D6B5998',
  'resName': 'map'},
  (resourceName, resourceData) => {console.log(resourceData)}
).then((result) =>console.log('result',result));
  • unsubscribeResource (取消订阅设备资源)

    unsubscribeResource()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 5.5.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
resName String 资源名
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:
{
    "retCode": "000000",
    "retInfo": "取消订阅设备资源成功",
    "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.unsubscribeResource({
    'deviceId': 'DC330D6B5998',
    'resName': 'map'
}).then((result) =>console.log('result',result));
  • subscribeResourceWithDecode (订阅设备资源)

    subscribeResourceWithDecode()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 6.23.5及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
resName String 资源名
callback Function 订阅设备资源监听函数
callback回调函数返回参数说明
属性名 数据类型 是否必填 说明
resourceName String 资源名
resourceData String 资源数据
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:
{
    "retCode": "000000",
    "retInfo": "订阅设备资源成功",
    "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.subscribeResourceWithDecode({
    'deviceId': 'DC330D6B5998',
  'resName': 'map'},
  (resourceName, resourceData) => {console.log(resourceData)}
).then((result) =>console.log('result',result));

checkBoardFotaInfo (检查底板固件的版本信息)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
subDevId String 是子设备时需同时传入子设备mac
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:
属性名 数据类型 说明
isNeedFOTA Boolean 是否需要升级
currentVersion String 当前版本号
newestVersion String 最新版本号
newestVersionDescription String 最新版本号的描述
model String U+产品整机型号编码
timeoutInterval Number 升级的超时时间
示例

调用方式

uplusapi.upDeviceModule.checkBoardFotaInfo({
    'deviceId': 'DC330D6B5998'
}).then((result) =>console.log('result',result));
  • 成功回调数据:
{
  "retCode": "000000",
  "retInfo": "操作成功",
  "retData": {
    "isNeedFOTA": true,
    "currentVersion": "1.0.0",
    "newestVersion": "1.2.0",
    "newestVersionDescription": "",
    "model": "0224532",
    "timeoutInterval": 1231231231
  }
}

startBoardFota (启动底板固件升级)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
subDevId String 是子设备时需同时传入子设备mac
fotaListener Function 设备升级状态上报监听函数
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回 retData 说明:

示例

调用方式

uplusapi.upDeviceModule.startBoardFota({
  deviceId: 'DC330D6B5998',
  fotaListener: (ret) => {console.log(ret)}
}).then((result) =>console.log('result',result));

fetchBoardFotaStatus (查询底板升级状态)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
subDevId String 是子设备时需同时传入子设备mac
错误返回 retCode 说明:

见公共数据中错误返回说明

示例

调用方式

uplusapi.upDeviceModule.fetchBoardFotaStatus({
  deviceId: 'DC330D6B5998'
}).then(res => console.log(res));

查询设备是否绑定 (isBound)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.2.0 及以上 6.2.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": true
}
示例

调用方式

uplusapi.upDeviceModule.isBound({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

获取设备绑定信息 (getDeviceBindInfo)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.2.0 及以上 6.2.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
正确返回 retData 说明:
属性名 数据类型 说明
retData String 进行绑定时需要传入的密钥
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": "e71189f10e1a7b9e80b644bd7e689c09"
}
示例

调用方式

uplusapi.upDeviceModule.getDeviceBindInfo({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

订阅蓝牙历史数据(subscribeBleHistoryData)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.2.0 及以上 6.2.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
callback Function 蓝牙历史数据上报监听函数
callback回调函数返回参数说明
属性名 数据类型 是否必填 说明
resourceData String 资源数据
  • 返回参数:
{
  "retCode": "000000",
  "retInfo": "操作成功",
  "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.subscribeBleHistoryData({
  deviceId: 'DC330D6B5998'},
  (resourceData) => {console.log(resourceData)}
).then((result) =>console.log('result',result));

取消订阅历史数据(unSubscribeBleHistoryData)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.2.0 及以上 6.2.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 返回参数:
{
  "retCode": "000000",
  "retInfo": "操作成功",
  "retData": null
}
示例

调用方式

uplusapi.upDeviceModule.unSubscribeBleHistoryData({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

getSubDevListBySubDevId (根据子设备唯一标识符获取指定设备的所有子设备列表)

getSubDevListBySubDevId()

说明:可使用【CAC商用空调一控多】设备进行调试

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.5.0 及以上 6.5.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 子设备唯一标识符
错误返回 retCode 说明:

见公共数据中错误返回说明

正确返回:
{
    "retCode": "000000",
    "retInfo": "获取子设备列表成功",
    "retData": [{
    "baseInfo": {
      "protocol" : "haier-usdk",
      "parentId" : "04FA831EEF01",
      "subDevNo" : "1",
      "deviceId" : "04FA831EEF01_1-1",
      "typeId" : "01c12002400081034080000000100000",
      "typeName" : "COMMERCIAL_AIRCONDITION",
      "typeCode" : "",
      "model" : "CAC商用空调一控多",
      "prodNo" : "AA30ST000"
    },
    "baseInfo": {
      "protocol" : "haier-usdk",
      "parentId" : "04FA831EEF01",
      "subDevNo" : "8",
      "deviceId" : "04FA831EEF01_1-8",
      "typeId" : "01c12002400081034080000000100001",
      "typeName" : "COMMERCIAL_AIRCONDITION",
      "typeCode" : "",
      "model" : "CAC商用空调一控多",
      "prodNo" : "AA30ST000"
    }
    }]
  }
示例

调用方式

uplusapi.upDeviceModule.getSubDevListBySubDevId({'deviceId': '04FA831EEF01_1-1'}).then((result) =>console.log('result',result));
(err) =>console.log('err', err);

标记设备进入焦点(inFocus)

使用说明

标记设备进入焦点后,在退出焦点前,如果大循环控制超时,则提升蓝牙控制的优先级,使小循环控制 > 蓝牙控制 > 大循环控制

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.9.0 及以上 6.9.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
正确返回:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": true      //重复进入返回false
}
示例

调用方式

uplusapi.upDeviceModule.inFocus({
  'deviceId': '04FA831EEF01_1-1'
}).then((result) =>console.log('result',result), (err) =>console.log('err', err));

标记设备退出焦点(outFocus)

使用说明

标记设备退出焦点后,降低蓝牙控制的优先级,使小循环控制 > 大循环控制 > 蓝牙控制

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.9.0 及以上 6.9.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
正确返回:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": true      //重复退出返回false
}
示例

调用方式

uplusapi.upDeviceModule.outFocus({
  'deviceId': '04FA831EEF01_1-1'
}).then((result) =>console.log('result',result), (err) =>console.log('err', err));

订阅底板升级状态(subscribeBoardFOTAStatus)

使用说明

订阅底板升级状态,cordova和APICloud容器下不能和startBoardFota同时使用(回调方法无法同时生效); Nebula容器可以正常使用;

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
fotaListener funtion 状态回调
正确返回:

示例

调用方式

uplusapi.upDeviceModule.subscribeBoardFOTAStatus({
      fotaListener: (ret) => {
        console.log('subscribeBoardFOTAStatus1', ret);
      }
    }
    );

批量订阅(batchSubscribeNewDeviceChange)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
familyId string familyId
listener Function 订阅设备列表监听函数
正确返回:

示例

调用方式

uplusapi.upDeviceModule.batchSubscribeNewDeviceChange(
  '10923',
  listener: (res) => {console.log(res)}
.then((result) =>console.log('result',result));

取消批量订阅(batchUnsubscribeNewDeviceChange)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.12.0 及以上
params 输入参数:

正确返回:

示例

调用方式

uplusapi.upDeviceModule.batchUnsubscribeNewDeviceChange().then((result) =>console.log('result',result));

新批量订阅,指定属性(batchAttachWitchSimplifyData)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.20.0 及以上
params 输入参数:

|属性名 |数据类型 |是否必填 |说明 | | devices | BatchAttachModel[] | 是 | deviceId和对应属性名称列表 | | listener | Function | 是 | 订阅设备列表监听函数 |

正确返回:

示例

调用方式

uplusapi.upDeviceModule.batchAttachWitchSimplifyData(
  [ {deviceId:"123456789",attributeNames:[ "000000","111111"]}],
  (result) =>console.log('result',result))
.then((result) =>console.log('result',result));

新取消批量订阅,指定deviceId(batchDetachWitchDeviceIds)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 6.0.0 及以上 6.0.0 及以上 6.20.0 及以上
params 输入参数:

|属性名 |数据类型 |是否必填 |说明 | | deviceIds | string[] | 是 | deviceId string数组 |

正确返回:

示例

调用方式

uplusapi.upDeviceModule.batchDetachWitchDeviceIds(["123456789","111","222"]).then((result) =>console.log('result',result));
  • updateDeviceList (更新设备列表)

    updateDeviceList()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 6.20.0 及以上 6.20.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
immediate boolean 是否立刻获取
错误返回 retCode说明:
retCode编码 retInfo说明
000000 操作成功
000001 操作失败
正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.updateDeviceList({immediate:false}).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "",
    "retData": {
    }
}
  • getDeviceModelMixLogicAttrsListBy (获取家庭下设备逻辑引擎属性)

    getDeviceModelMixLogicAttrsListBy()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 6.20.0 及以上 6.20.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
familyId string 家庭Id
错误返回 retCode说明:
retCode编码 retInfo说明
000000 操作成功
000001 操作失败
正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.getDeviceModelMixLogicAttrsListBy({familyId:''}).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "",
    "retData": [DeviceModelMixLogicAttrs]//设备逻辑引擎属性数据模型
}
  • getDeviceNetworkQuality (通过设备唯一标识符获取指定设备信息)

    getDeviceNetworkQuality()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 6.20.0 及以上 6.20.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:
retCode编码 retInfo说明
000000 操作成功
000001 操作失败
正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.getDeviceNetworkQuality({deviceId:''}).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "",
    "retData": NetWorkQualityModel //网络质量数据模型
}
  • getNetType (获取当前设备的网络类型)

    getNetType()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / 6.23.3 及以上 6.23.3 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:
retCode编码 retInfo说明
000000 操作成功
000001 操作失败
正确返回 retData说明
网络类型 对应枚举
未知类型 -1
远程 0
本地 1
蓝牙 2
Mesh网关 3
BLE Mesh 4
示例

调用方式

uplusapi.upDeviceModule.getNetType({deviceId:''}).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "",
    "retData": '1' //网络类型
}
  • fetchGroupableDeviceList (获取可与当前设备分到同一组的设备列表, 当前设备要求有zigbee能力或BLEMesh能力)

    fetchGroupableDeviceList()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.fetchGroupableDeviceList('18A7F1989445').then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": [] //设备对象列表
}
  • createDeviceGroup (创建分组)

    createDeviceGroup()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.createDeviceGroup('18A7F1989445').then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": {}, //设备对象
}
  • addDevicesToGroup (向组设备中添加设备,要求当前device对象为组设备)

    addDevicesToGroup()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
deviceIds string[] 需要添加到组设备的设备id列表
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.addDevicesToGroup('18A7F1989445',['18A7F1989446','18A7F1989447']).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": {'success':['device1','device2'],'faliure':['device3','device4']},
}
  • removeDevicesFromGroup (从组设备中移除设备,要求当前device对象为组设备)

    removeDevicesFromGroup()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
deviceIds string[] 需要从组设备移除的设备id列表
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.removeDevicesFromGroup('18A7F1989445',['18A7F1989446','18A7F1989447']).then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": {'success':['device1','device2'],'faliure':['device3','device4']},
}
  • deleteDeviceGroup (删除组设备,要求当前device对象为组设备)

    deleteDeviceGroup()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.deleteDeviceGroup('18A7F1989445').then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": null,
}
  • getGroupMemberList (组设备获取当前组内的所有子设备,非组设备返回空集合)

    getGroupMemberList()
适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId string 设备Id
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

正确返回 retData说明

示例

调用方式

uplusapi.upDeviceModule.getGroupMemberList('18A7F1989445').then((result) =>console.log('result',result));

成功返回结果

{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": [],//设备对象列表
}

是否为组设备 (isGroup)

适用性
容器 Nebula
支持情况
APP版本 7.10.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": true
}
错误返回 retCode说明:

参考文档头部错误返回 retCode 说明

示例

调用方式

uplusapi.upDeviceModule.isGroup({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

开始设备固件升级指令 (startFOTAWithDeviceFOTA)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.1.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
traceID String 链式跟踪打点,全流程打点唯一标识
firmwareID String 整机固件唯一标识
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": true
}
示例

调用方式

uplusapi.upDeviceModule.startFOTAWithDeviceFOTA({
  deviceId: 'DC330D6B5998',
  traceID: 'tid',
  firmwareID: 'fid'}
).then((result) =>console.log('result',result));

获取云存视频可播放日期信息 (getCloudVideoDateListByTimezone)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.1.3 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
timeZone number 相对于0时区的秒数,例如东八区28800
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": []
}
示例

调用方式

uplusapi.upDeviceModule.getCloudVideoDateListByTimezone({
  deviceId: 'DC330D6B5998',
  timeZone: 28800,}
).then((result) =>console.log('result',result));

获取云存回放文件列表 (getCloudVideoPlayListByDeviceId)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.1.3 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
startTime number 开始UTC时间,单位秒
endTime number 结束UTC时间,单位秒 超过一天只返回一天
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": {}
}
示例

调用方式

uplusapi.upDeviceModule.getCloudVideoPlayListByDeviceId({
  deviceId: 'DC330D6B5998',
  startTime: 0,
  endTime: 0}
).then((result) =>console.log('result',result));

获取云存回放 m3u8 播放地址 (getVideoPlayAddressByDeviceId)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.1.3 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
startTime number 开始UTC时间,单位秒
endTime number 结束UTC时间,单位秒 填 0 则默认播放到最新为止
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": "url"
}
示例

调用方式

uplusapi.upDeviceModule.getVideoPlayAddressByDeviceId({
  deviceId: 'DC330D6B5998',
  startTime: 0,
  endTime: 0}
).then((result) =>console.log('result',result));

连接设备状态 (connectDevice)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.5.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功"
}
示例

调用方式

uplusapi.upDeviceModule.connectDevice({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

断开设备连接 需要断开蓝牙,否则不能够再次扫描到 ,绑定用户,不用调用 (disconnectDevice)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.5.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功"
}
示例

调用方式

uplusapi.upDeviceModule.disconnectDevice({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

获取设备睡眠状态 (getSleepState)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.6.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": "",//设备睡眠状态(unSleeping/sleeping/wakingUp)
}
示例

调用方式

uplusapi.upDeviceModule.getSleepState({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

添加快连设备超时监听 (addQCConnectDeviceTimeOutListener)

适用性
容器 cordova APICloud Nebula
支持情况
APP 版本 / / 7.6.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
listener Function 连接超时监听函数
错误返回 retCode说明:

正确返回 retData 说明:

示例

调用方式

uplusapi.upDeviceModule
  .addQCConnectDeviceTimeOutListener({
    listener: (res) => {console.log(res)}
});

快连设备连接 (qcConnectDevice)

适用性
容器 cordova APICloud Nebula
支持情况
APP 版本 / / 7.6.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
}
{
    "retCode": "000001",
    "retInfo": "操作失败",
}
示例

调用方式

uplusapi.upDeviceModule
  .qcConnectDevice({
    deviceId: "DC330D6B5998",
  })
  .then((result) => console.log("result", result))
  .catch((err) =>{
  console.log('err',err);
  });

快连设备断开连接 (qcDisconnectDevice)

适用性
容器 cordova APICloud Nebula
支持情况
APP 版本 / / 7.6.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
}
示例

调用方式

uplusapi.upDeviceModule
  .qcDisconnectDevice({
    deviceId: "DC330D6B5998",
  })
  .then((result) => console.log("result", result));
}

获取设备Wi-Fi连接状态 (getLocalState)

适用性
容器 cordova APICloud Nebula
支持情况
APP版本 / / 7.6.0 以上
params 输入参数:
属性名 数据类型 是否必填 说明
deviceId String 设备唯一标识符
  • 回调数据:
{
    "retCode": "000000",
    "retInfo": "操作成功",
    "retData": "",//设备Wi-Fi连接状态(ONLINE/OFFLINE)
}
示例

调用方式

uplusapi.upDeviceModule.getLocalState({
  deviceId: 'DC330D6B5998'}
).then((result) =>console.log('result',result));

results matching ""

    No results matching ""