UNPKG

zigbee-herdsman

Version:

An open source ZigBee gateway solution with node.js.

181 lines (168 loc) 4.1 kB
/* v8 ignore start */ import type {GenericZdoResponse} from "../../../zspec/zdo/definition/tstypes"; const PARAM = { Network: { NET_OFFLINE: 0x00, NET_JOINING: 0x01, NET_CONNECTED: 0x02, NET_LEAVING: 0x03, MAC: 0x01, PAN_ID: 0x05, NWK_ADDRESS: 0x07, EXT_PAN_ID: 0x08, CHANNEL_MASK: 0x0a, APS_EXT_PAN_ID: 0x0b, NETWORK_KEY: 0x18, LINK_KEY: 0x19, CHANNEL: 0x1c, PERMIT_JOIN: 0x21, WATCHDOG_TTL: 0x26, }, STK: { Endpoint: 0x13, }, FrameType: { ReadDeviceState: 0x07, ReadParameter: 0x0a, WriteParameter: 0x0b, ReadFirmwareVersion: 0x0d, DeviceStateChanged: 0x0e, GreenPowerDataInd: 0x19, }, APS: { DATA_CONFIRM: 0x04, DATA_REQUEST: 0x12, DATA_INDICATION: 0x17, }, NetworkState: { NET_OFFLINE: 0x00, NET_JOINING: 0x01, NET_CONNECTED: 0x02, NET_LEAVING: 0x03, CHANGE_NETWORK_STATE: 0x08, }, addressMode: { GROUP_ADDR: 0x01, NWK_ADDR: 0x02, IEEE_ADDR: 0x03, }, txRadius: { DEFAULT_RADIUS: 30, UNLIMITED: 0, }, }; interface Request { commandId: number; networkState?: number; parameterId?: number; parameter?: ParameterT; request?: ApsDataRequest; seqNumber: number; // biome-ignore lint/suspicious/noExplicitAny: API resolve: (value: any) => void; reject: (value: Error) => void; ts?: number; } interface WaitForDataRequest { addr: number | string; profileId: number; clusterId: number; transactionSequenceNumber?: number; resolve: (value: ReceivedDataResponse | PromiseLike<ReceivedDataResponse>) => void; reject: (value: Error) => void; ts?: number; timeout?: number; } interface ReceivedDataResponse { commandId: number; seqNr: number; status: number; frameLength: number; payloadLength: number; deviceState: number; destAddrMode: number; destAddr16?: number; destAddr64?: string; destEndpoint: number; srcAddrMode: number; srcAddr16?: number; srcAddr64?: string; srcEndpoint: number; profileId: number; clusterId: number; asduLength: number; asduPayload: Buffer; lqi: number; rssi: number; zdo?: GenericZdoResponse; } interface GpDataInd { rspId: number; seqNr: number; id: number; options: number; srcId: number; frameCounter: number; commandId: number; commandFrameSize: number; commandFrame: Buffer; } interface DataStateResponse { commandId: number; seqNr: number; status: number; frameLength: number; payloadLength: number; deviceState: number; requestId: number; destAddrMode: number; destAddr16?: number; destAddr64?: string; destEndpoint?: number; srcEndpoint: number; confirmStatus: number; } interface ApsDataRequest { requestId: number; destAddrMode: number; destAddr16?: number; destAddr64?: string; //number[]; destEndpoint?: number; profileId: number; clusterId: number; srcEndpoint: number; asduLength: number; asduPayload: Buffer; txOptions: number; radius: number; timeout?: number; // seconds } type ParamMac = string; type ParamPanId = number; type ParamExtPanId = string; type ParamNwkAddr = number; type ParamChannel = number; type ParamChannelMask = number; type ParamPermitJoin = number; type ParamNetworkKey = string; type Command = ParamMac | ParamPanId | ParamNwkAddr | ParamExtPanId | ParamChannel | ParamChannelMask | ParamPermitJoin | ParamNetworkKey; type ParameterT = number | number[]; export type { Request, WaitForDataRequest, ApsDataRequest, ReceivedDataResponse, DataStateResponse, ParameterT, Command, ParamMac, ParamPanId, ParamNwkAddr, ParamExtPanId, ParamChannel, ParamChannelMask, ParamPermitJoin, ParamNetworkKey, GpDataInd, }; export default {PARAM};