更新时间:2021-09-07 07:57:50下载pdf
类型:枚举型
名称 | 能力位 | 描述 |
---|---|---|
WIFI | 0 | Wi-Fi |
CABLE | 1 | cable(以太网) |
GPRS | 2 | gprs(2/3/4G) |
NBIOT | 3 | NB-IOT |
BLUETOOTH | 10 | 蓝牙BLE |
BLEMESH | 11 | 涂鸦mesh |
ZIGBEE | 12 | zigbee |
INFRARED | 13 | infrared(红外) |
SUBPIECES | 14 | subpieces(315,433等) |
SIGMESH | 15 | Sigmesh |
MCU | 16 | MCU |
TYMESH | 17 | 涂鸦 Sub-G Mesh |
ZWAVE | 18 | Zwave |
PLMESH | 19 | 蓝牙mesh |
CAT1 | 20 | LTE Cat1 |
BEACON | 21 | 蓝牙beacon |
方法描述:检测是否拥有需要的能力并且没有不需要的能力
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
capability | number | 否 | 无 | 需要校验的设备的能力值 |
requiredCapabilityList | Array<DeviceCapability | number> | 是 | [] | 需要的能力位数组 |
unneededCapabilityList | Array<DeviceCapability | number> | 是 | [] | 不需要的能力位数组 |
使用示例:
import { GatewayUtils, DeviceCapability } from '@tuya/tuya-panel-gateway-sdk';
const { checkCapability } = GatewayUtils;
checkCapability(1024, [DeviceCapability.BLUETOOTH], [DeviceCapability.WIFI]);
// 或
checkCapability(1024, [10], [1]);
方法描述:获取当前家庭下所有设备
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllDevice } = GatewayUtils;
getAllDevice().then(res => {
// 家庭下所有设备列表
const deviceList = res;
});
方法描述:获取网关下的所有子设备
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
devId | string | 是 | TYSdk.devInfo.devId | 网关的设备 id |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
import { TYSdk } from 'tuya-panel-kit';
const { getAllSubDevList } = GatewayUtils;
getAllSubDevList(TYSdk.devInfo.devId).then(res => {
// 子设备列表
const deviceList = res;
});
方法描述:获取指定规则下网关下的子设备列表
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
rules | function[] | 是 | [] | 规则函数数组,函数入参为设备能力值capability和设备信息devInfo,返回结果为bool,表示是否满足筛选条件 |
gatewayDevId | string | 是 | TYSdk.devInfo.devId | 网关的设备 id |
使用示例:
import { GatewayUtils, DeviceCapability } from '@tuya/tuya-panel-gateway-sdk';
import { TYSdk } from 'tuya-panel-kit';
const { checkCapability, getSpecificSubDevList } = GatewayUtils;
// 获取具有蓝牙能力的设备
const getBluetoothDev = (capability, devInfo) => {
return checkCapability(capability, [DeviceCapability.BLUETOOTH]);
};
// 获取具有Zigbee能力的设备
const getZigbeeDev = (capability, devInfo) => {
return checkCapability(capability, [DeviceCapability.ZIGBEE]);
};
getSpecificSubDevList([getBluetoothDev, getZigbeeDev], TYSdk.devInfo.devId).then(res => {
// bluetoothList:具有蓝牙能力的设备列表,zigbeeList:具有Zigbee能力的设备列表
const [bluetoothList, zigbeeList] = res;
});
方法描述:判断是否是蓝牙子设备
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
capability | number | 否 | 无 | 需要校验的设备的能力值 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllSubDevList, isBlueSub } = GatewayUtils;
isBlueSub(1024); // 将会返回true
isBlueSub(1025); // 将会返回false
getAllSubDevList().then(res => {
// 蓝牙子设备列表
const deviceList = res.filter(({ capability }) => isBlueSub(capability));
});
方法描述:判断是否是sigmesh子设备
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
capability | number | 否 | 无 | 需要校验的设备的能力值 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllSubDevList, isSigmeshSub } = GatewayUtils;
isSigmeshSub(32768); // 将会返回true
isSigmeshSub(32769); // 将会返回false
getAllSubDevList().then(res => {
// sigmesh子设备列表
const deviceList = res.filter(({ capability }) => isSigmeshSub(capability));
});
方法描述:判断是否是zigbee子设备
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
capability | number | 否 | 无 | 需要校验的设备的能力值 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllSubDevList, isZigbeeSub } = GatewayUtils;
isZigbeeSub(4096); // 将会返回true
isZigbeeSub(4097); // 将会返回false
getAllSubDevList().then(res => {
// zigbee子设备列表
const deviceList = res.filter(({ capability }) => isZigbeeSub(capability));
});
方法描述:判断是否是beacon子设备
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
capability | number | 否 | 无 | 需要校验的设备的能力值 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllSubDevList, isBeaconSub } = GatewayUtils;
isBeaconSub(2097152); // 将会返回true
isBeaconSub(2097153); // 将会返回false
getAllSubDevList().then(res => {
// beacon子设备列表
const deviceList = res.filter(({ capability }) => isBeaconSub(capability));
});
方法描述:根据子设备和网关的mesh关系,判断子设备是否是可添加到网关下
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
subDevInfo | object | 否 | 无 | 子设备信息 |
gatewayDevInfo | object | 是 | TYSdk.devInfo | 网关设备信息 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllDevice, isAddableMesh } = GatewayUtils;
getAllDevice().then(res => {
// mesh关系可添加到网关下的设备列表
const addableDeviceList = res.filter(device => isAddableMesh(device));
});
方法描述:判断设备是否是可添加到网关下
参数名 | 参数类型 | 是否可选 | 默认值 | 描述 |
---|---|---|---|---|
devInfo | object | 否 | 无 | 设备信息 |
gatewayDevInfo | object | 是 | TYSdk.devInfo | 网关设备信息 |
isMeshValid | function | 是 | isAddableMesh | 根据设备和网关的mesh关系,判断设备能否添加到网关下 |
bluetoothPidBlackList | []string | 是 | [ ‘ahkliczu’, ‘h4wa9i2m’, ‘itbz5kp3’, ‘rpabxhth’, ‘uhuqwuib’, ‘uk21by86’, ‘wvgwdbag’, ‘wvicf3bs’, ‘bvo6il58’, ‘hdoz0dny’, ‘ul3jjbna’, ‘ya75xxhl’] | 蓝牙设备的pid黑名单,如果蓝牙子设备的pid在此黑名单内,则不支持添加到网关下。 |
supportBeacon | bool | 是 | false | 是否支持添加beacon设备 |
使用示例:
import { GatewayUtils } from '@tuya/tuya-panel-gateway-sdk';
const { getAllDevice, isAddableMesh, isAddableDevice } = GatewayUtils;
getAllDevice().then(res => {
// 可添加到网关下的设备列表,包含beacon子设备
const addableDeviceList = res.filter(device =>
isAddableDevice({
devInfo: device,
gatewayDevInfo: TYSdk.devInfo,
isMeshValid: isAddableMesh,
bluetoothPidBlackList: [],
supportBeacon: true,
})
);
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