UNPKG

hilink-ts

Version:

智能家居hilink扩展h5应用工具开发

172 lines (171 loc) 3.61 kB
import { HuaweiTime, HuaweiTimestamp } from "./time"; export interface IDevInfo { /** * 设备类型 */ devType: string; /** * 固件版本(Firmware Version) */ fwv: string; /** * HiLink协议版本 */ hiv: string; /** * 硬件版本(Hardware Version) */ hwv: string; /** * MAC地址,格式为“XX:XX:XX:XX:XX:XX”,统一为大写 */ mac: string; /** * 制造商ID */ manu: string; /** * 设备型号 */ model: string; /** * 产品ID */ prodId: string; /** * 协议类型。取值范围如下: 1: Wi-Fi。 2: Z-Wave。 3: ZigBee。 4: BLE。 5: PLC。 */ protType: string; /** * 设置设备信息 */ setupType: string; /** * 设备的序列号,用于唯一标识该设备,可以根据MAC地址或者IMEI号等信息来设置。SN只用于对初次发现的设备进行唯一标识,一旦注册从云端分配到devId后,便通过devId来访问该设备 */ sn: string; /** * 软件版本 */ swv: string; udid: string; } export interface IDevService<S, D> { sid: S; st: string; reportId: string; data?: D; ts?: HuaweiTime; } export type Bool = "true" | "false"; export interface IDevResult<S, D> { /** * 设备控制状态 。取值说明如下: 0:空闲。 1:控制中。 2:升级中。 */ controlStatus: number; /** * 设备ID */ devId: string; devInfo: IDevInfo; /** * 设备名称 */ devName: string; /** * 设备标签 */ devTags: { sharable: Bool; personal: Bool; groupStatus: Bool; }; deviceAliasNames: []; /** * 区分设备的ID */ deviceId: string; deviceaddstatus: number; /** * 设备所处Gateway的ID */ gatewayId: string; /** * 分享该设备权限设备管理员的homeID */ homeId: string; /** * 房间名称 */ homeName: string; installationStatus: number; isDeleted: boolean; /** * 是否是本地化管理的设备 */ isLocalDevice: boolean; isTitleOrNot: boolean; /** * 节点类型,取值范围如下: ENDPOINT:通过网关接入的设备。 GATEWAY:网关。 GROUP:设备组。 */ nodeType: string; /** * 设备的操作权限,取值范围包括:EXECUTE、WRITE,、READ */ operations: ("READ" | "EXECUTE" | "WRITE")[]; /** * 产品ID,该取值与devInfo中的prodId保持一致 */ prodId: string; redPointFlag: number; /** * 设备注册时间(毫秒级时间戳) */ registryTime: HuaweiTimestamp; /** * 是否是自己的设备homeName * role: "owner"; */ role: string; roomAliasNames: string[]; /** * 房间ID */ roomId: number; /** * 房间名称 */ roomName: string; /** * 设备的服务能力信息 */ services: IDevService<S, D>[]; /** * 设备状态。取值说明如下: offline:设备离线。 online:设备在线。 inbox:未注册设备。 unConfigure: 海外未配置的路由 */ status: string; supportShare: boolean; errcode?: number; } export interface ICacheDevResult<S, D> extends IDevResult<S, D> { /** * 房间类型 设备家庭类型 */ homeType: string; from: string; }