zigbee-herdsman 0.56.2 → 0.57.1

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 (75) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +23 -0
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +9 -1
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/tstype.d.ts +1 -1
  7. package/dist/adapter/tstype.d.ts.map +1 -1
  8. package/dist/adapter/zboss/adapter/index.d.ts +3 -0
  9. package/dist/adapter/zboss/adapter/index.d.ts.map +1 -0
  10. package/dist/adapter/zboss/adapter/index.js +6 -0
  11. package/dist/adapter/zboss/adapter/index.js.map +1 -0
  12. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +55 -0
  13. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  14. package/dist/adapter/zboss/adapter/zbossAdapter.js +399 -0
  15. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -0
  16. package/dist/adapter/zboss/commands.d.ts +19 -0
  17. package/dist/adapter/zboss/commands.d.ts.map +1 -0
  18. package/dist/adapter/zboss/commands.js +1064 -0
  19. package/dist/adapter/zboss/commands.js.map +1 -0
  20. package/dist/adapter/zboss/consts.d.ts +9 -0
  21. package/dist/adapter/zboss/consts.d.ts.map +1 -0
  22. package/dist/adapter/zboss/consts.js +12 -0
  23. package/dist/adapter/zboss/consts.js.map +1 -0
  24. package/dist/adapter/zboss/driver.d.ts +62 -0
  25. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  26. package/dist/adapter/zboss/driver.js +332 -0
  27. package/dist/adapter/zboss/driver.js.map +1 -0
  28. package/dist/adapter/zboss/enums.d.ts +279 -0
  29. package/dist/adapter/zboss/enums.d.ts.map +1 -0
  30. package/dist/adapter/zboss/enums.js +327 -0
  31. package/dist/adapter/zboss/enums.js.map +1 -0
  32. package/dist/adapter/zboss/frame.d.ts +29 -0
  33. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  34. package/dist/adapter/zboss/frame.js +155 -0
  35. package/dist/adapter/zboss/frame.js.map +1 -0
  36. package/dist/adapter/zboss/reader.d.ts +8 -0
  37. package/dist/adapter/zboss/reader.d.ts.map +1 -0
  38. package/dist/adapter/zboss/reader.js +58 -0
  39. package/dist/adapter/zboss/reader.js.map +1 -0
  40. package/dist/adapter/zboss/types.d.ts +1 -0
  41. package/dist/adapter/zboss/types.d.ts.map +1 -0
  42. package/dist/adapter/zboss/types.js +2 -0
  43. package/dist/adapter/zboss/types.js.map +1 -0
  44. package/dist/adapter/zboss/uart.d.ts +37 -0
  45. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  46. package/dist/adapter/zboss/uart.js +369 -0
  47. package/dist/adapter/zboss/uart.js.map +1 -0
  48. package/dist/adapter/zboss/utils.d.ts +9 -0
  49. package/dist/adapter/zboss/utils.d.ts.map +1 -0
  50. package/dist/adapter/zboss/utils.js +56 -0
  51. package/dist/adapter/zboss/utils.js.map +1 -0
  52. package/dist/adapter/zboss/writer.d.ts +14 -0
  53. package/dist/adapter/zboss/writer.d.ts.map +1 -0
  54. package/dist/adapter/zboss/writer.js +43 -0
  55. package/dist/adapter/zboss/writer.js.map +1 -0
  56. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +6 -1
  57. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  58. package/dist/adapter/zigate/driver/buffaloZiGate.js +34 -26
  59. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  60. package/dist/adapter/zigate/driver/commandType.js +15 -15
  61. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  62. package/dist/adapter/zigate/driver/messageType.js +18 -18
  63. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  64. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -3
  65. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  66. package/dist/adapter/zigate/driver/parameterType.js +1 -3
  67. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  68. package/dist/adapter/zigate/driver/zigate.js +2 -2
  69. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  70. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  71. package/dist/zspec/zcl/definition/cluster.js +11 -128
  72. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  73. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  74. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  75. package/package.json +7 -8
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.56.2"
2
+ ".": "0.57.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.57.1](https://github.com/Koenkk/zigbee-herdsman/compare/v0.57.0...v0.57.1) (2024-08-30)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **ignore:** ZBOSS: Catch error for cancel waiting ([#1168](https://github.com/Koenkk/zigbee-herdsman/issues/1168)) ([53de8d4](https://github.com/Koenkk/zigbee-herdsman/commit/53de8d4f30888f2cc2f575c8c5d8007c79f92ec0))
9
+ * Remove `heimanSpecificFormaldehydeMeasurement` in favour of `msFormaldehyde` ([#1166](https://github.com/Koenkk/zigbee-herdsman/issues/1166)) ([717f729](https://github.com/Koenkk/zigbee-herdsman/commit/717f7290047a29e17f745de57a0939a1018baa99))
10
+ * Zigate: parse all values as big endian ([#1170](https://github.com/Koenkk/zigbee-herdsman/issues/1170)) ([1a50e2e](https://github.com/Koenkk/zigbee-herdsman/commit/1a50e2e47f0b7364d32fdcb3f49531f481f95c55))
11
+
12
+ ## [0.57.0](https://github.com/Koenkk/zigbee-herdsman/compare/v0.56.2...v0.57.0) (2024-08-27)
13
+
14
+
15
+ ### Features
16
+
17
+ * ZBOSS adapter for nRF ZBOSS NCP ([#1165](https://github.com/Koenkk/zigbee-herdsman/issues/1165)) ([bef4655](https://github.com/Koenkk/zigbee-herdsman/commit/bef46559a93a5218a50868cd0bb1692ae2f76383))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **ignore:** Remove `manuSpecificInovelli` cluster ([#1161](https://github.com/Koenkk/zigbee-herdsman/issues/1161)) ([54d0dda](https://github.com/Koenkk/zigbee-herdsman/commit/54d0dda8b3c11a3b8cbe7c164dba45340f29f690))
23
+ * **ignore:** Remove `mz` depdency https://github.com/Koenkk/zigbee-herdsman/pull/1154 ([46ec9ee](https://github.com/Koenkk/zigbee-herdsman/commit/46ec9ee8f08076d08b61981ea87f55fae8b4134c))
24
+ * **ignore:** update dependencies ([#1164](https://github.com/Koenkk/zigbee-herdsman/issues/1164)) ([54421dc](https://github.com/Koenkk/zigbee-herdsman/commit/54421dca7dbb3a329ec420155d2bdafe41a88e5e))
25
+
3
26
  ## [0.56.2](https://github.com/Koenkk/zigbee-herdsman/compare/v0.56.1...v0.56.2) (2024-08-18)
4
27
 
5
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,UAAU,eAAe;IACrB,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3D,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,YAAY,EAAE,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAClE;AAED,uBAAe,OAAQ,SAAQ,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;IAC/D,SAAgB,eAAe,QAAU;IACzC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;IAChD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;IAChD,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACtD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,SAAS,aACL,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,CAAC,cAAc;IASzC;;OAEG;WAEiB,MAAM,CACtB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,CAAC,cAAc,GACtC,OAAO,CAAC,OAAO,CAAC;aAoIH,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;aAEpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;aAErB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;aAE7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;aAE3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAE3C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;aAElC,MAAM,CAAC,uBAAuB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAEjE,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;aAEzD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAEhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAE9C,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAE/D,OAAO,CACnB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,yBAAyB,EAAE,MAAM,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,GAChB;QAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAC;IAEnE;;OAEG;aAEa,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAEnE,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;aAEhD,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;aAElE,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;aAEtE,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;aAExE,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;aAE9F,IAAI,CAChB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAC1C,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC;aAEA,MAAM,CAClB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAC1C,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC;aAEA,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAErF;;OAEG;aAEa,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,OAAO,EACxB,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;aAE3B,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAEjG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9I;;OAEG;aAEa,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAElD,8BAA8B,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAEvF,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;aAEtG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAC1D;AAED,eAAe,OAAO,CAAC"}
@@ -52,8 +52,16 @@ class Adapter extends events_1.default.EventEmitter {
52
52
  const { ZiGateAdapter } = await Promise.resolve().then(() => __importStar(require('./zigate/adapter')));
53
53
  const { EZSPAdapter } = await Promise.resolve().then(() => __importStar(require('./ezsp/adapter')));
54
54
  const { EmberAdapter } = await Promise.resolve().then(() => __importStar(require('./ember/adapter')));
55
+ const { ZBOSSAdapter } = await Promise.resolve().then(() => __importStar(require('./zboss/adapter')));
55
56
  let adapters;
56
- const adapterLookup = { zstack: ZStackAdapter, deconz: DeconzAdapter, zigate: ZiGateAdapter, ezsp: EZSPAdapter, ember: EmberAdapter };
57
+ const adapterLookup = {
58
+ zstack: ZStackAdapter,
59
+ deconz: DeconzAdapter,
60
+ zigate: ZiGateAdapter,
61
+ ezsp: EZSPAdapter,
62
+ ember: EmberAdapter,
63
+ zboss: ZBOSSAdapter,
64
+ };
57
65
  if (serialPortOptions.adapter && serialPortOptions.adapter !== 'auto') {
58
66
  if (adapterLookup[serialPortOptions.adapter]) {
59
67
  adapters = [adapterLookup[serialPortOptions.adapter]];
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ interface SerialPortOptions {
9
9
  baudRate?: number;
10
10
  rtscts?: boolean;
11
11
  path?: string;
12
- adapter?: 'zstack' | 'deconz' | 'zigate' | 'ezsp' | 'ember' | 'auto';
12
+ adapter?: 'zstack' | 'deconz' | 'zigate' | 'ezsp' | 'ember' | 'zboss' | 'auto';
13
13
  }
14
14
  interface AdapterOptions {
15
15
  concurrent?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"tstype.d.ts","sourceRoot":"","sources":["../../src/adapter/tstype.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tstype.d.ts","sourceRoot":"","sources":["../../src/adapter/tstype.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ZBOSSAdapter } from './zbossAdapter';
2
+ export { ZBOSSAdapter };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zboss/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZBOSSAdapter = void 0;
4
+ const zbossAdapter_1 = require("./zbossAdapter");
5
+ Object.defineProperty(exports, "ZBOSSAdapter", { enumerable: true, get: function () { return zbossAdapter_1.ZBOSSAdapter; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/zboss/adapter/index.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAEpC,6FAFA,2BAAY,OAEA"}
@@ -0,0 +1,55 @@
1
+ import { Adapter, TsType } from '../..';
2
+ import { Backup } from '../../../models';
3
+ import { BroadcastAddress } from '../../../zspec/enums';
4
+ import * as Zcl from '../../../zspec/zcl';
5
+ import { ZclPayload } from '../../events';
6
+ import { Coordinator } from '../../tstype';
7
+ export declare class ZBOSSAdapter extends Adapter {
8
+ private queue;
9
+ private readonly driver;
10
+ private waitress;
11
+ coordinator?: Coordinator;
12
+ constructor(networkOptions: TsType.NetworkOptions, serialPortOptions: TsType.SerialPortOptions, backupPath: string, adapterOptions: TsType.AdapterOptions);
13
+ private processMessage;
14
+ static isValidPath(path: string): Promise<boolean>;
15
+ static autoDetectPath(): Promise<string | null>;
16
+ start(): Promise<TsType.StartResult>;
17
+ stop(): Promise<void>;
18
+ getCoordinator(): Promise<Coordinator>;
19
+ getCoordinatorVersion(): Promise<TsType.CoordinatorVersion>;
20
+ reset(type: 'soft' | 'hard'): Promise<void>;
21
+ supportsBackup(): Promise<boolean>;
22
+ backup(ieeeAddressesInDatabase: string[]): Promise<Backup>;
23
+ getNetworkParameters(): Promise<TsType.NetworkParameters>;
24
+ supportsChangeChannel(): Promise<boolean>;
25
+ changeChannel(newChannel: number): Promise<void>;
26
+ setTransmitPower(value: number): Promise<void>;
27
+ addInstallCode(ieeeAddress: string, key: Buffer): Promise<void>;
28
+ permitJoin(seconds: number, networkAddress: number): Promise<void>;
29
+ lqi(networkAddress: number): Promise<TsType.LQI>;
30
+ routingTable(networkAddress: number): Promise<TsType.RoutingTable>;
31
+ nodeDescriptor(networkAddress: number): Promise<TsType.NodeDescriptor>;
32
+ activeEndpoints(networkAddress: number): Promise<TsType.ActiveEndpoints>;
33
+ simpleDescriptor(networkAddress: number, endpointID: number): Promise<TsType.SimpleDescriptor>;
34
+ bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint?: number): Promise<void>;
35
+ unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint: number): Promise<void>;
36
+ removeDevice(networkAddress: number, ieeeAddr: string): Promise<void>;
37
+ sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: Zcl.Frame, timeout: number, disableResponse: boolean, disableRecovery: boolean, sourceEndpoint?: number): Promise<ZclPayload | void>;
38
+ private sendZclFrameToEndpointInternal;
39
+ sendZclFrameToGroup(groupID: number, zclFrame: Zcl.Frame, sourceEndpoint?: number): Promise<void>;
40
+ sendZclFrameToAll(endpoint: number, zclFrame: Zcl.Frame, sourceEndpoint: number, destination: BroadcastAddress): Promise<void>;
41
+ setChannelInterPAN(channel: number): Promise<void>;
42
+ sendZclFrameInterPANToIeeeAddr(zclFrame: Zcl.Frame, ieeeAddress: string): Promise<void>;
43
+ sendZclFrameInterPANBroadcast(zclFrame: Zcl.Frame, timeout: number): Promise<ZclPayload>;
44
+ restoreChannelInterPAN(): Promise<void>;
45
+ waitFor(networkAddress: number, endpoint: number, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
46
+ promise: Promise<ZclPayload>;
47
+ cancel: () => void;
48
+ start: () => {
49
+ promise: Promise<ZclPayload>;
50
+ };
51
+ };
52
+ private waitressTimeoutFormatter;
53
+ private waitressValidator;
54
+ }
55
+ //# sourceMappingURL=zbossAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zbossAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zboss/adapter/zbossAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ /* istanbul ignore file */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.ZBOSSAdapter = void 0;
31
+ const __1 = require("../..");
32
+ const utils_1 = require("../../../utils");
33
+ const logger_1 = require("../../../utils/logger");
34
+ const Zcl = __importStar(require("../../../zspec/zcl"));
35
+ const serialPortUtils_1 = __importDefault(require("../../serialPortUtils"));
36
+ const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
37
+ const driver_1 = require("../driver");
38
+ const enums_1 = require("../enums");
39
+ const frame_1 = require("../frame");
40
+ const NS = 'zh:zboss';
41
+ const autoDetectDefinitions = [
42
+ // Nordic Zigbee NCP
43
+ { manufacturer: 'ZEPHYR', vendorId: '2fe3', productId: '0100' },
44
+ ];
45
+ class ZBOSSAdapter extends __1.Adapter {
46
+ queue;
47
+ driver;
48
+ waitress;
49
+ coordinator;
50
+ constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
51
+ super(networkOptions, serialPortOptions, backupPath, adapterOptions);
52
+ const concurrent = adapterOptions && adapterOptions.concurrent ? adapterOptions.concurrent : 8;
53
+ logger_1.logger.debug(`Adapter concurrent: ${concurrent}`, NS);
54
+ this.queue = new utils_1.Queue(concurrent);
55
+ this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
56
+ this.driver = new driver_1.ZBOSSDriver(serialPortOptions, networkOptions);
57
+ this.driver.on('frame', this.processMessage.bind(this));
58
+ }
59
+ async processMessage(frame) {
60
+ logger_1.logger.debug(`processMessage: ${JSON.stringify(frame)}`, NS);
61
+ if (frame.type == frame_1.FrameType.INDICATION &&
62
+ frame.commandId == enums_1.CommandId.ZDO_DEV_UPDATE_IND &&
63
+ frame.payload.status == enums_1.DeviceUpdateStatus.LEFT) {
64
+ logger_1.logger.debug(`Device left network request received: ${frame.payload.nwk} ${frame.payload.ieee}`, NS);
65
+ const payload = {
66
+ networkAddress: frame.payload.nwk,
67
+ ieeeAddr: frame.payload.ieee,
68
+ };
69
+ this.emit('deviceLeave', payload);
70
+ }
71
+ if (frame.type == frame_1.FrameType.INDICATION && frame.commandId == enums_1.CommandId.NWK_LEAVE_IND) {
72
+ logger_1.logger.debug(`Device left network request received from ${frame.payload.ieee}`, NS);
73
+ const payload = {
74
+ networkAddress: frame.payload.nwk,
75
+ ieeeAddr: frame.payload.ieee,
76
+ };
77
+ this.emit('deviceLeave', payload);
78
+ }
79
+ if (frame.type == frame_1.FrameType.INDICATION && frame.commandId == enums_1.CommandId.ZDO_DEV_ANNCE_IND) {
80
+ logger_1.logger.debug(`Device join request received: ${frame.payload.nwk} ${frame.payload.ieee}`, NS);
81
+ const payload = {
82
+ networkAddress: frame.payload.nwk,
83
+ ieeeAddr: frame.payload.ieee,
84
+ };
85
+ this.emit('deviceJoined', payload);
86
+ }
87
+ if (frame.type == frame_1.FrameType.INDICATION && frame.commandId == enums_1.CommandId.APSDE_DATA_IND) {
88
+ logger_1.logger.debug(`ZCL frame received from ${frame.payload.srcNwk} ${frame.payload.srcEndpoint}`, NS);
89
+ const payload = {
90
+ clusterID: frame.payload.clusterID,
91
+ header: Zcl.Header.fromBuffer(frame.payload.data),
92
+ data: frame.payload.data,
93
+ address: frame.payload.srcNwk,
94
+ endpoint: frame.payload.srcEndpoint,
95
+ linkquality: frame.payload.lqi,
96
+ groupID: frame.payload.grpNwk,
97
+ wasBroadcast: false,
98
+ destinationEndpoint: frame.payload.dstEndpoint,
99
+ };
100
+ this.waitress.resolve(payload);
101
+ this.emit('zclPayload', payload);
102
+ }
103
+ //this.emit('event', frame);
104
+ }
105
+ static async isValidPath(path) {
106
+ // For TCP paths we cannot get device information, therefore we cannot validate it.
107
+ if (socketPortUtils_1.default.isTcpPath(path)) {
108
+ return false;
109
+ }
110
+ try {
111
+ return serialPortUtils_1.default.is((0, utils_1.RealpathSync)(path), autoDetectDefinitions);
112
+ }
113
+ catch (error) {
114
+ logger_1.logger.debug(`Failed to determine if path is valid: '${error}'`, NS);
115
+ return false;
116
+ }
117
+ }
118
+ static async autoDetectPath() {
119
+ const paths = await serialPortUtils_1.default.find(autoDetectDefinitions);
120
+ paths.sort((a, b) => (a < b ? -1 : 1));
121
+ return paths.length > 0 ? paths[0] : null;
122
+ }
123
+ async start() {
124
+ logger_1.logger.info(`ZBOSS Adapter starting`, NS);
125
+ await this.driver.connect();
126
+ return this.driver.startup();
127
+ }
128
+ async stop() {
129
+ await this.driver.stop();
130
+ logger_1.logger.info(`ZBOSS Adapter stopped`, NS);
131
+ }
132
+ async getCoordinator() {
133
+ return this.queue.execute(async () => {
134
+ const info = await this.driver.getCoordinator();
135
+ logger_1.logger.debug(`ZBOSS Adapter Coordinator description:\n${JSON.stringify(info)}`, NS);
136
+ this.coordinator = {
137
+ networkAddress: info.networkAddress,
138
+ manufacturerID: 0,
139
+ ieeeAddr: info.ieeeAddr,
140
+ endpoints: info.endpoints,
141
+ };
142
+ return this.coordinator;
143
+ });
144
+ }
145
+ async getCoordinatorVersion() {
146
+ return this.driver.getCoordinatorVersion();
147
+ }
148
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
149
+ async reset(type) {
150
+ return Promise.reject(new Error('Not supported'));
151
+ }
152
+ async supportsBackup() {
153
+ return false;
154
+ }
155
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
156
+ async backup(ieeeAddressesInDatabase) {
157
+ throw new Error('This adapter does not support backup');
158
+ }
159
+ async getNetworkParameters() {
160
+ return this.queue.execute(async () => {
161
+ const channel = this.driver.netInfo.network.channel;
162
+ const panID = this.driver.netInfo.network.panID;
163
+ const extendedPanID = this.driver.netInfo.network.extendedPanID;
164
+ return {
165
+ panID,
166
+ extendedPanID: parseInt(Buffer.from(extendedPanID).toString('hex'), 16),
167
+ channel,
168
+ };
169
+ });
170
+ }
171
+ async supportsChangeChannel() {
172
+ return false;
173
+ }
174
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
175
+ async changeChannel(newChannel) {
176
+ throw new Error(`Channel change is not supported for 'zboss' yet`);
177
+ }
178
+ async setTransmitPower(value) {
179
+ if (this.driver.isInitialized()) {
180
+ return this.queue.execute(async () => {
181
+ await this.driver.setTXPower(value);
182
+ });
183
+ }
184
+ }
185
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
186
+ async addInstallCode(ieeeAddress, key) {
187
+ throw new Error(`Install code is not supported for 'zboss' yet`);
188
+ }
189
+ async permitJoin(seconds, networkAddress) {
190
+ if (this.driver.isInitialized()) {
191
+ return this.queue.execute(async () => {
192
+ await this.driver.permitJoin(networkAddress, seconds);
193
+ if (!networkAddress) {
194
+ // send broadcast permit
195
+ await this.driver.permitJoin(0xfffc, seconds);
196
+ }
197
+ });
198
+ }
199
+ }
200
+ async lqi(networkAddress) {
201
+ return this.queue.execute(async () => {
202
+ const neighbors = [];
203
+ const request = async (startIndex) => {
204
+ try {
205
+ const result = await this.driver.lqi(networkAddress, startIndex);
206
+ return result;
207
+ }
208
+ catch (error) {
209
+ throw new Error(`LQI for '${networkAddress}' failed: ${error}`);
210
+ }
211
+ };
212
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
213
+ const add = (list) => {
214
+ for (const entry of list) {
215
+ neighbors.push({
216
+ linkquality: entry.lqi,
217
+ networkAddress: entry.nwk,
218
+ ieeeAddr: entry.ieee,
219
+ relationship: (entry.relationship >> 4) & 0x7,
220
+ depth: entry.depth,
221
+ });
222
+ }
223
+ };
224
+ let response = (await request(0)).payload;
225
+ add(response.neighbors);
226
+ const size = response.entries;
227
+ let nextStartIndex = response.neighbors.length;
228
+ while (neighbors.length < size) {
229
+ response = await request(nextStartIndex);
230
+ add(response.neighbors);
231
+ nextStartIndex += response.neighbors.length;
232
+ }
233
+ return { neighbors };
234
+ }, networkAddress);
235
+ }
236
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
237
+ async routingTable(networkAddress) {
238
+ throw new Error(`Routing table is not supported for 'zboss' yet`);
239
+ }
240
+ async nodeDescriptor(networkAddress) {
241
+ return this.queue.execute(async () => {
242
+ try {
243
+ logger_1.logger.debug(`Requesting 'Node Descriptor' for '${networkAddress}'`, NS);
244
+ const descriptor = await this.driver.nodeDescriptor(networkAddress);
245
+ const logicaltype = descriptor.payload.flags & 0x07;
246
+ return {
247
+ manufacturerCode: descriptor.payload.manufacturerCode,
248
+ type: logicaltype == 0 ? 'Coordinator' : logicaltype == 1 ? 'Router' : 'EndDevice',
249
+ };
250
+ }
251
+ catch (error) {
252
+ logger_1.logger.debug(`Node descriptor request for '${networkAddress}' failed (${error}), retry`, NS);
253
+ throw error;
254
+ }
255
+ });
256
+ }
257
+ async activeEndpoints(networkAddress) {
258
+ logger_1.logger.debug(`Requesting 'Active endpoints' for '${networkAddress}'`, NS);
259
+ return this.queue.execute(async () => {
260
+ const endpoints = await this.driver.activeEndpoints(networkAddress);
261
+ return { endpoints: [...endpoints.payload.endpoints] };
262
+ }, networkAddress);
263
+ }
264
+ async simpleDescriptor(networkAddress, endpointID) {
265
+ logger_1.logger.debug(`Requesting 'Simple Descriptor' for '${networkAddress}' endpoint ${endpointID}`, NS);
266
+ return this.queue.execute(async () => {
267
+ const sd = await this.driver.simpleDescriptor(networkAddress, endpointID);
268
+ return {
269
+ profileID: sd.payload.profileID,
270
+ endpointID: sd.payload.endpoint,
271
+ deviceID: sd.payload.deviceID,
272
+ inputClusters: sd.payload.inputClusters,
273
+ outputClusters: sd.payload.outputClusters,
274
+ };
275
+ }, networkAddress);
276
+ }
277
+ async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
278
+ return this.queue.execute(async () => {
279
+ await this.driver.bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint);
280
+ }, destinationNetworkAddress);
281
+ }
282
+ async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
283
+ return this.queue.execute(async () => {
284
+ await this.driver.unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint);
285
+ }, destinationNetworkAddress);
286
+ }
287
+ async removeDevice(networkAddress, ieeeAddr) {
288
+ return this.queue.execute(async () => {
289
+ await this.driver.removeDevice(networkAddress, ieeeAddr);
290
+ }, networkAddress);
291
+ }
292
+ async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
293
+ return this.queue.execute(async () => {
294
+ return this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint || 1, zclFrame, timeout, disableResponse, disableRecovery, 0, 0, false, false, false, null);
295
+ }, networkAddress);
296
+ }
297
+ async sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore) {
298
+ if (ieeeAddr == null) {
299
+ ieeeAddr = this.coordinator.ieeeAddr;
300
+ }
301
+ logger_1.logger.debug(`sendZclFrameToEndpointInternal ${ieeeAddr}:${networkAddress}/${endpoint} ` +
302
+ `(${responseAttempt},${dataRequestAttempt},${this.queue.count()}), timeout=${timeout}`, NS);
303
+ let response = null;
304
+ const command = zclFrame.command;
305
+ if (command.response && disableResponse === false) {
306
+ response = this.waitFor(networkAddress, endpoint, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, command.response, timeout);
307
+ }
308
+ else if (!zclFrame.header.frameControl.disableDefaultResponse) {
309
+ response = this.waitFor(networkAddress, endpoint, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, Zcl.Foundation.defaultRsp.ID, timeout);
310
+ }
311
+ try {
312
+ const dataConfirmResult = await this.driver.request(ieeeAddr, 0x0104, zclFrame.cluster.ID, endpoint, sourceEndpoint || 0x01, zclFrame.toBuffer());
313
+ if (!dataConfirmResult) {
314
+ if (response != null) {
315
+ response.cancel();
316
+ }
317
+ throw Error('sendZclFrameToEndpointInternal error');
318
+ }
319
+ if (response !== null) {
320
+ try {
321
+ const result = await response.start().promise;
322
+ return result;
323
+ }
324
+ catch (error) {
325
+ logger_1.logger.debug(`Response timeout (${ieeeAddr}:${networkAddress},${responseAttempt})`, NS);
326
+ if (responseAttempt < 1 && !disableRecovery) {
327
+ return this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt + 1, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
328
+ }
329
+ else {
330
+ throw error;
331
+ }
332
+ }
333
+ }
334
+ else {
335
+ return;
336
+ }
337
+ }
338
+ catch (error) {
339
+ if (response != null) {
340
+ response.cancel();
341
+ }
342
+ throw error;
343
+ }
344
+ }
345
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
346
+ async sendZclFrameToGroup(groupID, zclFrame, sourceEndpoint) {
347
+ return;
348
+ }
349
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
350
+ async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
351
+ return;
352
+ }
353
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
354
+ async setChannelInterPAN(channel) {
355
+ return;
356
+ }
357
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
358
+ async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddress) {
359
+ return;
360
+ }
361
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
362
+ async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
363
+ throw new Error(`Is not supported for 'zboss' yet`);
364
+ }
365
+ async restoreChannelInterPAN() {
366
+ return;
367
+ }
368
+ waitFor(networkAddress, endpoint,
369
+ // frameType: Zcl.FrameType,
370
+ // direction: Zcl.Direction,
371
+ transactionSequenceNumber, clusterID, commandIdentifier, timeout) {
372
+ const payload = {
373
+ address: networkAddress,
374
+ endpoint,
375
+ clusterID,
376
+ commandIdentifier,
377
+ transactionSequenceNumber,
378
+ };
379
+ const waiter = this.waitress.waitFor(payload, timeout);
380
+ const cancel = () => this.waitress.remove(waiter.ID);
381
+ return { cancel: cancel, promise: waiter.start().promise, start: waiter.start };
382
+ }
383
+ waitressTimeoutFormatter(matcher, timeout) {
384
+ return (`Timeout - ${matcher.address} - ${matcher.endpoint}` +
385
+ ` - ${matcher.transactionSequenceNumber} - ${matcher.clusterID}` +
386
+ ` - ${matcher.commandIdentifier} after ${timeout}ms`);
387
+ }
388
+ waitressValidator(payload, matcher) {
389
+ return ((payload.header &&
390
+ (!matcher.address || payload.address === matcher.address) &&
391
+ payload.endpoint === matcher.endpoint &&
392
+ (!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
393
+ payload.clusterID === matcher.clusterID &&
394
+ matcher.commandIdentifier === payload.header.commandIdentifier) ||
395
+ false);
396
+ }
397
+ }
398
+ exports.ZBOSSAdapter = ZBOSSAdapter;
399
+ //# sourceMappingURL=zbossAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zbossAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/zboss/adapter/zbossAdapter.ts"],"names":[],"mappings":"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"}