zigbee-herdsman 0.56.2 → 0.57.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 (61) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +14 -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 +391 -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/zspec/zcl/definition/cluster.d.ts.map +1 -1
  57. package/dist/zspec/zcl/definition/cluster.js +0 -115
  58. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  59. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  60. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  61. package/package.json +7 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/adapter/zboss/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const END = 192;
2
+ export declare const ESCAPE = 219;
3
+ export declare const ESCEND = 220;
4
+ export declare const ESCESC = 221;
5
+ export declare const SIGNATURE = 57005;
6
+ export declare const ZBOSS_NCP_API_HL = 6;
7
+ export declare const ZBOSS_FLAG_FIRST_FRAGMENT = 64;
8
+ export declare const ZBOSS_FLAG_LAST_FRAGMENT = 128;
9
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG,MAAO,CAAC;AACxB,eAAO,MAAM,MAAM,MAAO,CAAC;AAC3B,eAAO,MAAM,MAAM,MAAO,CAAC;AAC3B,eAAO,MAAM,MAAM,MAAO,CAAC;AAE3B,eAAO,MAAM,SAAS,QAAS,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAO,CAAC;AACrC,eAAO,MAAM,yBAAyB,KAAO,CAAC;AAC9C,eAAO,MAAM,wBAAwB,MAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZBOSS_FLAG_LAST_FRAGMENT = exports.ZBOSS_FLAG_FIRST_FRAGMENT = exports.ZBOSS_NCP_API_HL = exports.SIGNATURE = exports.ESCESC = exports.ESCEND = exports.ESCAPE = exports.END = void 0;
4
+ exports.END = 0xc0;
5
+ exports.ESCAPE = 0xdb;
6
+ exports.ESCEND = 0xdc;
7
+ exports.ESCESC = 0xdd;
8
+ exports.SIGNATURE = 0xdead;
9
+ exports.ZBOSS_NCP_API_HL = 0x06;
10
+ exports.ZBOSS_FLAG_FIRST_FRAGMENT = 0x40;
11
+ exports.ZBOSS_FLAG_LAST_FRAGMENT = 0x80;
12
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/adapter/zboss/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG,IAAI,CAAC;AACX,QAAA,MAAM,GAAG,IAAI,CAAC;AACd,QAAA,MAAM,GAAG,IAAI,CAAC;AACd,QAAA,MAAM,GAAG,IAAI,CAAC;AAEd,QAAA,SAAS,GAAG,MAAM,CAAC;AACnB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,yBAAyB,GAAG,IAAI,CAAC;AACjC,QAAA,wBAAwB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,62 @@
1
+ import EventEmitter from 'events';
2
+ import { TsType } from '..';
3
+ import { KeyValue } from '../../controller/tstype';
4
+ import { DeviceType } from './enums';
5
+ import { ZBOSSFrame } from './frame';
6
+ import { ZBOSSUart } from './uart';
7
+ type ZBOSSNetworkInfo = {
8
+ joined: boolean;
9
+ nodeType: DeviceType;
10
+ ieeeAddr: string;
11
+ network: {
12
+ panID: number;
13
+ extendedPanID: number[];
14
+ channel: number;
15
+ };
16
+ };
17
+ export declare class ZBOSSDriver extends EventEmitter {
18
+ readonly port: ZBOSSUart;
19
+ private waitress;
20
+ private queue;
21
+ private tsn;
22
+ private nwkOpt;
23
+ netInfo?: ZBOSSNetworkInfo;
24
+ constructor(options: TsType.SerialPortOptions, nwkOpt: TsType.NetworkOptions);
25
+ connect(): Promise<boolean>;
26
+ private reset;
27
+ startup(): Promise<TsType.StartResult>;
28
+ private needsToBeInitialised;
29
+ private getNetworkInfo;
30
+ private addEndpoint;
31
+ private getChannelMask;
32
+ private formNetwork;
33
+ stop(): Promise<void>;
34
+ private onFrame;
35
+ isInitialized(): boolean | undefined;
36
+ execCommand(commandId: number, params?: KeyValue, timeout?: number): Promise<ZBOSSFrame>;
37
+ waitFor(commandId: number, tsn: number | null, timeout?: number): {
38
+ start: () => {
39
+ promise: Promise<ZBOSSFrame>;
40
+ ID: number;
41
+ };
42
+ ID: number;
43
+ };
44
+ private waitressTimeoutFormatter;
45
+ private waitressValidator;
46
+ getCoordinator(): Promise<TsType.Coordinator>;
47
+ getCoordinatorVersion(): Promise<TsType.CoordinatorVersion>;
48
+ permitJoin(nwk: number, duration: number): Promise<void>;
49
+ setTXPower(value: number): Promise<void>;
50
+ lqi(nwk: number, index: number): Promise<ZBOSSFrame>;
51
+ neighbors(ieee: string): Promise<ZBOSSFrame>;
52
+ nodeDescriptor(nwk: number): Promise<ZBOSSFrame>;
53
+ activeEndpoints(nwk: number): Promise<ZBOSSFrame>;
54
+ simpleDescriptor(nwk: number, ep: number): Promise<ZBOSSFrame>;
55
+ removeDevice(nwk: number, ieee: string): Promise<ZBOSSFrame>;
56
+ request(ieee: string, profileID: number, clusterID: number, dstEp: number, srcEp: number, data: Buffer): Promise<ZBOSSFrame>;
57
+ bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint?: number): Promise<ZBOSSFrame>;
58
+ unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint?: number): Promise<ZBOSSFrame>;
59
+ ieeeByNwk(nwk: number): Promise<string>;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/adapter/zboss/driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,332 @@
1
+ "use strict";
2
+ /* istanbul ignore file */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ZBOSSDriver = void 0;
8
+ const events_1 = __importDefault(require("events"));
9
+ const es6_1 = __importDefault(require("fast-deep-equal/es6"));
10
+ const utils_1 = require("../../utils");
11
+ const logger_1 = require("../../utils/logger");
12
+ const enums_1 = require("./enums");
13
+ const frame_1 = require("./frame");
14
+ const uart_1 = require("./uart");
15
+ const NS = 'zh:zboss:driv';
16
+ const MAX_INIT_ATTEMPTS = 5;
17
+ class ZBOSSDriver extends events_1.default {
18
+ port;
19
+ waitress;
20
+ queue;
21
+ tsn = 1; // command sequence
22
+ nwkOpt;
23
+ netInfo;
24
+ constructor(options, nwkOpt) {
25
+ super();
26
+ this.nwkOpt = nwkOpt;
27
+ this.queue = new utils_1.Queue();
28
+ this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
29
+ this.port = new uart_1.ZBOSSUart(options);
30
+ this.port.on('frame', this.onFrame.bind(this));
31
+ }
32
+ async connect() {
33
+ logger_1.logger.info(`Driver connecting`, NS);
34
+ let status = false;
35
+ for (let i = 0; i < MAX_INIT_ATTEMPTS; i++) {
36
+ status = await this.port.resetNcp();
37
+ // fail early if we couldn't even get the port set up
38
+ if (!status) {
39
+ return status;
40
+ }
41
+ status = await this.port.start();
42
+ if (status) {
43
+ logger_1.logger.info(`Driver connected`, NS);
44
+ return status;
45
+ }
46
+ }
47
+ return status;
48
+ }
49
+ async reset(options = enums_1.ResetOptions.NoOptions) {
50
+ logger_1.logger.info(`Driver reset`, NS);
51
+ this.port.inReset = true;
52
+ await this.execCommand(enums_1.CommandId.NCP_RESET, { options }, 10000);
53
+ }
54
+ async startup() {
55
+ logger_1.logger.info(`Driver startup`, NS);
56
+ let result = 'resumed';
57
+ if (await this.needsToBeInitialised(this.nwkOpt)) {
58
+ // need to check the backup
59
+ // const restore = await this.needsToBeRestore(this.nwkOpt);
60
+ const restore = false;
61
+ if (this.netInfo?.joined) {
62
+ logger_1.logger.info(`Leaving current network and forming new network`, NS);
63
+ await this.reset(enums_1.ResetOptions.FactoryReset);
64
+ }
65
+ if (restore) {
66
+ // // restore
67
+ // logger.info('Restore network from backup', NS);
68
+ // await this.formNetwork(true);
69
+ // result = 'restored';
70
+ }
71
+ else {
72
+ // reset
73
+ logger_1.logger.info('Form network', NS);
74
+ await this.formNetwork(); // false
75
+ result = 'reset';
76
+ }
77
+ }
78
+ else {
79
+ await this.execCommand(enums_1.CommandId.NWK_START_WITHOUT_FORMATION, {});
80
+ }
81
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.LINK_KEY_REQUIRED, value: 0 });
82
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.IC_REQUIRED, value: 0 });
83
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.TC_REJOIN_ENABLED, value: 1 });
84
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.IGNORE_TC_REJOIN, value: 0 });
85
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.APS_INSECURE_JOIN, value: 0 });
86
+ await this.execCommand(enums_1.CommandId.SET_TC_POLICY, { type: enums_1.PolicyType.DISABLE_NWK_MGMT_CHANNEL_UPDATE, value: 0 });
87
+ await this.addEndpoint(1, 260, 0xbeef, [0x0000, 0x0003, 0x0006, 0x000a, 0x0019, 0x001a, 0x0300], [
88
+ 0x0000, 0x0003, 0x0004, 0x0005, 0x0006, 0x0008, 0x0020, 0x0300, 0x0400, 0x0402, 0x0405, 0x0406, 0x0500, 0x0b01, 0x0b03, 0x0b04,
89
+ 0x0702, 0x1000, 0xfc01, 0xfc02,
90
+ ]);
91
+ await this.addEndpoint(242, 0xa1e0, 0x61, [], [0x0021]);
92
+ await this.execCommand(enums_1.CommandId.SET_RX_ON_WHEN_IDLE, { rxOn: 1 });
93
+ //await this.execCommand(CommandId.SET_ED_TIMEOUT, {timeout: 8});
94
+ //await this.execCommand(CommandId.SET_MAX_CHILDREN, {children: 100});
95
+ return result;
96
+ }
97
+ async needsToBeInitialised(options) {
98
+ let valid = true;
99
+ this.netInfo = await this.getNetworkInfo();
100
+ logger_1.logger.debug(`Current network parameters: ${JSON.stringify(this.netInfo)}`, NS);
101
+ if (this.netInfo) {
102
+ valid = valid && this.netInfo.nodeType == enums_1.DeviceType.COORDINATOR;
103
+ valid = valid && options.panID == this.netInfo.network.panID;
104
+ valid = valid && options.channelList.includes(this.netInfo.network.channel);
105
+ valid = valid && (0, es6_1.default)(Buffer.from(options.extendedPanID || []), Buffer.from(this.netInfo.network.extendedPanID));
106
+ }
107
+ else {
108
+ valid = false;
109
+ }
110
+ return !valid;
111
+ }
112
+ async getNetworkInfo() {
113
+ let result = await this.execCommand(enums_1.CommandId.GET_JOINED, {});
114
+ const joined = result.payload.joined == 1;
115
+ if (!joined) {
116
+ logger_1.logger.debug('Network not formed', NS);
117
+ }
118
+ result = await this.execCommand(enums_1.CommandId.GET_ZIGBEE_ROLE, {});
119
+ const nodeType = result.payload.role;
120
+ result = await this.execCommand(enums_1.CommandId.GET_LOCAL_IEEE_ADDR, { mac: 0 });
121
+ const ieeeAddr = result.payload.ieee;
122
+ result = await this.execCommand(enums_1.CommandId.GET_EXTENDED_PAN_ID, {});
123
+ const extendedPanID = result.payload.extendedPanID;
124
+ result = await this.execCommand(enums_1.CommandId.GET_PAN_ID, {});
125
+ const panID = result.payload.panID;
126
+ result = await this.execCommand(enums_1.CommandId.GET_ZIGBEE_CHANNEL, {});
127
+ const channel = result.payload.channel;
128
+ return {
129
+ joined,
130
+ nodeType,
131
+ ieeeAddr,
132
+ network: {
133
+ panID,
134
+ extendedPanID,
135
+ channel,
136
+ },
137
+ };
138
+ }
139
+ async addEndpoint(endpoint, profileId, deviceId, inputClusters, outputClusters) {
140
+ const res = await this.execCommand(enums_1.CommandId.AF_SET_SIMPLE_DESC, {
141
+ endpoint: endpoint,
142
+ profileID: profileId,
143
+ deviceID: deviceId,
144
+ version: 0,
145
+ inputClusterCount: inputClusters.length,
146
+ outputClusterCount: outputClusters.length,
147
+ inputClusters: inputClusters,
148
+ outputClusters: outputClusters,
149
+ });
150
+ logger_1.logger.debug(`Adding endpoint: ${JSON.stringify(res)}`, NS);
151
+ }
152
+ getChannelMask(channels) {
153
+ return channels.reduce((mask, channel) => mask | (1 << channel), 0);
154
+ }
155
+ async formNetwork() {
156
+ const channelMask = this.getChannelMask(this.nwkOpt.channelList);
157
+ await this.execCommand(enums_1.CommandId.SET_ZIGBEE_ROLE, { role: enums_1.DeviceType.COORDINATOR });
158
+ await this.execCommand(enums_1.CommandId.SET_ZIGBEE_CHANNEL_MASK, { page: 0, mask: channelMask });
159
+ await this.execCommand(enums_1.CommandId.SET_PAN_ID, { panID: this.nwkOpt.panID });
160
+ // await this.execCommand(CommandId.SET_EXTENDED_PAN_ID, {extendedPanID: this.nwkOpt.extendedPanID});
161
+ await this.execCommand(enums_1.CommandId.SET_NWK_KEY, { nwkKey: this.nwkOpt.networkKey, index: 0 });
162
+ const res = await this.execCommand(enums_1.CommandId.NWK_FORMATION, {
163
+ len: 1,
164
+ channels: [{ page: 0, mask: channelMask }],
165
+ duration: 0x05,
166
+ distribFlag: 0x00,
167
+ distribNwk: 0x0000,
168
+ extendedPanID: this.nwkOpt.extendedPanID,
169
+ }, 20000);
170
+ logger_1.logger.debug(`Forming network: ${JSON.stringify(res)}`, NS);
171
+ }
172
+ async stop() {
173
+ await this.port.stop();
174
+ logger_1.logger.info(`Driver stopped`, NS);
175
+ }
176
+ onFrame(frame) {
177
+ logger_1.logger.info(`<== Frame: ${JSON.stringify(frame)}`, NS);
178
+ const handled = this.waitress.resolve(frame);
179
+ if (!handled) {
180
+ this.emit('frame', frame);
181
+ }
182
+ }
183
+ isInitialized() {
184
+ return this.port.portOpen && !this.port.inReset;
185
+ }
186
+ async execCommand(commandId, params = {}, timeout = 10000) {
187
+ logger_1.logger.debug(`==> ${enums_1.CommandId[commandId]}(${commandId}): ${JSON.stringify(params)}`, NS);
188
+ if (!this.port.portOpen) {
189
+ throw new Error('Connection not initialized');
190
+ }
191
+ return this.queue.execute(async () => {
192
+ const frame = (0, frame_1.makeFrame)(frame_1.FrameType.REQUEST, commandId, params);
193
+ frame.tsn = this.tsn;
194
+ const waiter = this.waitFor(commandId, commandId == enums_1.CommandId.NCP_RESET ? null : this.tsn, timeout);
195
+ this.tsn = (this.tsn + 1) & 255;
196
+ try {
197
+ logger_1.logger.debug(`==> FRAME: ${JSON.stringify(frame)}`, NS);
198
+ await this.port.sendFrame(frame);
199
+ const response = await waiter.start().promise;
200
+ if (response?.payload?.status !== enums_1.StatusCodeGeneric.OK) {
201
+ throw new Error(`Error on command ${enums_1.CommandId[commandId]}(${commandId}): ${JSON.stringify(response)}`);
202
+ }
203
+ return response;
204
+ }
205
+ catch (error) {
206
+ this.waitress.remove(waiter.ID);
207
+ logger_1.logger.error(`==> Error: ${error}`, NS);
208
+ throw new Error(`Failure send ${commandId}:` + JSON.stringify(frame));
209
+ }
210
+ });
211
+ }
212
+ waitFor(commandId, tsn, timeout = 10000) {
213
+ return this.waitress.waitFor({ commandId, tsn }, timeout);
214
+ }
215
+ waitressTimeoutFormatter(matcher, timeout) {
216
+ return `${JSON.stringify(matcher)} after ${timeout}ms`;
217
+ }
218
+ waitressValidator(payload, matcher) {
219
+ return (matcher.tsn == null || payload.tsn === matcher.tsn) && matcher.commandId == payload.commandId;
220
+ }
221
+ async getCoordinator() {
222
+ const message = await this.activeEndpoints(0x0000);
223
+ const activeEndpoints = message.payload.endpoints || [];
224
+ const ap = [];
225
+ for (const ep in activeEndpoints) {
226
+ const sd = await this.simpleDescriptor(0x0000, activeEndpoints[ep]);
227
+ ap.push({
228
+ ID: sd.payload.endpoint,
229
+ profileID: sd.payload.profileID,
230
+ deviceID: sd.payload.deviceID,
231
+ inputClusters: sd.payload.inputClusters,
232
+ outputClusters: sd.payload.outputClusters,
233
+ });
234
+ }
235
+ return {
236
+ ieeeAddr: this.netInfo?.ieeeAddr || '',
237
+ networkAddress: 0x0000,
238
+ manufacturerID: 0x0000,
239
+ endpoints: ap,
240
+ };
241
+ }
242
+ async getCoordinatorVersion() {
243
+ const ver = await this.execCommand(enums_1.CommandId.GET_MODULE_VERSION, {});
244
+ const cver = await this.execCommand(enums_1.CommandId.GET_COORDINATOR_VERSION, {});
245
+ const ver2str = (version) => {
246
+ const major = (version >> 24) & 0xff;
247
+ const minor = (version >> 16) & 0xff;
248
+ const revision = (version >> 8) & 0xff;
249
+ const commit = version & 0xff;
250
+ return `${major}.${minor}.${revision}.${commit}`;
251
+ };
252
+ return {
253
+ type: `zboss`,
254
+ meta: {
255
+ coordinator: cver.payload.version,
256
+ stack: ver2str(ver.payload.stackVersion),
257
+ protocol: ver2str(ver.payload.protocolVersion),
258
+ revision: ver2str(ver.payload.fwVersion),
259
+ },
260
+ };
261
+ }
262
+ async permitJoin(nwk, duration) {
263
+ await this.execCommand(enums_1.CommandId.ZDO_PERMIT_JOINING_REQ, { nwk: nwk, duration: duration, tcSignificance: 1 });
264
+ }
265
+ async setTXPower(value) {
266
+ await this.execCommand(enums_1.CommandId.SET_TX_POWER, { txPower: value });
267
+ }
268
+ async lqi(nwk, index) {
269
+ return this.execCommand(enums_1.CommandId.ZDO_MGMT_LQI_REQ, { nwk: nwk, startIndex: index });
270
+ }
271
+ async neighbors(ieee) {
272
+ return this.execCommand(enums_1.CommandId.NWK_GET_NEIGHBOR_BY_IEEE, { ieee: ieee });
273
+ }
274
+ async nodeDescriptor(nwk) {
275
+ return this.execCommand(enums_1.CommandId.ZDO_NODE_DESC_REQ, { nwk: nwk });
276
+ }
277
+ async activeEndpoints(nwk) {
278
+ return this.execCommand(enums_1.CommandId.ZDO_ACTIVE_EP_REQ, { nwk: nwk });
279
+ }
280
+ async simpleDescriptor(nwk, ep) {
281
+ return this.execCommand(enums_1.CommandId.ZDO_SIMPLE_DESC_REQ, { nwk: nwk, endpoint: ep });
282
+ }
283
+ async removeDevice(nwk, ieee) {
284
+ return this.execCommand(enums_1.CommandId.ZDO_MGMT_LEAVE_REQ, { nwk: nwk, ieee: ieee, flags: 0 });
285
+ }
286
+ async request(ieee, profileID, clusterID, dstEp, srcEp, data) {
287
+ const payload = {
288
+ paramLength: 21,
289
+ dataLength: data.length,
290
+ ieee: ieee,
291
+ profileID: profileID,
292
+ clusterID: clusterID,
293
+ dstEndpoint: dstEp,
294
+ srcEndpoint: srcEp,
295
+ radius: 3,
296
+ dstAddrMode: 3, // ADDRESS MODE ieee
297
+ txOptions: 2, // ROUTE DISCOVERY
298
+ useAlias: 0,
299
+ aliasAddr: 0,
300
+ aliasSequence: 0,
301
+ data: data,
302
+ };
303
+ return this.execCommand(enums_1.CommandId.APSDE_DATA_REQ, payload);
304
+ }
305
+ async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
306
+ return this.execCommand(enums_1.CommandId.ZDO_BIND_REQ, {
307
+ target: destinationNetworkAddress,
308
+ srcIeee: sourceIeeeAddress,
309
+ srcEP: sourceEndpoint,
310
+ clusterID: clusterID,
311
+ addrMode: type == 'endpoint' ? 3 /* ieee */ : 1 /* group */,
312
+ dstIeee: destinationAddressOrGroup,
313
+ dstEP: destinationEndpoint || 1,
314
+ });
315
+ }
316
+ async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
317
+ return this.execCommand(enums_1.CommandId.ZDO_UNBIND_REQ, {
318
+ target: destinationNetworkAddress,
319
+ srcIeee: sourceIeeeAddress,
320
+ srcEP: sourceEndpoint,
321
+ clusterID: clusterID,
322
+ addrMode: type == 'endpoint' ? 3 /* ieee */ : 1 /* group */,
323
+ dstIeee: destinationAddressOrGroup,
324
+ dstEP: destinationEndpoint || 1,
325
+ });
326
+ }
327
+ async ieeeByNwk(nwk) {
328
+ return (await this.execCommand(enums_1.CommandId.NWK_GET_IEEE_BY_SHORT, { nwk: nwk })).payload.ieee;
329
+ }
330
+ }
331
+ exports.ZBOSSDriver = ZBOSSDriver;
332
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/adapter/zboss/driver.ts"],"names":[],"mappings":"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"}