小程序开发——获取设备信息 API(二)

本文详细介绍了DeviceKit库中的几个关键API,包括获取群组设备数量、设备离线提醒状态、在线类型检查、子设备ID获取以及产品信息查询,展示了如何通过这些接口进行设备管理和状态监控。

ty.device.getDeviceNumWithDpCode

根据 dpCode 获取群组下具备此 dpCode 的设备数量。如果是一个分享的群组,请通过接口获取。

需引入DeviceKit,且在>=2.4.0版本才可使用

请求参数

Object object

属性类型默认值必填说明
groupIdstringgroupId 群组 id
dpCodestringdpCode 内容
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
devieNumnumberdevieNum 设备数量
  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getDeviceNumWithDpCode({
  groupId: '12894745',
  dpCode: 'switch_1',
})
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "devieNum": 0
}

ty.device.getDeviceOfflineReminderState

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

需引入DeviceKit,且在>=2.2.0版本才可使用

请求参数

Object object

属性类型默认值必填说明
deviceIdstringdeviceId 设备 id
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
statenumberstate 设备离线提醒的开关状态 0:关 1:开
  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getDeviceOfflineReminderState({
  deviceId: '64710761ecfabcaaf553'
})
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "state": 0
}

👉 立即开发

ty.device.getDeviceOfflineReminderWarningText

获取离线提醒警告内容(关闭离线提醒开关后的警告)

需引入DeviceKit,且在>=2.2.0版本才可使用

请求参数

Object object

属性类型默认值必填说明
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
warningTextstring离线提醒关闭警告文案
  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getDeviceOfflineReminderWarningText()
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "warningText": "为避免提醒过于频繁,设备离线超过30分钟后才会提醒(低功耗设备将超过8小时后触发提醒)。"
}

ty.device.getDeviceOnlineType

检查设备某个通道是否在线

需引入DeviceKit,且在>=2.1.6版本才可使用

请求参数

Object object

属性类型默认值必填说明
deviceIdstringdeviceId 设备 id 支持跨面板获取其他的设备信息,当前面板可以传当前设备的 id 来进行获取
dpsanydps
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
onlineTypenumber设备网络在线类型
  • onlineType 为十进制,需转成二进制,再根据如下所示的图片判断。

  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getDeviceOnlineType({
  deviceId: '64710761ecfabcaaf553'
})
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "onlineType": 0
}

ty.device.getMeshDeviceId

通过 nodeId 获取子设备的设备 Id

需引入DeviceKit,且在>=2.4.0版本才可使用

请求参数

Object object

属性类型默认值必填说明
nodeIdstringnodeId
deviceIdstringdeviceId 网关 id
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
deviceIdstring设备 id
  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getMeshDeviceId({
  nodeId: 'e922f00ac014e46b',
  deviceId: '64710761ecfabcaaf553',
})
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "deviceId": "6c87332fc414a65029ovfr"
}

ty.device.getProductInfo

获取产品信息

需引入DeviceKit,且在>=1.2.6版本才可使用

请求参数

Object object

属性类型默认值必填说明
productIdstring产品 id
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success
属性类型说明
panelConfigany面板配置项,可以在平台进行配置
schemastring产品功能定义集合
schemaExtstring产品功能定义集合拓展
capabilitynumbercapability 产品能力值,在 backend-ng 平台上可以查询对应的勾选项,整体业务逻辑会根据该数据进行划分 区分设备类型也可以根据该属性进行调整,按二进制位运算的方式进行管理
attributenumberattribute 产品属性定义,在 backend-ng 平台上可查到对应配置,使用二进制位运算的方式进行管理
productIdstringproductId 产品 id
categorystringcategory 产品的分类
categoryCodestringcategoryCode 产品的二级分类
standardbooleanstandard 是否为标准产品
pccstringpcc Thing 自研蓝牙 mesh 产品的分类标识
vendorInfostringvendorInfo Thing 自研蓝牙 mesh 产品的分类标识,融合类使用
quickOpDpsarrayquickOpDps 快捷操作的 dp ids
faultDpsarrayfaultDps 告警/错误的显示 dp ids
displayDpsarraydisplayDps 快捷操作的 dp ids
displayMsgsanydisplayMsgs 快捷操作显示文案
uiPhasestringuiPhase ui 包当前环境,预览包或线上包
uiIdstringuiId ui 包唯一包名识别
uiVersionstringuiVersion ui 包版本号
uistringui ui 小标识
rnFindbooleanrnFind 是否有包含 RN 包
uiTypestringuiType ui 包类型
uiNamestringuiName ui 包名称
i18nTimenumberi18nTime 产品语言包最新更新时间
supportGroupbooleansupportGroup 是否支持创建群组
supportSGroupbooleansupportSGroup 是否支持创建标准群组
configMetasanyconfigMetas 产品特殊配置项,一些功能业务的特殊配置
productVerstringproductVer 产品版本
  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

ty.device.getProductInfo({
  productId: 'ORL6E2BCxSYVpfs4',
})
  .then((res) => {
    console.log(res);
  })
  .catch((error) => {
    console.log(error);
  });

返回示例

{
  "rnFind": false,
  "configMetas": {},
  "i18nTime": 0,
  "vendorInfo": "",
  "pcc": "",
  "faultDps": [],
  "attributeString": "100000000000000000011000000100110000000",
  "attribute": 274878695808,
  "category": "dj",
  "productId": "ORL6E2BCxSYVpfs4",
  "supportGroup": false,
  "quickOpDps": [],
  "productVer": "1.0.0",
  "standard": false,
  "categoryCode": "wf_dj",
  "displayMsgs": {},
  "supportSGroup": false,
  "displayDps": [],
  "capability": 1,
  "schemaExt": "[{"id":102},{"id":104},{"id":106},{"id":107},{"id":116}]", 
  "schema": "[{"code":"led","id":101,"mode":"rw","name":"日常灯开关","property":{"type":"bool"},"type":"obj"},{"code":"led_light","id":102,"mode":"rw","name":"日常灯亮度","property":{"unit":"","min":1,"max":20,"scale":0,"step":1,"type":"value"},"type":"obj"},{"code":"time_set","id":103,"mode":"rw","name":"设备时间","property":{"type":"string","maxlen":255},"type":"obj"},{"code":"panel_light","id":104,"mode":"rw","name":"面板亮度","property":{"unit":"","min":0,"max":2,"scale":0,"step":1,"type":"value"},"type":"obj"},{"code":"Radio","id":105,"mode":"rw","name":"Radio开关","property":{"type":"bool"},"type":"obj"},{"code":"volume","id":106,"mode":"rw","name":"Radio音量","property":{"unit":"","min":1,"max":16,"scale":0,"step":1,"type":"value"},"type":"obj"},{"code":"Radiolist","id":107,"mode":"rw","name":"Radio总台数及当前播放台号","type":"raw"},{"code":"clock1","id":109,"mode":"rw","name":"闹钟1开关","property":{"type":"bool"},"type":"obj"},{"code":"Delay_time","id":116,"mode":"rw","name":"推迟启动时间","property":{"unit":"分钟","min":8,"max":15,"scale":0,"step":1,"typ<LOG_EXCEED_MAX_LENGTH>", 
}

👉 立即开发。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值