zigbee-herdsman 4.1.2 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +5 -2
  4. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  5. package/dist/adapter/deconz/adapter/deconzAdapter.js +374 -328
  6. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  7. package/dist/adapter/deconz/driver/constants.d.ts +121 -63
  8. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  9. package/dist/adapter/deconz/driver/constants.js +122 -40
  10. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.d.ts +66 -38
  12. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  13. package/dist/adapter/deconz/driver/driver.js +982 -434
  14. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  15. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  16. package/dist/adapter/deconz/driver/frameParser.js +333 -266
  17. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  18. package/dist/adapter/ember/enums.d.ts +21 -370
  19. package/dist/adapter/ember/enums.d.ts.map +1 -1
  20. package/dist/adapter/ember/enums.js +20 -383
  21. package/dist/adapter/ember/enums.js.map +1 -1
  22. package/dist/adapter/ember/ezsp/consts.d.ts +1 -1
  23. package/dist/adapter/ember/ezsp/consts.js +1 -1
  24. package/dist/adapter/ember/ezsp/enums.d.ts +29 -3
  25. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -1
  26. package/dist/adapter/ember/ezsp/enums.js +29 -2
  27. package/dist/adapter/ember/ezsp/enums.js.map +1 -1
  28. package/dist/adapter/ember/ezsp/ezsp.d.ts +29 -4
  29. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  30. package/dist/adapter/ember/ezsp/ezsp.js +66 -3
  31. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  32. package/dist/adapter/ember/uart/ash.js +1 -1
  33. package/package.json +2 -2
  34. package/src/adapter/deconz/adapter/deconzAdapter.ts +444 -367
  35. package/src/adapter/deconz/driver/constants.ts +147 -82
  36. package/src/adapter/deconz/driver/driver.ts +1091 -501
  37. package/src/adapter/deconz/driver/frameParser.ts +351 -272
  38. package/src/adapter/ember/enums.ts +20 -397
  39. package/src/adapter/ember/ezsp/consts.ts +1 -1
  40. package/src/adapter/ember/ezsp/enums.ts +31 -4
  41. package/src/adapter/ember/ezsp/ezsp.ts +79 -3
  42. package/src/adapter/ember/uart/ash.ts +1 -1
@@ -1,68 +1,97 @@
1
1
  import events from "node:events";
2
- import { type ApsDataRequest, type ParameterT, type ReceivedDataResponse, type Request } from "./constants";
2
+ import type { Backup } from "../../../models";
3
+ import type { NetworkOptions, SerialPortOptions } from "../../tstype";
4
+ import { type ApsDataRequest, type ReceivedDataResponse, type ApsRequest, type Request, NetworkState, ParamId } from "./constants";
3
5
  export declare const busyQueue: Array<Request>;
