zigbee-herdsman 0.28.0 → 0.29.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/.babelrc.js +0 -4
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +16 -0
- package/dist/adapter/adapter.js +21 -45
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +76 -98
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/index.js +2 -8
- package/dist/adapter/deconz/adapter/index.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.js +1 -3
- package/dist/adapter/deconz/driver/constants.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +77 -72
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frame.js +1 -3
- package/dist/adapter/deconz/driver/frame.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +36 -41
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +8 -34
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/deconz/driver/writer.js +6 -34
- package/dist/adapter/deconz/driver/writer.js.map +1 -1
- package/dist/adapter/events.js +2 -4
- package/dist/adapter/events.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +10 -15
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +59 -81
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/adapter/index.js +2 -8
- package/dist/adapter/ezsp/adapter/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/commands.js +629 -628
- package/dist/adapter/ezsp/driver/commands.js.map +1 -1
- package/dist/adapter/ezsp/driver/consts.js +10 -13
- package/dist/adapter/ezsp/driver/consts.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +100 -96
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +85 -104
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/index.js +3 -7
- package/dist/adapter/ezsp/driver/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +17 -19
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +6 -35
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +35 -57
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +12 -119
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +1548 -1627
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +649 -668
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +35 -57
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +1 -3
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +23 -27
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.js +7 -37
- package/dist/adapter/ezsp/driver/writer.js.map +1 -1
- package/dist/adapter/index.js +4 -35
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/serialPort.js +6 -10
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/serialPortUtils.js +7 -9
- package/dist/adapter/serialPortUtils.js.map +1 -1
- package/dist/adapter/socketPortUtils.js +1 -3
- package/dist/adapter/socketPortUtils.js.map +1 -1
- package/dist/adapter/tstype.js +1 -2
- package/dist/adapter/z-stack/adapter/adapter-backup.js +79 -108
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -27
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.js +3 -29
- package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
- package/dist/adapter/z-stack/adapter/index.js +2 -8
- package/dist/adapter/z-stack/adapter/index.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +77 -102
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/tstype.js +2 -4
- package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +62 -79
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/constants/af.js +1 -3
- package/dist/adapter/z-stack/constants/af.js.map +1 -1
- package/dist/adapter/z-stack/constants/common.js +16 -19
- package/dist/adapter/z-stack/constants/common.js.map +1 -1
- package/dist/adapter/z-stack/constants/dbg.js +1 -3
- package/dist/adapter/z-stack/constants/dbg.js.map +1 -1
- package/dist/adapter/z-stack/constants/index.js +10 -47
- package/dist/adapter/z-stack/constants/index.js.map +1 -1
- package/dist/adapter/z-stack/constants/mac.js +1 -3
- package/dist/adapter/z-stack/constants/mac.js.map +1 -1
- package/dist/adapter/z-stack/constants/sapi.js +1 -3
- package/dist/adapter/z-stack/constants/sapi.js.map +1 -1
- package/dist/adapter/z-stack/constants/sys.js +1 -3
- package/dist/adapter/z-stack/constants/sys.js.map +1 -1
- package/dist/adapter/z-stack/constants/util.js +1 -3
- package/dist/adapter/z-stack/constants/util.js.map +1 -1
- package/dist/adapter/z-stack/constants/utils.js +3 -7
- package/dist/adapter/z-stack/constants/utils.js.map +1 -1
- package/dist/adapter/z-stack/constants/zdo.js +1 -3
- package/dist/adapter/z-stack/constants/zdo.js.map +1 -1
- package/dist/adapter/z-stack/models/index.js +1 -17
- package/dist/adapter/z-stack/models/index.js.map +1 -1
- package/dist/adapter/z-stack/models/startup-options.js +1 -2
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +5 -9
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js +5 -9
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +3 -7
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +5 -9
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +3 -7
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +5 -9
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.js +2 -6
- package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.js +2 -6
- package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/index.js +16 -32
- package/dist/adapter/z-stack/structs/entries/index.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nib.js +6 -10
- package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +2 -6
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.js +2 -6
- package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +2 -6
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +2 -6
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +5 -9
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +5 -9
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js +6 -10
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/index.js +4 -20
- package/dist/adapter/z-stack/structs/index.js.map +1 -1
- package/dist/adapter/z-stack/structs/serializable-memory-object.js +1 -2
- package/dist/adapter/z-stack/structs/struct.js +8 -11
- package/dist/adapter/z-stack/structs/struct.js.map +1 -1
- package/dist/adapter/z-stack/structs/table.js +7 -9
- package/dist/adapter/z-stack/structs/table.js.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.js +3 -12
- package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.js +13 -9
- package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
- package/dist/adapter/z-stack/unpi/index.js +5 -37
- package/dist/adapter/z-stack/unpi/index.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +13 -40
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +4 -32
- package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
- package/dist/adapter/z-stack/utils/channel-list.js +5 -11
- package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
- package/dist/adapter/z-stack/utils/index.js +2 -18
- package/dist/adapter/z-stack/utils/index.js.map +1 -1
- package/dist/adapter/z-stack/utils/network-options.js +3 -7
- package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +3 -5
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +1280 -1285
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/index.js +3 -10
- package/dist/adapter/z-stack/znp/index.js.map +1 -1
- package/dist/adapter/z-stack/znp/parameterType.js +1 -3
- package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.js +1 -2
- package/dist/adapter/z-stack/znp/znp.js +64 -81
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +30 -29
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zigate/adapter/index.js +2 -8
- package/dist/adapter/zigate/adapter/index.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +64 -87
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/debug.js +3 -9
- package/dist/adapter/zigate/debug.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +7 -9
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +45 -50
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +31 -34
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +11 -14
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +27 -30
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.js +1 -3
- package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +17 -18
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +55 -47
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/buffalo/buffalo.js +5 -5
- package/dist/buffalo/buffalo.js.map +1 -1
- package/dist/buffalo/index.js +3 -33
- package/dist/buffalo/index.js.map +1 -1
- package/dist/buffalo/tstype.js +1 -2
- package/dist/controller/controller.js +99 -110
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.js +13 -16
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/events.js +2 -5
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/greenPower.js +17 -44
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/index.js +2 -28
- package/dist/controller/helpers/index.js.map +1 -1
- package/dist/controller/helpers/request.js +38 -32
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.js +8 -11
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +5 -13
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.js +2 -4
- package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
- package/dist/controller/index.js +5 -8
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/logger-stub.js +1 -2
- package/dist/controller/model/device.js +86 -90
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +60 -79
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.js +5 -10
- package/dist/controller/model/entity.js.map +1 -1
- package/dist/controller/model/group.js +32 -57
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/index.js +5 -14
- package/dist/controller/model/index.js.map +1 -1
- package/dist/controller/touchlink.js +11 -37
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/controller/tstype.js +2 -4
- package/dist/controller/tstype.js.map +1 -1
- package/dist/index.js +3 -33
- package/dist/index.js.map +1 -1
- package/dist/models/backup-storage-legacy.js +1 -2
- package/dist/models/backup-storage-unified.js +1 -2
- package/dist/models/backup.js +1 -2
- package/dist/models/index.js +4 -20
- package/dist/models/index.js.map +1 -1
- package/dist/models/network-options.js +1 -2
- package/dist/utils/assertString.js +1 -3
- package/dist/utils/assertString.js.map +1 -1
- package/dist/utils/backup.js +15 -46
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/equalsPartial.js +3 -8
- package/dist/utils/equalsPartial.js.map +1 -1
- package/dist/utils/index.js +9 -45
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/isNumberArray.js +1 -3
- package/dist/utils/isNumberArray.js.map +1 -1
- package/dist/utils/queue.js +3 -3
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/realpathSync.js +3 -8
- package/dist/utils/realpathSync.js.map +1 -1
- package/dist/utils/wait.js +1 -3
- package/dist/utils/wait.js.map +1 -1
- package/dist/utils/waitress.js +5 -3
- package/dist/utils/waitress.js.map +1 -1
- package/dist/zcl/buffaloZcl.js +17 -45
- package/dist/zcl/buffaloZcl.js.map +1 -1
- package/dist/zcl/definition/buffaloZclDataType.js +1 -3
- package/dist/zcl/definition/buffaloZclDataType.js.map +1 -1
- package/dist/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zcl/definition/cluster.js +2364 -2336
- package/dist/zcl/definition/cluster.js.map +1 -1
- package/dist/zcl/definition/dataType.js +1 -3
- package/dist/zcl/definition/dataType.js.map +1 -1
- package/dist/zcl/definition/direction.js +1 -3
- package/dist/zcl/definition/direction.js.map +1 -1
- package/dist/zcl/definition/endpointDeviceType.js +1 -3
- package/dist/zcl/definition/endpointDeviceType.js.map +1 -1
- package/dist/zcl/definition/foundation.js +53 -58
- package/dist/zcl/definition/foundation.js.map +1 -1
- package/dist/zcl/definition/frameControl.js +1 -2
- package/dist/zcl/definition/frameType.js +1 -3
- package/dist/zcl/definition/frameType.js.map +1 -1
- package/dist/zcl/definition/index.js +12 -51
- package/dist/zcl/definition/index.js.map +1 -1
- package/dist/zcl/definition/manufacturerCode.js +1 -3
- package/dist/zcl/definition/manufacturerCode.js.map +1 -1
- package/dist/zcl/definition/powerSource.js +1 -3
- package/dist/zcl/definition/powerSource.js.map +1 -1
- package/dist/zcl/definition/status.js +1 -3
- package/dist/zcl/definition/status.js.map +1 -1
- package/dist/zcl/definition/tstype.js +1 -2
- package/dist/zcl/index.js +14 -55
- package/dist/zcl/index.js.map +1 -1
- package/dist/zcl/tstype.js +2 -4
- package/dist/zcl/tstype.js.map +1 -1
- package/dist/zcl/utils.js +23 -29
- package/dist/zcl/utils.js.map +1 -1
- package/dist/zcl/zclFrame.js +46 -70
- package/dist/zcl/zclFrame.js.map +1 -1
- package/dist/zcl/zclHeader.js +1 -2
- package/dist/zcl/zclStatusError.js +4 -8
- package/dist/zcl/zclStatusError.js.map +1 -1
- package/package.json +1 -4
- package/tsconfig.json +4 -3
|
@@ -1,60 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const debug_1 = __importDefault(require("debug"));
|
|
30
|
-
const adapter_1 = __importDefault(require("../../adapter"));
|
|
31
|
-
const debug = (0, debug_1.default)("zigbee-herdsman:deconz:adapter");
|
|
32
|
-
const driver_1 = __importDefault(require("../driver/driver"));
|
|
33
|
-
const zcl_1 = require("../../../zcl");
|
|
34
|
-
const Events = __importStar(require("../../events"));
|
|
35
|
-
const frameParser_1 = __importDefault(require("../driver/frameParser"));
|
|
36
|
-
const utils_1 = require("../../../utils");
|
|
37
|
-
const constants_1 = __importDefault(require("../driver/constants"));
|
|
1
|
+
import Debug from "debug";
|
|
2
|
+
import Adapter from '../../adapter';
|
|
3
|
+
const debug = Debug("zigbee-herdsman:deconz:adapter");
|
|
4
|
+
import Driver from '../driver/driver';
|
|
5
|
+
import { ZclFrame } from '../../../zcl';
|
|
6
|
+
import * as Events from '../../events';
|
|
7
|
+
import processFrame from '../driver/frameParser';
|
|
8
|
+
import { Queue, Waitress } from '../../../utils';
|
|
9
|
+
import PARAM from '../driver/constants';
|
|
38
10
|
var frameParser = require('../driver/frameParser');
|
|
39
11
|
;
|
|
40
|
-
class DeconzAdapter extends
|
|
12
|
+
class DeconzAdapter extends Adapter {
|
|
13
|
+
driver;
|
|
14
|
+
queue;
|
|
15
|
+
openRequestsQueue;
|
|
16
|
+
transactionID;
|
|
17
|
+
frameParserEvent = frameParser.frameParserEvents;
|
|
18
|
+
joinPermitted;
|
|
19
|
+
fwVersion;
|
|
20
|
+
waitress;
|
|
21
|
+
TX_OPTIONS = 0x00; // No APS ACKS
|
|
41
22
|
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions, logger) {
|
|
42
23
|
super(networkOptions, serialPortOptions, backupPath, adapterOptions, logger);
|
|
43
|
-
this.frameParserEvent = frameParser.frameParserEvents;
|
|
44
|
-
this.TX_OPTIONS = 0x00; // No APS ACKS
|
|
45
24
|
const concurrent = this.adapterOptions && this.adapterOptions.concurrent ?
|
|
46
25
|
this.adapterOptions.concurrent : 2;
|
|
47
26
|
// TODO: https://github.com/Koenkk/zigbee2mqtt/issues/4884#issuecomment-728903121
|
|
48
27
|
const delay = this.adapterOptions && typeof this.adapterOptions.delay === 'number' ?
|
|
49
28
|
this.adapterOptions.delay : 0;
|
|
50
|
-
this.waitress = new
|
|
51
|
-
this.driver = new
|
|
29
|
+
this.waitress = new Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
|
|
30
|
+
this.driver = new Driver(serialPortOptions.path);
|
|
52
31
|
this.driver.setDelay(delay);
|
|
53
32
|
if (delay >= 200) {
|
|
54
33
|
this.TX_OPTIONS = 0x04; // activate APS ACKS
|
|
55
34
|
}
|
|
56
|
-
this.driver.on('rxFrame', (frame) => { (
|
|
57
|
-
this.queue = new
|
|
35
|
+
this.driver.on('rxFrame', (frame) => { processFrame(frame); });
|
|
36
|
+
this.queue = new Queue(concurrent);
|
|
58
37
|
this.transactionID = 0;
|
|
59
38
|
this.openRequestsQueue = [];
|
|
60
39
|
this.joinPermitted = false;
|
|
@@ -66,10 +45,10 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
66
45
|
setTimeout(() => { that.checkCoordinatorSimpleDescriptor(false); }, 3000);
|
|
67
46
|
}
|
|
68
47
|
static async isValidPath(path) {
|
|
69
|
-
return
|
|
48
|
+
return Driver.isValidPath(path);
|
|
70
49
|
}
|
|
71
50
|
static async autoDetectPath() {
|
|
72
|
-
return
|
|
51
|
+
return Driver.autoDetectPath();
|
|
73
52
|
}
|
|
74
53
|
/**
|
|
75
54
|
* Adapter methods
|
|
@@ -83,8 +62,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
83
62
|
await this.driver.close();
|
|
84
63
|
}
|
|
85
64
|
async getCoordinator() {
|
|
86
|
-
const ieeeAddr = await this.driver.readParameterRequest(
|
|
87
|
-
const nwkAddr = await this.driver.readParameterRequest(
|
|
65
|
+
const ieeeAddr = await this.driver.readParameterRequest(PARAM.PARAM.Network.MAC);
|
|
66
|
+
const nwkAddr = await this.driver.readParameterRequest(PARAM.PARAM.Network.NWK_ADDRESS);
|
|
88
67
|
const endpoints = [{
|
|
89
68
|
ID: 0x01,
|
|
90
69
|
profileID: 0x0104,
|
|
@@ -111,7 +90,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
111
90
|
const request = {};
|
|
112
91
|
const zdpFrame = [transactionID, seconds, 0]; // tc_significance 1 or 0 ?
|
|
113
92
|
request.requestId = transactionID;
|
|
114
|
-
request.destAddrMode =
|
|
93
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
115
94
|
request.destAddr16 = networkAddress || 0xFFFC;
|
|
116
95
|
request.destEndpoint = 0;
|
|
117
96
|
request.profileId = 0;
|
|
@@ -120,7 +99,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
120
99
|
request.asduLength = 3;
|
|
121
100
|
request.asduPayload = zdpFrame;
|
|
122
101
|
request.txOptions = 0;
|
|
123
|
-
request.radius =
|
|
102
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
124
103
|
request.timeout = 5;
|
|
125
104
|
try {
|
|
126
105
|
await this.driver.enqueueSendDataRequest(request);
|
|
@@ -130,7 +109,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
130
109
|
else {
|
|
131
110
|
this.joinPermitted = true;
|
|
132
111
|
}
|
|
133
|
-
this.driver.writeParameterRequest(
|
|
112
|
+
this.driver.writeParameterRequest(PARAM.PARAM.Network.PERMIT_JOIN, seconds);
|
|
134
113
|
debug("PERMIT_JOIN - " + seconds + " seconds");
|
|
135
114
|
}
|
|
136
115
|
catch (error) {
|
|
@@ -198,7 +177,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
198
177
|
const transactionID = this.nextTransactionID();
|
|
199
178
|
const req = {};
|
|
200
179
|
req.requestId = transactionID;
|
|
201
|
-
req.destAddrMode =
|
|
180
|
+
req.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
202
181
|
req.destAddr16 = networkAddress;
|
|
203
182
|
req.destEndpoint = 0;
|
|
204
183
|
req.profileId = 0;
|
|
@@ -207,7 +186,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
207
186
|
req.asduLength = 2;
|
|
208
187
|
req.asduPayload = [transactionID, startIndex];
|
|
209
188
|
req.txOptions = 0;
|
|
210
|
-
req.radius =
|
|
189
|
+
req.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
211
190
|
this.driver.enqueueSendDataRequest(req)
|
|
212
191
|
.then(result => { })
|
|
213
192
|
.catch(error => { });
|
|
@@ -281,7 +260,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
281
260
|
const transactionID = this.nextTransactionID();
|
|
282
261
|
const req = {};
|
|
283
262
|
req.requestId = transactionID;
|
|
284
|
-
req.destAddrMode =
|
|
263
|
+
req.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
285
264
|
req.destAddr16 = networkAddress;
|
|
286
265
|
req.destEndpoint = 0;
|
|
287
266
|
req.profileId = 0;
|
|
@@ -290,7 +269,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
290
269
|
req.asduLength = 2;
|
|
291
270
|
req.asduPayload = [transactionID, startIndex];
|
|
292
271
|
req.txOptions = 0;
|
|
293
|
-
req.radius =
|
|
272
|
+
req.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
294
273
|
req.timeout = 30;
|
|
295
274
|
this.driver.enqueueSendDataRequest(req)
|
|
296
275
|
.then(result => { })
|
|
@@ -346,7 +325,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
346
325
|
const request = {};
|
|
347
326
|
const zdpFrame = [transactionID, nwk1, nwk2];
|
|
348
327
|
request.requestId = transactionID;
|
|
349
|
-
request.destAddrMode =
|
|
328
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
350
329
|
request.destAddr16 = networkAddress;
|
|
351
330
|
request.destEndpoint = 0;
|
|
352
331
|
request.profileId = 0;
|
|
@@ -355,7 +334,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
355
334
|
request.asduLength = 3;
|
|
356
335
|
request.asduPayload = zdpFrame;
|
|
357
336
|
request.txOptions = 0;
|
|
358
|
-
request.radius =
|
|
337
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
359
338
|
request.timeout = 30;
|
|
360
339
|
this.driver.enqueueSendDataRequest(request)
|
|
361
340
|
.then(result => { })
|
|
@@ -383,7 +362,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
383
362
|
const request = {};
|
|
384
363
|
const zdpFrame = [transactionID, nwk1, nwk2];
|
|
385
364
|
request.requestId = transactionID;
|
|
386
|
-
request.destAddrMode =
|
|
365
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
387
366
|
request.destAddr16 = networkAddress;
|
|
388
367
|
request.destEndpoint = 0;
|
|
389
368
|
request.profileId = 0;
|
|
@@ -392,7 +371,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
392
371
|
request.asduLength = 3;
|
|
393
372
|
request.asduPayload = zdpFrame;
|
|
394
373
|
request.txOptions = 0;
|
|
395
|
-
request.radius =
|
|
374
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
396
375
|
request.timeout = 30;
|
|
397
376
|
this.driver.enqueueSendDataRequest(request)
|
|
398
377
|
.then(result => { })
|
|
@@ -422,7 +401,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
422
401
|
const request = {};
|
|
423
402
|
const zdpFrame = [transactionID, nwk1, nwk2, endpointID];
|
|
424
403
|
request.requestId = transactionID;
|
|
425
|
-
request.destAddrMode =
|
|
404
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
426
405
|
request.destAddr16 = networkAddress;
|
|
427
406
|
request.destEndpoint = 0;
|
|
428
407
|
request.profileId = 0;
|
|
@@ -431,7 +410,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
431
410
|
request.asduLength = 4;
|
|
432
411
|
request.asduPayload = zdpFrame;
|
|
433
412
|
request.txOptions = 0;
|
|
434
|
-
request.radius =
|
|
413
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
435
414
|
request.timeout = 30;
|
|
436
415
|
this.driver.enqueueSendDataRequest(request)
|
|
437
416
|
.then(result => { })
|
|
@@ -510,7 +489,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
510
489
|
try { //[ sd1 ep proId devId vers #inCl iCl1 iCl2 iCl3 iCl4 iCl5 #outC oCl1 oCl2 oCl3 oCl4 ]
|
|
511
490
|
const sd = [0x00, 0x01, 0x04, 0x01, 0x05, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x06, 0x0A, 0x00, 0x19, 0x00, 0x01, 0x05, 0x04, 0x01, 0x00, 0x20, 0x00, 0x00, 0x05, 0x02, 0x05];
|
|
512
491
|
const sd1 = sd.reverse();
|
|
513
|
-
await this.driver.writeParameterRequest(
|
|
492
|
+
await this.driver.writeParameterRequest(PARAM.PARAM.STK.Endpoint, sd1);
|
|
514
493
|
}
|
|
515
494
|
catch (error) {
|
|
516
495
|
debug("error setting simple descriptor - try again");
|
|
@@ -535,7 +514,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
535
514
|
//console.log("zclFramte.toBuffer:");
|
|
536
515
|
//console.log(pay);
|
|
537
516
|
request.requestId = transactionID;
|
|
538
|
-
request.destAddrMode =
|
|
517
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
539
518
|
request.destAddr16 = networkAddress;
|
|
540
519
|
request.destEndpoint = endpoint;
|
|
541
520
|
request.profileId = sourceEndpoint === 242 && endpoint === 242 ? 0xa1e0 : 0x104;
|
|
@@ -544,7 +523,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
544
523
|
request.asduLength = pay.length;
|
|
545
524
|
request.asduPayload = [...pay];
|
|
546
525
|
request.txOptions = this.TX_OPTIONS; // 0x00 normal; 0x04 APS ACK
|
|
547
|
-
request.radius =
|
|
526
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
548
527
|
request.timeout = timeout;
|
|
549
528
|
const command = zclFrame.getCommand();
|
|
550
529
|
this.driver.enqueueSendDataRequest(request)
|
|
@@ -569,7 +548,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
569
548
|
if (data !== null) {
|
|
570
549
|
const asdu = data.asduPayload;
|
|
571
550
|
const buffer = Buffer.from(asdu);
|
|
572
|
-
const frame =
|
|
551
|
+
const frame = ZclFrame.fromBuffer(zclFrame.Cluster.ID, buffer);
|
|
573
552
|
const response = {
|
|
574
553
|
address: (data.srcAddrMode === 0x02) ? data.srcAddr16 : null,
|
|
575
554
|
frame: frame,
|
|
@@ -600,7 +579,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
600
579
|
//console.log("zclFramte.toBuffer:");
|
|
601
580
|
//console.log(pay);
|
|
602
581
|
request.requestId = transactionID;
|
|
603
|
-
request.destAddrMode =
|
|
582
|
+
request.destAddrMode = PARAM.PARAM.addressMode.GROUP_ADDR;
|
|
604
583
|
request.destAddr16 = groupID;
|
|
605
584
|
request.profileId = 0x104;
|
|
606
585
|
request.clusterId = zclFrame.Cluster.ID;
|
|
@@ -608,7 +587,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
608
587
|
request.asduLength = pay.length;
|
|
609
588
|
request.asduPayload = [...pay];
|
|
610
589
|
request.txOptions = 0;
|
|
611
|
-
request.radius =
|
|
590
|
+
request.radius = PARAM.PARAM.txRadius.UNLIMITED;
|
|
612
591
|
try {
|
|
613
592
|
debug(`sendZclFrameToGroup - message send`);
|
|
614
593
|
return this.driver.enqueueSendDataRequest(request);
|
|
@@ -625,7 +604,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
625
604
|
debug("zclFrame to all - zclFrame.payload:");
|
|
626
605
|
debug(zclFrame.Payload);
|
|
627
606
|
request.requestId = transactionID;
|
|
628
|
-
request.destAddrMode =
|
|
607
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
629
608
|
request.destAddr16 = 0xFFFD;
|
|
630
609
|
request.destEndpoint = endpoint;
|
|
631
610
|
request.profileId = sourceEndpoint === 242 && endpoint === 242 ? 0xa1e0 : 0x104;
|
|
@@ -634,7 +613,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
634
613
|
request.asduLength = pay.length;
|
|
635
614
|
request.asduPayload = [...pay];
|
|
636
615
|
request.txOptions = 0;
|
|
637
|
-
request.radius =
|
|
616
|
+
request.radius = PARAM.PARAM.txRadius.UNLIMITED;
|
|
638
617
|
try {
|
|
639
618
|
debug(`sendZclFrameToAll - message send`);
|
|
640
619
|
return this.driver.enqueueSendDataRequest(request);
|
|
@@ -648,7 +627,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
648
627
|
const transactionID = this.nextTransactionID();
|
|
649
628
|
const clid1 = clusterID & 0xff;
|
|
650
629
|
const clid2 = (clusterID >> 8) & 0xff;
|
|
651
|
-
const destAddrMode = (type === 'group') ?
|
|
630
|
+
const destAddrMode = (type === 'group') ? PARAM.PARAM.addressMode.GROUP_ADDR : PARAM.PARAM.addressMode.IEEE_ADDR;
|
|
652
631
|
let destArray;
|
|
653
632
|
if (type === 'endpoint') {
|
|
654
633
|
destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
|
|
@@ -660,7 +639,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
660
639
|
const request = {};
|
|
661
640
|
const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(sourceIeeeAddress)).concat([sourceEndpoint, clid1, clid2, destAddrMode]).concat(destArray);
|
|
662
641
|
request.requestId = transactionID;
|
|
663
|
-
request.destAddrMode =
|
|
642
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
664
643
|
request.destAddr16 = destinationNetworkAddress;
|
|
665
644
|
request.destEndpoint = 0;
|
|
666
645
|
request.profileId = 0;
|
|
@@ -669,7 +648,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
669
648
|
request.asduLength = zdpFrame.length;
|
|
670
649
|
request.asduPayload = zdpFrame;
|
|
671
650
|
request.txOptions = 0x04; // 0x04 use APS ACKS
|
|
672
|
-
request.radius =
|
|
651
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
673
652
|
request.timeout = 30;
|
|
674
653
|
this.driver.enqueueSendDataRequest(request)
|
|
675
654
|
.then(result => { })
|
|
@@ -691,7 +670,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
691
670
|
const transactionID = this.nextTransactionID();
|
|
692
671
|
const clid1 = clusterID & 0xff;
|
|
693
672
|
const clid2 = (clusterID >> 8) & 0xff;
|
|
694
|
-
const destAddrMode = (type === 'group') ?
|
|
673
|
+
const destAddrMode = (type === 'group') ? PARAM.PARAM.addressMode.GROUP_ADDR : PARAM.PARAM.addressMode.IEEE_ADDR;
|
|
695
674
|
let destArray;
|
|
696
675
|
if (type === 'endpoint') {
|
|
697
676
|
destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
|
|
@@ -703,7 +682,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
703
682
|
const request = {};
|
|
704
683
|
const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(sourceIeeeAddress)).concat([sourceEndpoint, clid1, clid2, destAddrMode]).concat(destArray);
|
|
705
684
|
request.requestId = transactionID;
|
|
706
|
-
request.destAddrMode =
|
|
685
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
707
686
|
request.destAddr16 = destinationNetworkAddress;
|
|
708
687
|
request.destEndpoint = 0;
|
|
709
688
|
request.profileId = 0;
|
|
@@ -712,7 +691,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
712
691
|
request.asduLength = zdpFrame.length;
|
|
713
692
|
request.asduPayload = zdpFrame;
|
|
714
693
|
request.txOptions = 0x04; // 0x04 use APS ACKS
|
|
715
|
-
request.radius =
|
|
694
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
716
695
|
request.timeout = 30;
|
|
717
696
|
this.driver.enqueueSendDataRequest(request)
|
|
718
697
|
.then(result => { })
|
|
@@ -738,7 +717,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
738
717
|
//const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(ieeeAddr)).concat([0]);
|
|
739
718
|
const zdpFrame = [transactionID].concat([0, 0, 0, 0, 0, 0, 0, 0]).concat([0]);
|
|
740
719
|
request.requestId = transactionID;
|
|
741
|
-
request.destAddrMode =
|
|
720
|
+
request.destAddrMode = PARAM.PARAM.addressMode.NWK_ADDR;
|
|
742
721
|
request.destAddr16 = networkAddress;
|
|
743
722
|
request.destEndpoint = 0;
|
|
744
723
|
request.profileId = 0;
|
|
@@ -747,7 +726,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
747
726
|
request.asduLength = 10;
|
|
748
727
|
request.asduPayload = zdpFrame;
|
|
749
728
|
request.txOptions = 0;
|
|
750
|
-
request.radius =
|
|
729
|
+
request.radius = PARAM.PARAM.txRadius.DEFAULT_RADIUS;
|
|
751
730
|
this.driver.enqueueSendDataRequest(request)
|
|
752
731
|
.then(result => { })
|
|
753
732
|
.catch(error => { });
|
|
@@ -778,10 +757,10 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
778
757
|
async getNetworkParameters() {
|
|
779
758
|
try {
|
|
780
759
|
let changed = false;
|
|
781
|
-
let panid = await this.driver.readParameterRequest(
|
|
782
|
-
let expanid = await this.driver.readParameterRequest(
|
|
783
|
-
let channel = await this.driver.readParameterRequest(
|
|
784
|
-
let networkKey = await this.driver.readParameterRequest(
|
|
760
|
+
let panid = await this.driver.readParameterRequest(PARAM.PARAM.Network.PAN_ID);
|
|
761
|
+
let expanid = await this.driver.readParameterRequest(PARAM.PARAM.Network.APS_EXT_PAN_ID);
|
|
762
|
+
let channel = await this.driver.readParameterRequest(PARAM.PARAM.Network.CHANNEL);
|
|
763
|
+
let networkKey = await this.driver.readParameterRequest(PARAM.PARAM.Network.NETWORK_KEY);
|
|
785
764
|
// check current channel against configuration.yaml
|
|
786
765
|
if (this.networkOptions.channelList[0] !== channel) {
|
|
787
766
|
debug("Channel in configuration.yaml (" + this.networkOptions.channelList[0] + ") differs from current channel (" + channel + "). Changing channel.");
|
|
@@ -839,7 +818,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
839
818
|
break;
|
|
840
819
|
}
|
|
841
820
|
try {
|
|
842
|
-
await this.driver.writeParameterRequest(
|
|
821
|
+
await this.driver.writeParameterRequest(PARAM.PARAM.Network.CHANNEL_MASK, setChannelMask);
|
|
843
822
|
await this.sleep(500);
|
|
844
823
|
changed = true;
|
|
845
824
|
}
|
|
@@ -851,7 +830,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
851
830
|
if (this.networkOptions.panID !== panid) {
|
|
852
831
|
debug("panid in configuration.yaml (" + this.networkOptions.panID + ") differs from current panid (" + panid + "). Changing panid.");
|
|
853
832
|
try {
|
|
854
|
-
await this.driver.writeParameterRequest(
|
|
833
|
+
await this.driver.writeParameterRequest(PARAM.PARAM.Network.PAN_ID, this.networkOptions.panID);
|
|
855
834
|
await this.sleep(500);
|
|
856
835
|
changed = true;
|
|
857
836
|
}
|
|
@@ -863,7 +842,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
863
842
|
if (this.driver.generalArrayToString(this.networkOptions.extendedPanID, 8) !== expanid) {
|
|
864
843
|
debug("extended panid in configuration.yaml (" + this.driver.macAddrArrayToString(this.networkOptions.extendedPanID) + ") differs from current extended panid (" + expanid + "). Changing extended panid.");
|
|
865
844
|
try {
|
|
866
|
-
await this.driver.writeParameterRequest(
|
|
845
|
+
await this.driver.writeParameterRequest(PARAM.PARAM.Network.APS_EXT_PAN_ID, this.networkOptions.extendedPanID);
|
|
867
846
|
await this.sleep(500);
|
|
868
847
|
changed = true;
|
|
869
848
|
}
|
|
@@ -875,7 +854,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
875
854
|
if (this.driver.generalArrayToString(this.networkOptions.networkKey, 16) !== networkKey) {
|
|
876
855
|
debug("network key in configuration.yaml (hidden) differs from current network key (" + networkKey + "). Changing network key.");
|
|
877
856
|
try {
|
|
878
|
-
await this.driver.writeParameterRequest(
|
|
857
|
+
await this.driver.writeParameterRequest(PARAM.PARAM.Network.NETWORK_KEY, this.networkOptions.networkKey);
|
|
879
858
|
await this.sleep(500);
|
|
880
859
|
changed = true;
|
|
881
860
|
}
|
|
@@ -884,14 +863,14 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
884
863
|
}
|
|
885
864
|
}
|
|
886
865
|
if (changed) {
|
|
887
|
-
await this.driver.changeNetworkStateRequest(
|
|
866
|
+
await this.driver.changeNetworkStateRequest(PARAM.PARAM.Network.NET_OFFLINE);
|
|
888
867
|
await this.sleep(2000);
|
|
889
|
-
await this.driver.changeNetworkStateRequest(
|
|
868
|
+
await this.driver.changeNetworkStateRequest(PARAM.PARAM.Network.NET_CONNECTED);
|
|
890
869
|
await this.sleep(2000);
|
|
891
|
-
let panid = await this.driver.readParameterRequest(
|
|
892
|
-
let expanid = await this.driver.readParameterRequest(
|
|
893
|
-
let channel = await this.driver.readParameterRequest(
|
|
894
|
-
let networkKey = await this.driver.readParameterRequest(
|
|
870
|
+
let panid = await this.driver.readParameterRequest(PARAM.PARAM.Network.PAN_ID);
|
|
871
|
+
let expanid = await this.driver.readParameterRequest(PARAM.PARAM.Network.APS_EXT_PAN_ID);
|
|
872
|
+
let channel = await this.driver.readParameterRequest(PARAM.PARAM.Network.CHANNEL);
|
|
873
|
+
let networkKey = await this.driver.readParameterRequest(PARAM.PARAM.Network.NETWORK_KEY);
|
|
895
874
|
}
|
|
896
875
|
return {
|
|
897
876
|
panID: panid,
|
|
@@ -935,7 +914,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
935
914
|
waitForData(addr, profileId, clusterId, transactionSequenceNumber, timeout) {
|
|
936
915
|
return new Promise((resolve, reject) => {
|
|
937
916
|
const ts = Date.now();
|
|
938
|
-
const commandId =
|
|
917
|
+
const commandId = PARAM.PARAM.APS.DATA_INDICATION;
|
|
939
918
|
const req = { addr, profileId, clusterId, transactionSequenceNumber, resolve, reject, ts, timeout };
|
|
940
919
|
this.openRequestsQueue.push(req);
|
|
941
920
|
});
|
|
@@ -950,7 +929,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
950
929
|
ind.commandId, ind.commandFrameSize].concat(ind.commandFrame);
|
|
951
930
|
const payBuf = Buffer.from(gpFrame);
|
|
952
931
|
const payload = {
|
|
953
|
-
frame:
|
|
932
|
+
frame: ZclFrame.fromBuffer(ind.clusterId, payBuf),
|
|
954
933
|
address: ind.srcId,
|
|
955
934
|
endpoint: 242, // GP endpoint
|
|
956
935
|
linkquality: 127,
|
|
@@ -962,14 +941,13 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
962
941
|
this.emit(Events.Events.zclData, payload);
|
|
963
942
|
}
|
|
964
943
|
checkReceivedDataPayload(resp) {
|
|
965
|
-
var _a;
|
|
966
944
|
let srcAddr = null;
|
|
967
945
|
let frame = null;
|
|
968
946
|
if (resp != null) {
|
|
969
947
|
srcAddr = (resp.srcAddr16 != null) ? resp.srcAddr16 : resp.srcAddr64;
|
|
970
948
|
if (resp.profileId != 0x00) {
|
|
971
949
|
try {
|
|
972
|
-
frame =
|
|
950
|
+
frame = ZclFrame.fromBuffer(resp.clusterId, Buffer.from(resp.asduPayload));
|
|
973
951
|
}
|
|
974
952
|
catch (error) {
|
|
975
953
|
debug("could not parse zclFrame: " + error);
|
|
@@ -997,7 +975,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
997
975
|
const now = Date.now();
|
|
998
976
|
// Default timeout: 60 seconds.
|
|
999
977
|
// Comparison is negated to prevent orphans when invalid timeout is entered (resulting in NaN).
|
|
1000
|
-
if (!((now - req.ts) <= (
|
|
978
|
+
if (!((now - req.ts) <= (req.timeout ?? 60000))) {
|
|
1001
979
|
//debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16));
|
|
1002
980
|
//remove from busyQueue
|
|
1003
981
|
this.openRequestsQueue.splice(i, 1);
|
|
@@ -1023,7 +1001,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1023
1001
|
const payBuf = Buffer.from(resp.asduPayload);
|
|
1024
1002
|
try {
|
|
1025
1003
|
const payload = {
|
|
1026
|
-
frame:
|
|
1004
|
+
frame: ZclFrame.fromBuffer(resp.clusterId, payBuf),
|
|
1027
1005
|
address: (resp.destAddrMode === 0x03) ? resp.srcAddr64 : resp.srcAddr16,
|
|
1028
1006
|
endpoint: resp.srcEndpoint,
|
|
1029
1007
|
linkquality: resp.lqi,
|
|
@@ -1072,5 +1050,5 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1072
1050
|
matcher.direction === payload.frame.Header.frameControl.direction;
|
|
1073
1051
|
}
|
|
1074
1052
|
}
|
|
1075
|
-
|
|
1053
|
+
export default DeconzAdapter;
|
|
1076
1054
|
//# sourceMappingURL=deconzAdapter.js.map
|