UNPKG

zigbee-herdsman

Version:

An open source ZigBee gateway solution with node.js.

77 lines 2.73 kB
import { EventEmitter } from "node:events"; import type { Adapter, Events as AdapterEvents } from "../adapter"; import * as Zcl from "../zspec/zcl"; import type { GreenPowerDeviceJoinedPayload } from "./tstype"; declare const enum ZigbeeNWKGPAppId { Default = 0, Lped = 1, Zgp = 2 } declare const enum ZigbeeNWKGPSecurityLevel { /** No Security */ No = 0, /** Reserved? */ OneLsb = 1, /** 4 Byte Frame Counter and 4 Byte MIC */ Full = 2, /** 4 Byte Frame Counter and 4 Byte MIC with encryption */ FullEncr = 3 } declare const enum ZigbeeNWKGPSecurityKeyType { NoKey = 0, ZbNwkKey = 1, GpdGroupKey = 2, NwkKeyDerivedGpdKeyGroupKey = 3, PreconfiguredIndividualGpdKey = 4, DerivedIndividualGpdKey = 7 } declare const enum GPCommunicationMode { FullUnicast = 0, GroupcastToDgroupId = 1, GroupcastToPrecommissionedGroupId = 2, LightweightUnicast = 3 } type PairingOptions = { appId: ZigbeeNWKGPAppId; addSink: boolean; removeGpd: boolean; communicationMode: GPCommunicationMode; gpdFixed: boolean; gpdMacSeqNumCapabilities: boolean; securityLevel: ZigbeeNWKGPSecurityLevel; securityKeyType: ZigbeeNWKGPSecurityKeyType; gpdSecurityFrameCounterPresent: boolean; gpdSecurityKeyPresent: boolean; assignedAliasPresent: boolean; groupcastRadiusPresent: boolean; }; type CommissioningModeOptions = { action: number; commissioningWindowPresent: boolean; /** Bits: 0: On first Pairing success | 1: On GP Proxy Commissioning Mode (exit) */ exitMode: number; /** should always be always false in current spec (1.1.2) */ channelPresent: boolean; unicastCommunication: boolean; }; interface GreenPowerEventMap { deviceJoined: [payload: GreenPowerDeviceJoinedPayload]; deviceLeave: [sourceID: number]; } export declare class GreenPower extends EventEmitter<GreenPowerEventMap> { private adapter; constructor(adapter: Adapter); static sourceIdToIeeeAddress(sourceId: number): string; private encryptSecurityKey; private decryptPayload; static encodePairingOptions(options: PairingOptions): number; static decodePairingOptions(byte: number): PairingOptions; /** see 14-0563-19 A.3.3.5.2 */ private sendPairingCommand; processCommand(dataPayload: AdapterEvents.ZclPayload, frame: Zcl.Frame, securityKey?: Buffer): Promise<Zcl.Frame>; static encodeCommissioningModeOptions(options: CommissioningModeOptions): number; static decodeCommissioningModeOptions(byte: number): CommissioningModeOptions; permitJoin(time: number, networkAddress?: number): Promise<void>; } export default GreenPower; //# sourceMappingURL=greenPower.d.ts.map