zigbee-herdsman 1.0.1 → 2.0.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.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +23 -0
- package/dist/adapter/adapter.d.ts +8 -12
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +3 -0
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +7 -15
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +154 -693
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts +102 -56
- package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/constants.js +1 -2
- package/dist/adapter/deconz/driver/constants.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +46 -41
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +174 -107
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +5 -22
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +92 -325
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +17 -14
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +16 -42
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/events.d.ts +1 -9
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -19
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +90 -272
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +6 -14
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +56 -37
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +3 -0
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/tstype.d.ts +1 -27
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +20 -10
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +7 -15
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +128 -253
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +256 -302
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.d.ts +8 -8
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.d.ts +3 -2
- package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.js +8 -7
- package/dist/adapter/z-stack/znp/utils.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +3 -1
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +31 -14
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts +5 -6
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +28 -11
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +8 -16
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.js +124 -162
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
- package/dist/adapter/zboss/commands.d.ts +3 -0
- package/dist/adapter/zboss/commands.d.ts.map +1 -1
- package/dist/adapter/zboss/commands.js +248 -205
- package/dist/adapter/zboss/commands.js.map +1 -1
- package/dist/adapter/zboss/driver.d.ts +4 -14
- package/dist/adapter/zboss/driver.d.ts.map +1 -1
- package/dist/adapter/zboss/driver.js +63 -89
- package/dist/adapter/zboss/driver.js.map +1 -1
- package/dist/adapter/zboss/enums.d.ts +24 -2
- package/dist/adapter/zboss/enums.d.ts.map +1 -1
- package/dist/adapter/zboss/enums.js +35 -3
- package/dist/adapter/zboss/enums.js.map +1 -1
- package/dist/adapter/zboss/frame.d.ts +6 -1
- package/dist/adapter/zboss/frame.d.ts.map +1 -1
- package/dist/adapter/zboss/frame.js +56 -11
- package/dist/adapter/zboss/frame.js.map +1 -1
- package/dist/adapter/zboss/uart.d.ts +1 -0
- package/dist/adapter/zboss/uart.d.ts.map +1 -1
- package/dist/adapter/zboss/uart.js +4 -2
- package/dist/adapter/zboss/uart.js.map +1 -1
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts +5 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts.map +1 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +44 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -0
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +6 -10
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +99 -289
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +2 -18
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +218 -218
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.d.ts +14 -8
- package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +36 -9
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +42 -42
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +17 -13
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +83 -18
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/controller/controller.d.ts +5 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +143 -37
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/greenPower.js +3 -3
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/model/device.d.ts +8 -7
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +176 -72
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +1 -0
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +27 -4
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +1 -139
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts +168 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/tstypes.js +1 -0
- package/dist/zspec/zdo/definition/tstypes.js.map +1 -1
- package/dist/zspec/zdo/utils.d.ts +2 -3
- package/dist/zspec/zdo/utils.d.ts.map +1 -1
- package/dist/zspec/zdo/utils.js +3 -4
- package/dist/zspec/zdo/utils.js.map +1 -1
- package/package.json +5 -4
|
@@ -27,16 +27,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
const buffalo_1 = require("../../../buffalo");
|
|
31
30
|
const utils_1 = require("../../../utils");
|
|
32
31
|
const logger_1 = require("../../../utils/logger");
|
|
32
|
+
const ZSpec = __importStar(require("../../../zspec"));
|
|
33
33
|
const Zcl = __importStar(require("../../../zspec/zcl"));
|
|
34
|
+
const Zdo = __importStar(require("../../../zspec/zdo"));
|
|
34
35
|
const adapter_1 = __importDefault(require("../../adapter"));
|
|
35
36
|
const constants_1 = require("../driver/constants");
|
|
36
37
|
const zigate_1 = __importDefault(require("../driver/zigate"));
|
|
38
|
+
const patchZdoBuffaloBE_1 = require("./patchZdoBuffaloBE");
|
|
37
39
|
const NS = 'zh:zigate';
|
|
38
40
|
const default_bind_group = 901; // https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/lib/constants.js#L3
|
|
39
|
-
const channelsToMask = (channels) => channels.map((x) => 2 ** x).reduce((acc, x) => acc + x, 0);
|
|
40
41
|
class ZiGateAdapter extends adapter_1.default {
|
|
41
42
|
driver;
|
|
42
43
|
joinPermitted;
|
|
@@ -44,8 +45,10 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
44
45
|
closing;
|
|
45
46
|
queue;
|
|
46
47
|
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
|
|
48
|
+
(0, patchZdoBuffaloBE_1.patchZdoBuffaloBE)();
|
|
47
49
|
super(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
48
|
-
this.hasZdoMessageOverhead = false;
|
|
50
|
+
this.hasZdoMessageOverhead = false; // false for requests, true for responses
|
|
51
|
+
this.manufacturerID = Zcl.ManufacturerCode.RESERVED_10;
|
|
49
52
|
this.joinPermitted = false;
|
|
50
53
|
this.closing = false;
|
|
51
54
|
const concurrent = this.adapterOptions && this.adapterOptions.concurrent ? this.adapterOptions.concurrent : 2;
|
|
@@ -57,6 +60,7 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
57
60
|
this.driver.on('LeaveIndication', this.leaveIndicationListener.bind(this));
|
|
58
61
|
this.driver.on('DeviceAnnounce', this.deviceAnnounceListener.bind(this));
|
|
59
62
|
this.driver.on('close', this.onZiGateClose.bind(this));
|
|
63
|
+
this.driver.on('zdoResponse', this.onZdoResponse.bind(this));
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* Adapter methods
|
|
@@ -81,9 +85,9 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
81
85
|
await this.initNetwork();
|
|
82
86
|
await this.driver.sendCommand(constants_1.ZiGateCommandCode.AddGroup, {
|
|
83
87
|
addressMode: constants_1.ADDRESS_MODE.short,
|
|
84
|
-
shortAddress:
|
|
85
|
-
sourceEndpoint:
|
|
86
|
-
destinationEndpoint:
|
|
88
|
+
shortAddress: ZSpec.COORDINATOR_ADDRESS,
|
|
89
|
+
sourceEndpoint: ZSpec.HA_ENDPOINT,
|
|
90
|
+
destinationEndpoint: ZSpec.HA_ENDPOINT,
|
|
87
91
|
groupAddress: default_bind_group,
|
|
88
92
|
});
|
|
89
93
|
}
|
|
@@ -96,18 +100,9 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
96
100
|
this.closing = true;
|
|
97
101
|
await this.driver.close();
|
|
98
102
|
}
|
|
99
|
-
async
|
|
103
|
+
async getCoordinatorIEEE() {
|
|
100
104
|
const networkResponse = await this.driver.sendCommand(constants_1.ZiGateCommandCode.GetNetworkState);
|
|
101
|
-
|
|
102
|
-
// polling the coordinator on some firmware went into a memory leak, so we don't ask this info
|
|
103
|
-
const response = {
|
|
104
|
-
networkAddress: 0,
|
|
105
|
-
manufacturerID: 0,
|
|
106
|
-
ieeeAddr: networkResponse.payload.extendedAddress,
|
|
107
|
-
endpoints: constants_1.coordinatorEndpoints.slice(), // copy
|
|
108
|
-
};
|
|
109
|
-
logger_1.logger.debug(() => `getCoordinator ${JSON.stringify(response)}`, NS);
|
|
110
|
-
return response;
|
|
105
|
+
return networkResponse.payload.extendedAddress;
|
|
111
106
|
}
|
|
112
107
|
async getCoordinatorVersion() {
|
|
113
108
|
const result = await this.driver.sendCommand(constants_1.ZiGateCommandCode.GetVersion, {});
|
|
@@ -125,14 +120,25 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
125
120
|
};
|
|
126
121
|
}
|
|
127
122
|
async permitJoin(seconds, networkAddress) {
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
123
|
+
const clusterId = Zdo.ClusterId.PERMIT_JOINING_REQUEST;
|
|
124
|
+
if (networkAddress !== undefined) {
|
|
125
|
+
// specific device that is not `Coordinator`
|
|
126
|
+
// `authentication`: TC significance always 1 (zb specs)
|
|
127
|
+
const zdoPayload = Zdo.Buffalo.buildRequest(this.hasZdoMessageOverhead, clusterId, seconds, 1, []);
|
|
128
|
+
const result = await this.sendZdo(ZSpec.BLANK_EUI64, networkAddress, clusterId, zdoPayload, false);
|
|
129
|
+
/* istanbul ignore next */
|
|
130
|
+
if (!Zdo.Buffalo.checkStatus(result)) {
|
|
131
|
+
// TODO: will disappear once moved upstream
|
|
132
|
+
throw new Zdo.StatusError(result[0]);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// broadcast permit joining ZDO
|
|
137
|
+
// `authentication`: TC significance always 1 (zb specs)
|
|
138
|
+
const zdoPayload = Zdo.Buffalo.buildRequest(this.hasZdoMessageOverhead, clusterId, seconds, 1, []);
|
|
139
|
+
await this.sendZdo(ZSpec.BLANK_EUI64, ZSpec.BroadcastAddress.DEFAULT, clusterId, zdoPayload, true);
|
|
140
|
+
}
|
|
141
|
+
this.joinPermitted = seconds !== 0;
|
|
136
142
|
}
|
|
137
143
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
138
144
|
async addInstallCode(ieeeAddress, key) {
|
|
@@ -169,10 +175,6 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
169
175
|
async backup() {
|
|
170
176
|
throw new Error('This adapter does not support backup');
|
|
171
177
|
}
|
|
172
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
173
|
-
async changeChannel(newChannel) {
|
|
174
|
-
throw new Error(`Channel change is not supported for 'zigate'`);
|
|
175
|
-
}
|
|
176
178
|
async setTransmitPower(value) {
|
|
177
179
|
try {
|
|
178
180
|
await this.driver.sendCommand(constants_1.ZiGateCommandCode.SetTXpower, { value: value });
|
|
@@ -181,251 +183,54 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
181
183
|
throw new Error(`Set transmitpower failed ${error}`);
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
|
-
async
|
|
186
|
+
async sendZdo(ieeeAddress, networkAddress, clusterId, payload, disableResponse) {
|
|
185
187
|
return await this.queue.execute(async () => {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
relationship: (relationByte >> 1) & ((1 << 3) - 1),
|
|
196
|
-
depth: entry.readUInt8(20),
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
const request = async (startIndex) => {
|
|
201
|
-
try {
|
|
202
|
-
const resultPayload = await this.driver.sendCommand(constants_1.ZiGateCommandCode.ManagementLQI, {
|
|
203
|
-
targetAddress: networkAddress,
|
|
204
|
-
startIndex: startIndex,
|
|
205
|
-
});
|
|
206
|
-
const data = resultPayload.payload.payload;
|
|
207
|
-
if (data[1] !== 0) {
|
|
208
|
-
// status
|
|
209
|
-
throw new Error(`LQI for '${networkAddress}' failed`);
|
|
210
|
-
}
|
|
211
|
-
const tableList = [];
|
|
212
|
-
const response = {
|
|
213
|
-
status: data[1],
|
|
214
|
-
tableEntrys: data[2],
|
|
215
|
-
startIndex: data[3],
|
|
216
|
-
tableListCount: data[4],
|
|
217
|
-
tableList: tableList,
|
|
218
|
-
};
|
|
219
|
-
let tableEntry = [];
|
|
220
|
-
let counter = 0;
|
|
221
|
-
for (let i = 5; i < response.tableListCount * 22 + 5; i++) {
|
|
222
|
-
// one tableentry = 22 bytes
|
|
223
|
-
tableEntry.push(data[i]);
|
|
224
|
-
counter++;
|
|
225
|
-
if (counter === 22) {
|
|
226
|
-
response.tableList.push(Buffer.from(tableEntry));
|
|
227
|
-
tableEntry = [];
|
|
228
|
-
counter = 0;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
logger_1.logger.debug('LQI RESPONSE - addr: ' +
|
|
232
|
-
networkAddress.toString(16) +
|
|
233
|
-
' status: ' +
|
|
234
|
-
response.status +
|
|
235
|
-
' read ' +
|
|
236
|
-
(response.tableListCount + response.startIndex) +
|
|
237
|
-
'/' +
|
|
238
|
-
response.tableEntrys +
|
|
239
|
-
' entrys', NS);
|
|
240
|
-
return response;
|
|
188
|
+
// stack-specific requirements
|
|
189
|
+
// https://zigate.fr/documentation/commandes-zigate/
|
|
190
|
+
switch (clusterId) {
|
|
191
|
+
case Zdo.ClusterId.LEAVE_REQUEST: {
|
|
192
|
+
const prefixedPayload = Buffer.alloc(payload.length + 3); // extra zero for `removeChildren`
|
|
193
|
+
prefixedPayload.writeUInt16BE(networkAddress, 0);
|
|
194
|
+
prefixedPayload.set(payload, 2);
|
|
195
|
+
payload = prefixedPayload;
|
|
196
|
+
break;
|
|
241
197
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
let nextStartIndex = response.tableListCount;
|
|
251
|
-
while (neighbors.length < response.tableEntrys) {
|
|
252
|
-
response = await request(nextStartIndex);
|
|
253
|
-
add(response.tableList);
|
|
254
|
-
nextStartIndex += response.tableListCount;
|
|
255
|
-
}
|
|
256
|
-
return { neighbors };
|
|
257
|
-
}, networkAddress);
|
|
258
|
-
}
|
|
259
|
-
// @TODO
|
|
260
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
261
|
-
routingTable(networkAddress) {
|
|
262
|
-
return Promise.resolve({ table: [] });
|
|
263
|
-
}
|
|
264
|
-
async nodeDescriptor(networkAddress) {
|
|
265
|
-
return await this.queue.execute(async () => {
|
|
266
|
-
try {
|
|
267
|
-
const nodeDescriptorResponse = await this.driver.sendCommand(constants_1.ZiGateCommandCode.NodeDescriptor, {
|
|
268
|
-
targetShortAddress: networkAddress,
|
|
269
|
-
});
|
|
270
|
-
const data = nodeDescriptorResponse.payload.payload;
|
|
271
|
-
const buf = data;
|
|
272
|
-
const logicaltype = data[4] & 7;
|
|
273
|
-
let type = 'Unknown';
|
|
274
|
-
switch (logicaltype) {
|
|
275
|
-
case 1:
|
|
276
|
-
type = 'Router';
|
|
277
|
-
break;
|
|
278
|
-
case 2:
|
|
279
|
-
type = 'EndDevice';
|
|
280
|
-
break;
|
|
281
|
-
case 0:
|
|
282
|
-
type = 'Coordinator';
|
|
283
|
-
break;
|
|
198
|
+
case Zdo.ClusterId.BIND_REQUEST:
|
|
199
|
+
case Zdo.ClusterId.UNBIND_REQUEST: {
|
|
200
|
+
// extra zeroes for endpoint XXX: not needed?
|
|
201
|
+
const zeroes = 15 - payload.length;
|
|
202
|
+
const prefixedPayload = Buffer.alloc(payload.length + zeroes);
|
|
203
|
+
prefixedPayload.set(payload, 0);
|
|
204
|
+
payload = prefixedPayload;
|
|
205
|
+
break;
|
|
284
206
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
logger_1.logger.error(msg, NS);
|
|
297
|
-
throw new Error(msg);
|
|
298
|
-
}
|
|
299
|
-
}, networkAddress);
|
|
300
|
-
}
|
|
301
|
-
async activeEndpoints(networkAddress) {
|
|
302
|
-
return await this.queue.execute(async () => {
|
|
303
|
-
const payload = {
|
|
304
|
-
targetShortAddress: networkAddress,
|
|
305
|
-
};
|
|
306
|
-
try {
|
|
307
|
-
const result = await this.driver.sendCommand(constants_1.ZiGateCommandCode.ActiveEndpoint, payload);
|
|
308
|
-
const buf = Buffer.from(result.payload.payload);
|
|
309
|
-
const epCount = buf.readUInt8(4);
|
|
310
|
-
const epList = [];
|
|
311
|
-
for (let i = 5; i < epCount + 5; i++) {
|
|
312
|
-
epList.push(buf.readUInt8(i));
|
|
207
|
+
case Zdo.ClusterId.PERMIT_JOINING_REQUEST:
|
|
208
|
+
case Zdo.ClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST:
|
|
209
|
+
case Zdo.ClusterId.LQI_TABLE_REQUEST:
|
|
210
|
+
case Zdo.ClusterId.ROUTING_TABLE_REQUEST:
|
|
211
|
+
case Zdo.ClusterId.BINDING_TABLE_REQUEST:
|
|
212
|
+
case Zdo.ClusterId.NWK_UPDATE_REQUEST: {
|
|
213
|
+
const prefixedPayload = Buffer.alloc(payload.length + 2);
|
|
214
|
+
prefixedPayload.writeUInt16BE(networkAddress, 0);
|
|
215
|
+
prefixedPayload.set(payload, 2);
|
|
216
|
+
payload = prefixedPayload;
|
|
217
|
+
break;
|
|
313
218
|
}
|
|
314
|
-
const payloadAE = {
|
|
315
|
-
endpoints: epList,
|
|
316
|
-
};
|
|
317
|
-
logger_1.logger.debug(() => `ActiveEndpoints response: ${JSON.stringify(payloadAE)}`, NS);
|
|
318
|
-
return payloadAE;
|
|
319
|
-
}
|
|
320
|
-
catch (error) {
|
|
321
|
-
logger_1.logger.error(`RECEIVING ActiveEndpoints FAILED, ${error}`, NS);
|
|
322
|
-
throw new Error('RECEIVING ActiveEndpoints FAILED ' + error);
|
|
323
219
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
};
|
|
333
|
-
const result = await this.driver.sendCommand(constants_1.ZiGateCommandCode.SimpleDescriptor, payload);
|
|
334
|
-
const buf = result.payload.payload;
|
|
335
|
-
if (buf.length > 11) {
|
|
336
|
-
const inCount = buf.readUInt8(11);
|
|
337
|
-
const inClusters = [];
|
|
338
|
-
let cIndex = 12;
|
|
339
|
-
for (let i = 0; i < inCount; i++) {
|
|
340
|
-
inClusters[i] = buf.readUInt16LE(cIndex);
|
|
341
|
-
cIndex += 2;
|
|
342
|
-
}
|
|
343
|
-
const outCount = buf.readUInt8(12 + inCount * 2);
|
|
344
|
-
const outClusters = [];
|
|
345
|
-
cIndex = 13 + inCount * 2;
|
|
346
|
-
for (let l = 0; l < outCount; l++) {
|
|
347
|
-
outClusters[l] = buf.readUInt16LE(cIndex);
|
|
348
|
-
cIndex += 2;
|
|
349
|
-
}
|
|
350
|
-
const resultPayload = {
|
|
351
|
-
profileID: buf.readUInt16LE(6),
|
|
352
|
-
endpointID: buf.readUInt8(5),
|
|
353
|
-
deviceID: buf.readUInt16LE(8),
|
|
354
|
-
inputClusters: inClusters,
|
|
355
|
-
outputClusters: outClusters,
|
|
356
|
-
};
|
|
357
|
-
return resultPayload;
|
|
220
|
+
let waiter;
|
|
221
|
+
if (!disableResponse) {
|
|
222
|
+
const responseClusterId = Zdo.Utils.getResponseClusterId(clusterId);
|
|
223
|
+
if (responseClusterId) {
|
|
224
|
+
waiter = this.driver.zdoWaitFor({
|
|
225
|
+
clusterId: responseClusterId,
|
|
226
|
+
target: responseClusterId === Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE ? ieeeAddress : networkAddress,
|
|
227
|
+
});
|
|
358
228
|
}
|
|
359
|
-
throw new Error(`Invalid buffer length ${buf.length}.`);
|
|
360
229
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
}
|
|
366
|
-
}, networkAddress);
|
|
367
|
-
}
|
|
368
|
-
async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
|
|
369
|
-
return await this.queue.execute(async () => {
|
|
370
|
-
const payload = {
|
|
371
|
-
targetExtendedAddress: sourceIeeeAddress,
|
|
372
|
-
targetEndpoint: sourceEndpoint,
|
|
373
|
-
clusterID: clusterID,
|
|
374
|
-
destinationAddressMode: type === 'group' ? constants_1.ADDRESS_MODE.group : constants_1.ADDRESS_MODE.ieee,
|
|
375
|
-
destinationAddress: destinationAddressOrGroup,
|
|
376
|
-
};
|
|
377
|
-
if (destinationEndpoint != undefined) {
|
|
378
|
-
payload.destinationEndpoint = destinationEndpoint;
|
|
379
|
-
}
|
|
380
|
-
const result = await this.driver.sendCommand(constants_1.ZiGateCommandCode.Bind, payload, undefined, { destinationNetworkAddress });
|
|
381
|
-
const data = result.payload.payload;
|
|
382
|
-
if (data[1] === 0) {
|
|
383
|
-
logger_1.logger.debug(`Bind ${sourceIeeeAddress} success`, NS);
|
|
384
|
-
}
|
|
385
|
-
else {
|
|
386
|
-
const msg = `Bind ${sourceIeeeAddress} failed`;
|
|
387
|
-
logger_1.logger.error(msg, NS);
|
|
388
|
-
throw new Error(msg);
|
|
389
|
-
}
|
|
390
|
-
}, destinationNetworkAddress);
|
|
391
|
-
}
|
|
392
|
-
async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
|
|
393
|
-
return await this.queue.execute(async () => {
|
|
394
|
-
const payload = {
|
|
395
|
-
targetExtendedAddress: sourceIeeeAddress,
|
|
396
|
-
targetEndpoint: sourceEndpoint,
|
|
397
|
-
clusterID: clusterID,
|
|
398
|
-
destinationAddressMode: type === 'group' ? constants_1.ADDRESS_MODE.group : constants_1.ADDRESS_MODE.ieee,
|
|
399
|
-
destinationAddress: destinationAddressOrGroup,
|
|
400
|
-
};
|
|
401
|
-
if (destinationEndpoint != undefined) {
|
|
402
|
-
payload.destinationEndpoint = destinationEndpoint;
|
|
403
|
-
}
|
|
404
|
-
const result = await this.driver.sendCommand(constants_1.ZiGateCommandCode.UnBind, payload, undefined, { destinationNetworkAddress });
|
|
405
|
-
const data = result.payload.payload;
|
|
406
|
-
if (data[1] === 0) {
|
|
407
|
-
logger_1.logger.debug(`Unbind ${sourceIeeeAddress} success`, NS);
|
|
408
|
-
}
|
|
409
|
-
else {
|
|
410
|
-
const msg = `Unbind ${sourceIeeeAddress} failed`;
|
|
411
|
-
logger_1.logger.error(msg, NS);
|
|
412
|
-
throw new Error(msg);
|
|
413
|
-
}
|
|
414
|
-
}, destinationNetworkAddress);
|
|
415
|
-
}
|
|
416
|
-
async removeDevice(networkAddress, ieeeAddr) {
|
|
417
|
-
return await this.queue.execute(async () => {
|
|
418
|
-
const payload = {
|
|
419
|
-
shortAddress: networkAddress,
|
|
420
|
-
extendedAddress: ieeeAddr,
|
|
421
|
-
rejoin: 0,
|
|
422
|
-
removeChildren: 0,
|
|
423
|
-
};
|
|
424
|
-
try {
|
|
425
|
-
await this.driver.sendCommand(constants_1.ZiGateCommandCode.ManagementLeaveRequest, payload);
|
|
426
|
-
}
|
|
427
|
-
catch (error) {
|
|
428
|
-
new Error(`ManagementLeaveRequest failed ${error}`);
|
|
230
|
+
await this.driver.requestZdo(clusterId, payload);
|
|
231
|
+
if (waiter) {
|
|
232
|
+
const result = await waiter.start().promise;
|
|
233
|
+
return result.zdo;
|
|
429
234
|
}
|
|
430
235
|
}, networkAddress);
|
|
431
236
|
}
|
|
@@ -442,9 +247,9 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
442
247
|
const payload = {
|
|
443
248
|
addressMode: constants_1.ADDRESS_MODE.short, //nwk
|
|
444
249
|
targetShortAddress: networkAddress,
|
|
445
|
-
sourceEndpoint: sourceEndpoint ||
|
|
250
|
+
sourceEndpoint: sourceEndpoint || ZSpec.HA_ENDPOINT,
|
|
446
251
|
destinationEndpoint: endpoint,
|
|
447
|
-
profileID:
|
|
252
|
+
profileID: ZSpec.HA_PROFILE_ID,
|
|
448
253
|
clusterID: zclFrame.cluster.ID,
|
|
449
254
|
securityMode: 0x02,
|
|
450
255
|
radius: 30,
|
|
@@ -497,7 +302,7 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
497
302
|
targetShortAddress: destination,
|
|
498
303
|
sourceEndpoint: sourceEndpoint,
|
|
499
304
|
destinationEndpoint: endpoint,
|
|
500
|
-
profileID: /*sourceEndpoint ===
|
|
305
|
+
profileID: /*sourceEndpoint === ZSpec.GP_ENDPOINT ? ZSpec.GP_PROFILE_ID :*/ ZSpec.HA_PROFILE_ID,
|
|
501
306
|
clusterID: zclFrame.cluster.ID,
|
|
502
307
|
securityMode: 0x02,
|
|
503
308
|
radius: 30,
|
|
@@ -515,9 +320,9 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
515
320
|
const payload = {
|
|
516
321
|
addressMode: constants_1.ADDRESS_MODE.group, //nwk
|
|
517
322
|
targetShortAddress: groupID,
|
|
518
|
-
sourceEndpoint: sourceEndpoint ||
|
|
323
|
+
sourceEndpoint: sourceEndpoint || ZSpec.HA_ENDPOINT,
|
|
519
324
|
destinationEndpoint: 0xff,
|
|
520
|
-
profileID:
|
|
325
|
+
profileID: ZSpec.HA_PROFILE_ID,
|
|
521
326
|
clusterID: zclFrame.cluster.ID,
|
|
522
327
|
securityMode: 0x02,
|
|
523
328
|
radius: 30,
|
|
@@ -533,7 +338,9 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
533
338
|
*/
|
|
534
339
|
async initNetwork() {
|
|
535
340
|
logger_1.logger.debug(`Set channel mask ${this.networkOptions.channelList} key`, NS);
|
|
536
|
-
await this.driver.sendCommand(constants_1.ZiGateCommandCode.SetChannelMask, {
|
|
341
|
+
await this.driver.sendCommand(constants_1.ZiGateCommandCode.SetChannelMask, {
|
|
342
|
+
channelMask: ZSpec.Utils.channelsToUInt32Mask(this.networkOptions.channelList),
|
|
343
|
+
});
|
|
537
344
|
logger_1.logger.debug(`Set security key`, NS);
|
|
538
345
|
await this.driver.sendCommand(constants_1.ZiGateCommandCode.SetSecurityStateKey, {
|
|
539
346
|
keyType: this.networkOptions.networkKeyDistribute
|
|
@@ -591,36 +398,39 @@ class ZiGateAdapter extends adapter_1.default {
|
|
|
591
398
|
restoreChannelInterPAN() {
|
|
592
399
|
throw new Error('Not supported');
|
|
593
400
|
}
|
|
594
|
-
deviceAnnounceListener(
|
|
401
|
+
deviceAnnounceListener(response) {
|
|
595
402
|
// @todo debounce
|
|
596
|
-
const payload = { networkAddress, ieeeAddr };
|
|
597
403
|
if (this.joinPermitted === true) {
|
|
598
|
-
this.emit('deviceJoined',
|
|
404
|
+
this.emit('deviceJoined', { networkAddress: response.nwkAddress, ieeeAddr: response.eui64 });
|
|
599
405
|
}
|
|
600
406
|
else {
|
|
601
|
-
|
|
407
|
+
// convert to `zdoResponse` to avoid needing extra event upstream
|
|
408
|
+
this.emit('zdoResponse', Zdo.ClusterId.END_DEVICE_ANNOUNCE, [Zdo.Status.SUCCESS, response]);
|
|
602
409
|
}
|
|
603
410
|
}
|
|
604
|
-
|
|
411
|
+
onZdoResponse(clusterId, response) {
|
|
412
|
+
this.emit('zdoResponse', clusterId, response);
|
|
413
|
+
}
|
|
414
|
+
dataListener(ziGateObject) {
|
|
605
415
|
const payload = {
|
|
606
|
-
address:
|
|
607
|
-
clusterID:
|
|
608
|
-
data:
|
|
609
|
-
header: Zcl.Header.fromBuffer(
|
|
610
|
-
endpoint:
|
|
611
|
-
linkquality:
|
|
416
|
+
address: ziGateObject.payload.sourceAddress,
|
|
417
|
+
clusterID: ziGateObject.payload.clusterID,
|
|
418
|
+
data: ziGateObject.payload.payload,
|
|
419
|
+
header: Zcl.Header.fromBuffer(ziGateObject.payload.payload),
|
|
420
|
+
endpoint: ziGateObject.payload.sourceEndpoint,
|
|
421
|
+
linkquality: ziGateObject.frame.readRSSI(), // read: frame valid
|
|
612
422
|
groupID: 0, // @todo
|
|
613
423
|
wasBroadcast: false, // TODO
|
|
614
|
-
destinationEndpoint:
|
|
424
|
+
destinationEndpoint: ziGateObject.payload.destinationEndpoint,
|
|
615
425
|
};
|
|
616
426
|
this.waitress.resolve(payload);
|
|
617
427
|
this.emit('zclPayload', payload);
|
|
618
428
|
}
|
|
619
|
-
leaveIndicationListener(
|
|
620
|
-
logger_1.logger.debug(() => `LeaveIndication ${JSON.stringify(
|
|
429
|
+
leaveIndicationListener(ziGateObject) {
|
|
430
|
+
logger_1.logger.debug(() => `LeaveIndication ${JSON.stringify(ziGateObject)}`, NS);
|
|
621
431
|
const payload = {
|
|
622
|
-
networkAddress:
|
|
623
|
-
ieeeAddr:
|
|
432
|
+
networkAddress: ziGateObject.payload.extendedAddress,
|
|
433
|
+
ieeeAddr: ziGateObject.payload.extendedAddress,
|
|
624
434
|
};
|
|
625
435
|
this.emit('deviceLeave', payload);
|
|
626
436
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zigateAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/zigate/adapter/zigateAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zigateAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/zigate/adapter/zigateAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffaloZiGate.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zigate/driver/buffaloZiGate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"buffaloZiGate.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zigate/driver/buffaloZiGate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AAGvE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,aAAc,SAAQ,OAAO;IAExB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAwD3E,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO;IAyEjE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,YAAY,IAAI,MAAM;IAKtB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,YAAY,IAAI,MAAM;IAKtB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ1C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAMzC,cAAc,IAAI,KAAK;IAGvB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAmB,IAAI;CAI9D;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const buffalo_1 = require("../../../buffalo");
|
|
8
|
+
const utils_1 = require("../../../zspec/zdo/utils");
|
|
8
9
|
const constants_1 = require("./constants");
|
|
9
10
|
const parameterType_1 = __importDefault(require("./parameterType"));
|
|
10
11
|
class BuffaloZiGate extends buffalo_1.Buffalo {
|
|
@@ -109,24 +110,7 @@ class BuffaloZiGate extends buffalo_1.Buffalo {
|
|
|
109
110
|
return this.readInt8();
|
|
110
111
|
}
|
|
111
112
|
case parameterType_1.default.MACCAPABILITY: {
|
|
112
|
-
|
|
113
|
-
const mac = this.readUInt8();
|
|
114
|
-
//
|
|
115
|
-
result.alternatePanCoordinator = !!(mac & 0b00000001);
|
|
116
|
-
// bit 0: Alternative PAN Coordinator, always 0
|
|
117
|
-
result.fullFunctionDevice = !!(mac & 0b00000010);
|
|
118
|
-
// bit 1: Device Type, 1 = FFD , 0 = RFD ; cf. https://fr.wikipedia.org/wiki/IEEE_802.15.4
|
|
119
|
-
result.mainsPowerSource = !!(mac & 0b00000100);
|
|
120
|
-
// bit 2: Power Source, 1 = mains power, 0 = other
|
|
121
|
-
result.receiverOnWhenIdle = !!(mac & 0b00001000);
|
|
122
|
-
// bit 3: Receiver on when Idle, 1 = non-sleepy, 0 = sleepy
|
|
123
|
-
result.reserved = (mac & 0b00110000) >> 4;
|
|
124
|
-
// bit 4&5: Reserved
|
|
125
|
-
result.securityCapability = !!(mac & 0b01000000);
|
|
126
|
-
// bit 6: Security capacity, always 0 (standard security)
|
|
127
|
-
result.allocateAddress = !!(mac & 0b10000000);
|
|
128
|
-
// bit 7: 1 = joining device must be issued network address
|
|
129
|
-
return result;
|
|
113
|
+
return (0, utils_1.getMacCapFlags)(this.readUInt8());
|
|
130
114
|
}
|
|
131
115
|
case parameterType_1.default.ADDRESS_WITH_TYPE_DEPENDENCY: {
|
|
132
116
|
const addressMode = this.buffer.readUInt8(this.position - 1);
|