/** * 功能点值类型,可能为 boolean、number、string */ export type DpValue = boolean | number | string; /** * 功能点状态对象,key 为功能点 code,value 为功能点值 */ export type DpState = Record; /** * 设备能力枚举 * 对应设备 capability 位的定义 */ export declare enum DeviceCapability { /** WiFi */ WiFi = 0, /** GPRS */ GPRS = 2, /** 蓝牙 */ Bluetooth = 10, /** BLE Mesh */ BLEMesh = 11, /** Zigbee */ Zigbee = 12, /** Sig Mesh */ SigMesh = 15, /** Cat.1 */ Cat1 = 20, /** Beacon */ Beacon = 21, /** LTE Cat.4 */ LTECat4 = 22, /** LTE Cat.10 */ LTECat10 = 23, /** LTE Cat.M */ LTECatM = 24, /** Thread */ Thread = 25 } /** * 产品通讯能力标位,按二进制位运算的方式进行判断计算,如 Wi-Fi、Bluetooth、ZigBee、SigMesh 等 * * - Wi-Fi (bit 0, 十进制值: 1): wifi无线 * - Cable (bit 1, 十进制值: 2): 有线 * - GPRS (bit 2, 十进制值: 4): 类似2g网络 * - NB-IoT (bit 3, 十进制值: 6): 物联网卡网络 * - Bluetooth (bit 10, 十进制值: 1024): 蓝牙单点 * - BLEMesh (bit 11, 十进制值: 2048): 蓝牙私有mesh * - ZigBee (bit 12, 十进制值: 4096): 2.4g频段 * - Infrared (bit 13, 十进制值: 8192): 红外 * - 433 (subpieces) (bit 14, 十进制值: 16384): 433mhz * - SigMesh (bit 15, 十进制值: 32768): 蓝牙标准Mesh * - MCU (bit 16, 十进制值: 65536): mcu * - SMesh (bit 17, 十进制值: 131072): 类似ZigBee * - Cat1 (bit 20, 十进制值: 1048576): 通常使用3g网络 * - Beacon (bit 21, 十进制值: 2097152): 蓝牙Beacon * - Thread (bit 25, 十进制值: 33554432): Thread能力 */ export type Capability = number; /** * 设备能力标位,由固件上报 * * 位数含义: * - 第 1 位 (bit 0): 设备是否支持免配网 * - 第 2 位 (bit 1): 设备支持 dp query 31 号协议查询 * - 第 3 位 (bit 2): 设备是否具有本地联动能力 * - 第 4 位 (bit 3): 设备是否支持 WIFI 扫描 * - 第 5 位 (bit 4): 设备是否支持 Google Local Home * - 第 6 位 (bit 5): 设备是否支持闪电配网能力 * - 第 7 位 (bit 6): 设备是否支持蓝牙控制 * - 第 8 位 (bit 7): 设备是否支持安防能力 * - 第 9 位 (bit 8): 设备是否是共享设备 * - 第 10 位 (bit 9): 设备是否支持日出日落定时 * - 第 11 位 (bit 10): 设备是否支持故障替换能力 * - 第 12 位 (bit 11): 设备是否支持 OTA * - 第 13 位 (bit 12): 设备是否支持 WIFI 备用切换 * - 第 15 位 (bit 14): 设备支持涂鸦标准协议 * - 第 16 位 (bit 15): 设备支持自定义透传 * - 第 17 位 (bit 16): 设备是否支持行业能力 */ export type DevAttribute = number; /** * 设备功能点 Schema 定义 */ export interface DpSchema { attr?: number; canTrigger?: boolean; /** * 功能点标识码,如 switch */ code: string; defaultRecommend?: boolean; editPermission?: boolean; executable?: boolean; extContent?: string; iconname?: string; /** * 功能点 ID */ id: number | string; /** * 功能点模式类型 * rw: 可下发可上报(可读可写) * ro: 只可上报(仅可读) * wr: 只可下发(仅可写) */ mode: 'rw' | 'ro' | 'wr'; /** * 功能点名称,一般用于语音等场景 */ name: string; /** * 功能点属性 */ property?: { /** * 功能点类型 */ type: 'bool' | 'value' | 'enum' | 'bitmap' | 'string' | 'raw'; /** * 枚举值范围,type = enum 时才存在 */ range?: string[] | readonly string[]; /** * 故障型标签列表,type = bitmap 时才存在 */ label?: string[] | readonly string[]; /** * 故障型最大长度,type = bitmap 时才存在 */ maxlen?: number; /** * 数值型单位,type = value 时才存在 */ unit?: string; /** * 数值型最小值,type = value 时才存在 */ min?: number; /** * 数值型最大值,type = value 时才存在 */ max?: number; /** * 数值型精度,type = value 时才存在 * @example * scale = 0; value = 10; 则业务上显示值为 10 * scale = 1; value = 10; 则业务上显示值为 1 * scale = 2; value = 10; 则业务上显示值为 0.1 */ scale?: number; /** * 数值型步长,type = value 时才存在 */ step?: number; }; type: 'raw' | 'obj'; } interface JumpUrlConfig { /** * 跳转链接配置代码 */ code: 'jump_url'; /** * 跳转链接配置描述 */ description: string; /** * 跳转链接配置名称 */ name: string; /** * 跳转链接配置是否选中 */ selected: boolean; } interface TimerConfig { /** * 云定时配置代码 */ code: 'timer'; /** * 云定时配置描述 */ description: string; /** * 云定时配置名称 */ name: string; /** * 云定时配置是否选中 */ selected: boolean; } export interface FunConfig { /** * 背景色,当前仅涂鸦官方小程序支持 */ tyabirysr4: string; /** * 背景色跟随策略,follow 代表跟随 App,否则代表要替换的 App 变量路径,当前仅涂鸦官方小程序支持 */ tyabirysr4_app: 'follow' | '--app-B1'; /** * 主题色,当前仅涂鸦官方小程序支持 */ tyabis5d9w: string; /** * 主题色跟随策略,follow 代表跟随 App,否则代表要替换的 App 变量路径,当前仅涂鸦官方小程序支持 */ tyabis5d9w_app: 'follow' | '--app-M1'; [code: string]: string; } export interface CloudConfig { /** * 跳转链接配置 */ jump_url?: JumpUrlConfig; /** * 云定时配置 */ timer?: TimerConfig; } /** * 面板配置 */ export interface PanelConfig { /** * 云定时和跳转链接配置 */ bic: CloudConfig[]; /** * 功能配置 */ fun?: FunConfig; } /** * 设备信息 */ export type DevInfo = Omit & { /** * dp id 与 dp code 的映射 */ idCodes: Record; /** * dp code 与 dp id 的映射 */ codeIds: Record; /** * 产品通讯能力标位,按二进制位运算的方式进行判断计算,如 Wi-Fi、Bluetooth、ZigBee、SigMesh 等 * * - Wi-Fi (bit 0, 十进制值: 1): wifi无线 * - Cable (bit 1, 十进制值: 2): 有线 * - GPRS (bit 2, 十进制值: 4): 类似2g网络 * - NB-IoT (bit 3, 十进制值: 6): 物联网卡网络 * - Bluetooth (bit 10, 十进制值: 1024): 蓝牙单点 * - BLEMesh (bit 11, 十进制值: 2048): 蓝牙私有mesh * - ZigBee (bit 12, 十进制值: 4096): 2.4g频段 * - Infrared (bit 13, 十进制值: 8192): 红外 * - 433 (subpieces) (bit 14, 十进制值: 16384): 433mhz * - SigMesh (bit 15, 十进制值: 32768): 蓝牙标准Mesh * - MCU (bit 16, 十进制值: 65536): mcu * - SMesh (bit 17, 十进制值: 131072): 类似ZigBee * - Cat1 (bit 20, 十进制值: 1048576): 通常使用3g网络 * - Beacon (bit 21, 十进制值: 2097152): 蓝牙Beacon * - Thread (bit 25, 十进制值: 33554432): Thread能力 */ capability: Capability; /** * 设备能力标位,由固件上报 * 位数含义: * - 第 1 位 (bit 0): 设备是否支持免配网 * - 第 2 位 (bit 1): 设备支持 dp query 31 号协议查询 * - 第 3 位 (bit 2): 设备是否具有本地联动能力 * - 第 4 位 (bit 3): 设备是否支持 WIFI 扫描 * - 第 5 位 (bit 4): 设备是否支持 Google Local Home * - 第 6 位 (bit 5): 设备是否支持闪电配网能力 * - 第 7 位 (bit 6): 设备是否支持蓝牙控制 * - 第 8 位 (bit 7): 设备是否支持安防能力 * - 第 9 位 (bit 8): 设备是否是共享设备 * - 第 10 位 (bit 9): 设备是否支持日出日落定时 * - 第 11 位 (bit 10): 设备是否支持故障替换能力 * - 第 12 位 (bit 11): 设备是否支持 OTA * - 第 13 位 (bit 12): 设备是否支持 WIFI 备用切换 * - 第 15 位 (bit 14): 设备支持涂鸦标准协议 * - 第 16 位 (bit 15): 设备支持自定义透传 * - 第 17 位 (bit 16): 设备是否支持行业能力 */ devAttribute: DevAttribute; /** * 产品信息,schema,功能定义都在里面 */ schema: Array; /** * 面板云配置 */ panelConfig: PanelConfig; }; /** * 群组信息 */ export type GroupInfo = ty.device.GroupInfo & { /** * dp id 与 dp code 的映射 */ idCodes: Record; /** * dp code 与 dp id 的映射 */ codeIds: Record; }; export {};