4
- export declare const apsBusyQueue: Array<Request>;
5
- export declare let readyToSend: boolean;
6
- export declare function enableRTS(): void;
7
- export declare function disableRTS(): void;
8
- export declare let enableRtsTimeout: NodeJS.Timeout | undefined;
6
+ export declare const apsBusyQueue: Array<ApsRequest>;
9
7
  declare class Driver extends events.EventEmitter {
10
- private path;
11
8
  private serialPort?;
12
- private initialized;
9
+ private serialPortOptions;
13
10
  private writer;
14
11
  private parser;
15
12
  private frameParserEvent;
16
13
  private seqNumber;
17
- private timeoutResetTimeout?;
18
- private apsRequestFreeSlots;
19
- private apsDataConfirm;
20
- private apsDataIndication;
14
+ private deviceStatus;
21
15
  private configChanged;
22
16
  private socketPort?;
23
- private delay;
24
- private readyToSendTimeout;
25
- private handleDeviceStatusDelay;
26
- private processQueues;
27
17
  private timeoutCounter;
28
- private currentBaudRate;
29
- constructor(path: string);
18
+ private watchdogTriggeredTime;
19
+ private lastFirmwareRxTime;
20
+ private tickTimer;
21
+ private driverStateStart;
22
+ private driverState;
23
+ private firmwareLog;
24
+ private transactionID;
25
+ private txState;
26
+ private txCommand;
27
+ private txSeq;
28
+ private txTime;
29
+ private networkOptions;
30
+ private backup;
31
+ private configMatchesBackup;
32
+ private configIsNewNetwork;
33
+ restoredFromBackup: boolean;
34
+ paramMacAddress: bigint;
35
+ paramTcAddress: bigint;
36
+ paramFirmwareVersion: number;
37
+ paramCurrentChannel: number;
38
+ paramNwkPanid: number;
39
+ paramNwkKey: Buffer<ArrayBuffer>;
40
+ paramNwkUpdateId: number;
41
+ paramChannelMask: number;
42
+ paramProtocolVersion: number;
43
+ paramFrameCounter: number;
44
+ paramApsUseExtPanid: bigint;
45
+ constructor(serialPortOptions: SerialPortOptions, networkOptions: NetworkOptions, backup: Backup | undefined, firmwareLog: string[]);
46
+ cleanupAllQueues(): void;
47
+ started(): boolean;
30
48
  protected intervals: NodeJS.Timeout[];
31
49
  protected registerInterval(interval: NodeJS.Timeout): void;
32
50
  protected catchPromise<T>(val: Promise<T>): Promise<undefined | Awaited<T>>;
33
- setDelay(delay: number): void;
51
+ nextTransactionID(): number;
52
+ private tick;
53
+ private emitStateEvent;
54
+ private needWatchdogReset;
55
+ private resetWatchdog;
56
+ private handleFirmwareEvent;
57
+ private handleConnectedStateEvent;
58
+ private handleConnectingStateEvent;
59
+ private isNetworkConfigurationValid;
60
+ private reconfigureNetwork;
61
+ private handleReadConfigurationStateEvent;
62
+ private handleReconfigureStateEvent;
63
+ private handleWaitToReconnectStateEvent;
64
+ private handleCloseAndRestartStateEvent;
65
+ private handleApsQueueOnDeviceState;
66
+ private handleStateEvent;
34
67
  private onPortClose;
35
- open(baudrate: number): Promise<void>;
68
+ private onPortError;
69
+ private isOpen;
36
70
  openSerialPort(baudrate: number): Promise<void>;
37
71
  private openSocketPort;
38
72
  close(): Promise<void>;
39
- readParameterRequest(parameterId: number): Promise<unknown>;
40
- writeParameterRequest(parameterId: number, parameter: ParameterT): Promise<void>;
73
+ readParameterRequest(parameterId: ParamId, parameter?: Buffer | undefined): Promise<unknown>;
74
+ writeParameterRequest(parameterId: ParamId, parameter: Buffer | number | bigint): Promise<void>;
75
+ private sendChangeChannelRequest;
41
76
  writeLinkKey(ieeeAddress: string, hashedKey: Buffer): Promise<void>;
42
- readFirmwareVersionRequest(): Promise<number[]>;
77
+ readFirmwareVersionRequest(): Promise<number>;
78
+ readDeviceStatusRequest(): Promise<number>;
43
79
  private sendReadParameterRequest;
44
80
  private sendWriteParameterRequest;
45
- private getLengthOfParameter;
46
- private parameterBuffer;
47
81
  private sendReadFirmwareVersionRequest;
48
82
  private sendReadDeviceStateRequest;
49
83
  private sendRequest;
50
84
  private processQueue;
51
- private processBusyQueue;
52
- changeNetworkStateRequest(networkState: number): Promise<void>;
85
+ private processBusyQueueTimeouts;
86
+ changeNetworkStateRequest(networkState: NetworkState): Promise<void>;
53
87
  private sendChangeNetworkStateRequest;
54
- private deviceStateRequest;
55
88
  private checkDeviceStatus;
56
- private handleDeviceStatus;
57
- private readReceivedDataRequest;
58
- enqueueSendDataRequest(request: ApsDataRequest): Promise<undefined | ReceivedDataResponse>;
59
- private querySendDataStateRequest;
89
+ enqueueApsDataRequest(request: ApsDataRequest): Promise<undefined | ReceivedDataResponse>;
60
90
  private processApsQueue;
61
- private processApsConfirmIndQueue;
62
- private sendQueryDataStateRequest;
63
- private sendReadReceivedDataRequest;
64
- private sendEnqueueSendDataRequest;
65
- private processApsBusyQueue;
91
+ private sendReadApsConfirmRequest;
92
+ private sendReadApsIndicationRequest;
93
+ private sendEnqueueApsDataRequest;
94
+ private processApsBusyQueueTimeouts;
66
95
  private calcCrc;
67
96
  macAddrStringToArray(addr: string): Array<number>;
68
97
  macAddrArrayToString(addr: Array<number>): string;
@@ -73,7 +102,6 @@ declare class Driver extends events.EventEmitter {
73
102
  private nextSeqNumber;
74
103
  private onParsed;
75
104
  private sleep;
76
- private resetTimeoutCounterAfter1min;
77
105
  }
78
106
  export default Driver;
79
107
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,aAAa,CAAC;AAQjC,OAAc,EAAC,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,OAAO,EAAC,MAAM,aAAa,CAAC;AAQjH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,OAAO,CAAM,CAAC;AAE5C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,OAAO,CAAM,CAAC;AAE/C,eAAO,IAAI,WAAW,SAAO,CAAC;AAE9B,wBAAgB,SAAS,IAAI,IAAI,CAIhC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED,eAAO,IAAI,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAExD,cAAM,MAAO,SAAQ,MAAM,CAAC,YAAY;IACpC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAC7C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;gBAET,IAAI,EAAE,MAAM;IA4D/B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAM;IAE3C,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;cAI1C,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAI1E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA2DpC,OAAO,CAAC,WAAW;IAMN,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA6BxC,cAAc;IA0CrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BtB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3D,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1E,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWtD,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,YAAY;YAgDN,gBAAgB;IAiCvB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrE,OAAO,CAAC,6BAA6B;YAIvB,kBAAkB;IAWhC,OAAO,CAAC,iBAAiB;YAaX,kBAAkB;IA+BhC,OAAO,CAAC,uBAAuB;IAYxB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAYjG,OAAO,CAAC,yBAAyB;YAWnB,eAAe;IAuC7B,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,0BAA0B;IAyDlC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,OAAO;IAUR,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAmBjD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAkBxD;;OAEG;IACI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAevE,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,4BAA4B;CAQvC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}