zigbee-herdsman 0.26.0 → 0.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +8 -0
- package/dist/controller/helpers/request.d.ts +4 -4
- package/dist/controller/helpers/request.d.ts.map +1 -1
- package/dist/controller/helpers/request.js +16 -16
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts +13 -0
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
- package/dist/controller/helpers/requestQueue.js +114 -0
- package/dist/controller/helpers/requestQueue.js.map +1 -0
- package/dist/controller/model/endpoint.d.ts +0 -3
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +7 -98
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zcl/definition/cluster.js +2 -0
- package/dist/zcl/definition/cluster.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.26.1](https://github.com/Koenkk/zigbee-herdsman/compare/v0.26.0...v0.26.1) (2023-12-10)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Extend `manuSpecificInovelli` cluster ([#824](https://github.com/Koenkk/zigbee-herdsman/issues/824)) ([435ed7a](https://github.com/Koenkk/zigbee-herdsman/commit/435ed7a5a0f1e45fbc4ecbc3882772e5d10ed2a9))
|
|
9
|
+
* **ignore:** Cleanup request queue ([#826](https://github.com/Koenkk/zigbee-herdsman/issues/826)) ([db1545b](https://github.com/Koenkk/zigbee-herdsman/commit/db1545b1170bf74c3fa9624807e233e863b844b1))
|
|
10
|
+
|
|
3
11
|
## [0.26.0](https://github.com/Koenkk/zigbee-herdsman/compare/v0.25.3...v0.26.0) (2023-12-07)
|
|
4
12
|
|
|
5
13
|
|
|
@@ -4,14 +4,14 @@ declare class Request<Type = any> {
|
|
|
4
4
|
static defaultSendPolicy: {
|
|
5
5
|
[key: number]: SendPolicy;
|
|
6
6
|
};
|
|
7
|
-
private
|
|
7
|
+
private func;
|
|
8
8
|
frame: Zcl.ZclFrame;
|
|
9
9
|
expires: number;
|
|
10
10
|
sendPolicy: SendPolicy;
|
|
11
11
|
sendWhen: SendRequestWhen;
|
|
12
|
-
private
|
|
13
|
-
private
|
|
14
|
-
private
|
|
12
|
+
private resolveQueue;
|
|
13
|
+
private rejectQueue;
|
|
14
|
+
private lastError;
|
|
15
15
|
constructor(func: (frame: Zcl.ZclFrame) => Promise<Type>, frame: Zcl.ZclFrame, timeout: number, sendWhen?: SendRequestWhen, sendPolicy?: SendPolicy, lastError?: Error, resolve?: (value: Type) => void, reject?: (error: Error) => void);
|
|
16
16
|
moveCallbacks(from: Request<Type>): void;
|
|
17
17
|
addCallbacks(resolve: (value: Type) => void, reject: (error: Error) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,cAAM,OAAO,CAAC,IAAI,GAAG,GAAG;IAEpB,MAAM,CAAC,iBAAiB,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAC,CAwBnD;IAEF,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,cAAM,OAAO,CAAC,IAAI,GAAG,GAAG;IAEpB,MAAM,CAAC,iBAAiB,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAC,CAwBnD;IAEF,OAAO,CAAC,IAAI,CAAyC;IACrD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,SAAS,CAAQ;gBACZ,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAC3F,QAAQ,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EACtE,OAAO,CAAC,EAAC,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAcnE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAE,IAAI,CAAC,GAAI,IAAI;IAO1C,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAKlF,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAK3B,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAKpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -3,42 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
/* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
|
|
4
4
|
class Request {
|
|
5
5
|
constructor(func, frame, timeout, sendWhen, sendPolicy, lastError, resolve, reject) {
|
|
6
|
-
this.
|
|
6
|
+
this.func = func;
|
|
7
7
|
this.frame = frame;
|
|
8
8
|
this.sendWhen = sendWhen !== null && sendWhen !== void 0 ? sendWhen : 'active',
|
|
9
9
|
this.expires = timeout + Date.now();
|
|
10
10
|
this.sendPolicy = sendPolicy !== null && sendPolicy !== void 0 ? sendPolicy : (typeof frame.getCommand !== 'function' ?
|
|
11
11
|
undefined : Request.defaultSendPolicy[frame.getCommand().ID]);
|
|
12
|
-
this.
|
|
12
|
+
this.resolveQueue = resolve === undefined ?
|
|
13
13
|
new Array() : new Array(resolve);
|
|
14
|
-
this.
|
|
14
|
+
this.rejectQueue = reject === undefined ?
|
|
15
15
|
new Array() : new Array(reject);
|
|
16
|
-
this.
|
|
16
|
+
this.lastError = lastError !== null && lastError !== void 0 ? lastError : Error("Request rejected before first send");
|
|
17
17
|
}
|
|
18
18
|
moveCallbacks(from) {
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
from.
|
|
22
|
-
from.
|
|
19
|
+
this.resolveQueue = this.resolveQueue.concat(from.resolveQueue);
|
|
20
|
+
this.rejectQueue = this.rejectQueue.concat(from.rejectQueue);
|
|
21
|
+
from.resolveQueue.length = 0;
|
|
22
|
+
from.rejectQueue.length = 0;
|
|
23
23
|
}
|
|
24
24
|
addCallbacks(resolve, reject) {
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
25
|
+
this.resolveQueue.push(resolve);
|
|
26
|
+
this.rejectQueue.push(reject);
|
|
27
27
|
}
|
|
28
28
|
reject(error) {
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
29
|
+
this.rejectQueue.forEach(el => el(error !== null && error !== void 0 ? error : this.lastError));
|
|
30
|
+
this.rejectQueue.length = 0;
|
|
31
31
|
}
|
|
32
32
|
resolve(value) {
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
33
|
+
this.resolveQueue.forEach(el => el(value));
|
|
34
|
+
this.resolveQueue.length = 0;
|
|
35
35
|
}
|
|
36
36
|
async send() {
|
|
37
37
|
try {
|
|
38
|
-
return await this.
|
|
38
|
+
return await this.func(this.frame);
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
41
|
-
this.
|
|
41
|
+
this.lastError = error;
|
|
42
42
|
throw (error);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":";;AAGA,gEAAgE;AAChE,MAAM,OAAO;IAoCT,YAAa,IAA4C,EAAE,KAAmB,EAAE,OAAe,EAC3F,QAA0B,EAAE,UAAuB,EAAE,SAAiB,EACtE,OAA8B,EAAE,MAA+B;QAC/D,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Endpoint } from '../model';
|
|
2
|
+
import Request from './request';
|
|
3
|
+
declare class RequestQueue extends Set<Request> {
|
|
4
|
+
private sendInProgress;
|
|
5
|
+
private ID;
|
|
6
|
+
private deviceIeeeAddress;
|
|
7
|
+
constructor(endpoint: Endpoint);
|
|
8
|
+
send(fastPolling: boolean): Promise<void>;
|
|
9
|
+
queue<Type>(request: Request<Type>): Promise<Type>;
|
|
10
|
+
filter(newRequest: Request): void;
|
|
11
|
+
}
|
|
12
|
+
export default RequestQueue;
|
|
13
|
+
//# sourceMappingURL=requestQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestQueue.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/requestQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,OAAO,MAAM,WAAW,CAAC;AAWhC,cAAM,YAAa,SAAQ,GAAG,CAAC,OAAO,CAAC;IAEnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,iBAAiB,CAAS;gBAErB,QAAQ,EAAE,QAAQ;IASlB,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCzC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAmD3C;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const debug_1 = __importDefault(require("debug"));
|
|
7
|
+
const debug = {
|
|
8
|
+
info: (0, debug_1.default)('zigbee-herdsman:helpers:requestQueue'),
|
|
9
|
+
error: (0, debug_1.default)('zigbee-herdsman:helpers:requestQeue'),
|
|
10
|
+
};
|
|
11
|
+
class RequestQueue extends Set {
|
|
12
|
+
constructor(endpoint) {
|
|
13
|
+
super();
|
|
14
|
+
this.sendInProgress = false;
|
|
15
|
+
this.ID = endpoint.ID;
|
|
16
|
+
this.deviceIeeeAddress = endpoint.deviceIeeeAddress;
|
|
17
|
+
}
|
|
18
|
+
async send(fastPolling) {
|
|
19
|
+
if (this.size === 0)
|
|
20
|
+
return;
|
|
21
|
+
if (!fastPolling && this.sendInProgress) {
|
|
22
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): sendPendingRequests already in progress`);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.sendInProgress = true;
|
|
26
|
+
// Remove expired requests first
|
|
27
|
+
const now = Date.now();
|
|
28
|
+
for (const request of this) {
|
|
29
|
+
if (now > request.expires) {
|
|
30
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): discard after timeout. ` +
|
|
31
|
+
`Size before: ${this.size}`);
|
|
32
|
+
request.reject();
|
|
33
|
+
this.delete(request);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send pending requests (` +
|
|
37
|
+
`${this.size}, ${fastPolling})`);
|
|
38
|
+
for (const request of this) {
|
|
39
|
+
if (fastPolling || (request.sendWhen !== 'fastpoll' && request.sendPolicy !== 'bulk')) {
|
|
40
|
+
try {
|
|
41
|
+
const result = await request.send();
|
|
42
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send success`);
|
|
43
|
+
request.resolve(result);
|
|
44
|
+
this.delete(request);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send failed, expires in ` +
|
|
48
|
+
`${(request.expires - now) / 1000} seconds`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.sendInProgress = false;
|
|
53
|
+
}
|
|
54
|
+
async queue(request) {
|
|
55
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Sending when active. ` +
|
|
56
|
+
`Expires: ${request.expires}`);
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
request.addCallbacks(resolve, reject);
|
|
59
|
+
this.add(request);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
filter(newRequest) {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
if (this.size === 0 || !(typeof newRequest.frame.getCommand === 'function')) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const clusterID = newRequest.frame.Cluster.ID;
|
|
68
|
+
const payload = newRequest.frame.Payload;
|
|
69
|
+
const commandID = newRequest.frame.getCommand().ID;
|
|
70
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ZCL ${newRequest.frame.getCommand().name} ` +
|
|
71
|
+
`command, filter requests. Before: ${this.size}`);
|
|
72
|
+
for (const request of this) {
|
|
73
|
+
if (((_b = (_a = request === null || request === void 0 ? void 0 : request.frame) === null || _a === void 0 ? void 0 : _a.Cluster) === null || _b === void 0 ? void 0 : _b.ID) === undefined || typeof request.frame.getCommand !== 'function') {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (['bulk', 'queue', 'immediate'].includes(request.sendPolicy)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
/* istanbul ignore else */
|
|
80
|
+
if (request.frame.Cluster.ID === clusterID && request.frame.getCommand().ID === commandID) {
|
|
81
|
+
/* istanbul ignore else */
|
|
82
|
+
if (newRequest.sendPolicy === 'keep-payload'
|
|
83
|
+
&& JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
|
|
84
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Merge duplicate request`);
|
|
85
|
+
this.delete(request);
|
|
86
|
+
newRequest.moveCallbacks(request);
|
|
87
|
+
}
|
|
88
|
+
else if ((newRequest.sendPolicy === 'keep-command' || newRequest.sendPolicy === 'keep-cmd-undiv') &&
|
|
89
|
+
Array.isArray(request.frame.Payload)) {
|
|
90
|
+
const filteredPayload = request.frame.Payload.filter((oldEl) => !payload.find((newEl) => oldEl.attrId === newEl.attrId));
|
|
91
|
+
if (filteredPayload.length == 0) {
|
|
92
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Remove & reject request`);
|
|
93
|
+
if (JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
|
|
94
|
+
newRequest.moveCallbacks(request);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
request.reject();
|
|
98
|
+
}
|
|
99
|
+
this.delete(request);
|
|
100
|
+
}
|
|
101
|
+
else if (newRequest.sendPolicy !== 'keep-cmd-undiv') {
|
|
102
|
+
// remove all duplicate attributes if we shall not write undivided
|
|
103
|
+
request.frame.Payload = filteredPayload;
|
|
104
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): `
|
|
105
|
+
+ `Remove commands from request`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): After: ${this.size}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.default = RequestQueue;
|
|
114
|
+
//# sourceMappingURL=requestQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestQueue.js","sourceRoot":"","sources":["../../../src/controller/helpers/requestQueue.ts"],"names":[],"mappings":";;;;;AAGA,kDAA0B;AAE1B,MAAM,KAAK,GAAG;IACV,IAAI,EAAE,IAAA,eAAK,EAAC,sCAAsC,CAAC;IACnD,KAAK,EAAE,IAAA,eAAK,EAAC,qCAAqC,CAAC;CACtD,CAAC;AAKF,MAAM,YAAa,SAAQ,GAAY;IAMnC,YAAa,QAAkB;QAE3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACxD,CAAC;IAGM,KAAK,CAAC,IAAI,CAAC,WAAoB;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;YAC5G,OAAO;SACV;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,gCAAgC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE;gBACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,4BAA4B;oBAC1F,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACxB;SACJ;QAED,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,4BAA4B;YACtF,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE;gBACnF,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;oBACjF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACxB;gBAAC,OAAO,KAAK,EAAE;oBACZ,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,6BAA6B;wBACvF,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;iBACpD;aACJ;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAO,OAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,0BAA0B;YACpF,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACzC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,UAAmB;;QAE7B,IAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE;YACxE,OAAO;SACV;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAEnD,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,UAAU,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,GAAG;YACzG,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,0CAAE,EAAE,MAAK,SAAS,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC7F,SAAS;aACZ;YACD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7D,SAAS;aACZ;YACD,0BAA0B;YAC1B,IAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE;gBACtF,0BAA0B;gBAC1B,IAAI,UAAU,CAAC,UAAU,KAAK,cAAc;uBACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;oBACtE,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,4BAA4B,CAAC,CAAC;oBAC5F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrB,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;iBACrC;qBACI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,cAAc,IAAI,UAAU,CAAC,UAAU,KAAK,gBAAgB,CAAC;oBACzF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAuB,EAAE,EAAE,CAC7E,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC/E,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;wBAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,4BAA4B,CAAC,CAAC;wBAC5F,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;4BACnE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;yBACrC;6BAAM;4BACH,OAAO,CAAC,MAAM,EAAE,CAAC;yBACpB;wBACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACxB;yBAAM,IAAI,UAAU,CAAC,UAAU,KAAK,gBAAgB,EAAE;wBACnD,kEAAkE;wBACjE,OAAO,CAAC,KAA+B,CAAC,OAAO,GAAG,eAAe,CAAC;wBACnE,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,KAAK;8BAC7D,8BAA8B,CAAC,CAAC;qBACzC;iBACJ;aACJ;SACJ;QACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;CACJ;AAED,kBAAe,YAAY,CAAC"}
|
|
@@ -57,7 +57,6 @@ declare class Endpoint extends Entity {
|
|
|
57
57
|
private _configuredReportings;
|
|
58
58
|
meta: KeyValue;
|
|
59
59
|
private pendingRequests;
|
|
60
|
-
private sendInProgress;
|
|
61
60
|
get binds(): Bind[];
|
|
62
61
|
get configuredReportings(): ConfiguredReporting[];
|
|
63
62
|
private constructor();
|
|
@@ -91,8 +90,6 @@ declare class Endpoint extends Entity {
|
|
|
91
90
|
getClusterAttributeValue(clusterKey: number | string, attributeKey: number | string): number | string;
|
|
92
91
|
hasPendingRequests(): boolean;
|
|
93
92
|
sendPendingRequests(fastPolling: boolean): Promise<void>;
|
|
94
|
-
private queueRequest;
|
|
95
|
-
private filterRequests;
|
|
96
93
|
private sendRequest;
|
|
97
94
|
private checkStatus;
|
|
98
95
|
report(clusterKey: number | string, attributes: KeyValue, options?: Options): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ const Zcl = __importStar(require("../../zcl"));
|
|
|
31
31
|
const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
|
|
32
32
|
const ZclFrameConverter = __importStar(require("../helpers/zclFrameConverter"));
|
|
33
33
|
const request_1 = __importDefault(require("../helpers/request"));
|
|
34
|
+
const requestQueue_1 = __importDefault(require("../helpers/requestQueue"));
|
|
34
35
|
const group_1 = __importDefault(require("./group"));
|
|
35
36
|
const device_1 = __importDefault(require("./device"));
|
|
36
37
|
const debug_1 = __importDefault(require("debug"));
|
|
@@ -97,8 +98,7 @@ class Endpoint extends entity_1.default {
|
|
|
97
98
|
this._binds = binds;
|
|
98
99
|
this._configuredReportings = configuredReportings;
|
|
99
100
|
this.meta = meta;
|
|
100
|
-
this.pendingRequests = new
|
|
101
|
-
this.sendInProgress = false;
|
|
101
|
+
this.pendingRequests = new requestQueue_1.default(this);
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
104
|
* Get device of this endpoint
|
|
@@ -182,98 +182,7 @@ class Endpoint extends entity_1.default {
|
|
|
182
182
|
return this.pendingRequests.size > 0;
|
|
183
183
|
}
|
|
184
184
|
async sendPendingRequests(fastPolling) {
|
|
185
|
-
|
|
186
|
-
return;
|
|
187
|
-
if (!fastPolling && this.sendInProgress) {
|
|
188
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): sendPendingRequests already in progress`);
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
this.sendInProgress = true;
|
|
192
|
-
// Remove expired requests first
|
|
193
|
-
const now = Date.now();
|
|
194
|
-
for (const request of this.pendingRequests) {
|
|
195
|
-
if (now > request.expires) {
|
|
196
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): discard after timeout. ` +
|
|
197
|
-
`Size before: ${this.pendingRequests.size}`);
|
|
198
|
-
request.reject();
|
|
199
|
-
this.pendingRequests.delete(request);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send pending requests (` +
|
|
203
|
-
`${this.pendingRequests.size}, ${fastPolling})`);
|
|
204
|
-
for (const request of this.pendingRequests) {
|
|
205
|
-
if (fastPolling || (request.sendWhen !== 'fastpoll' && request.sendPolicy !== 'bulk')) {
|
|
206
|
-
try {
|
|
207
|
-
const result = await request.send();
|
|
208
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send success`);
|
|
209
|
-
request.resolve(result);
|
|
210
|
-
this.pendingRequests.delete(request);
|
|
211
|
-
}
|
|
212
|
-
catch (error) {
|
|
213
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send failed, expires in ` +
|
|
214
|
-
`${(request.expires - now) / 1000} seconds`);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
this.sendInProgress = false;
|
|
219
|
-
}
|
|
220
|
-
async queueRequest(request) {
|
|
221
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Sending when active. ` +
|
|
222
|
-
`Timeout ${this.getDevice().pendingRequestTimeout / 1000} seconds`);
|
|
223
|
-
return new Promise((resolve, reject) => {
|
|
224
|
-
request.addCallbacks(resolve, reject);
|
|
225
|
-
this.pendingRequests.add(request);
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
filterRequests(newRequest) {
|
|
229
|
-
var _a, _b;
|
|
230
|
-
if (this.pendingRequests.size === 0 || !(typeof newRequest.frame.getCommand === 'function')) {
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
const clusterID = newRequest.frame.Cluster.ID;
|
|
234
|
-
const payload = newRequest.frame.Payload;
|
|
235
|
-
const commandID = newRequest.frame.getCommand().ID;
|
|
236
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ZCL ${newRequest.frame.getCommand().name} ` +
|
|
237
|
-
`command, filter requests. Before: ${this.pendingRequests.size}`);
|
|
238
|
-
for (const request of this.pendingRequests) {
|
|
239
|
-
if (((_b = (_a = request === null || request === void 0 ? void 0 : request.frame) === null || _a === void 0 ? void 0 : _a.Cluster) === null || _b === void 0 ? void 0 : _b.ID) === undefined || typeof request.frame.getCommand !== 'function') {
|
|
240
|
-
continue;
|
|
241
|
-
}
|
|
242
|
-
if (['bulk', 'queue', 'immediate'].includes(request.sendPolicy)) {
|
|
243
|
-
continue;
|
|
244
|
-
}
|
|
245
|
-
/* istanbul ignore else */
|
|
246
|
-
if (request.frame.Cluster.ID === clusterID && request.frame.getCommand().ID === commandID) {
|
|
247
|
-
/* istanbul ignore else */
|
|
248
|
-
if (newRequest.sendPolicy === 'keep-payload'
|
|
249
|
-
&& JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
|
|
250
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Merge duplicate request`);
|
|
251
|
-
this.pendingRequests.delete(request);
|
|
252
|
-
newRequest.moveCallbacks(request);
|
|
253
|
-
}
|
|
254
|
-
else if ((newRequest.sendPolicy === 'keep-command' || newRequest.sendPolicy === 'keep-cmd-undiv') &&
|
|
255
|
-
Array.isArray(request.frame.Payload)) {
|
|
256
|
-
const filteredPayload = request.frame.Payload.filter((oldEl) => !payload.find((newEl) => oldEl.attrId === newEl.attrId));
|
|
257
|
-
if (filteredPayload.length == 0) {
|
|
258
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Remove & reject request`);
|
|
259
|
-
if (JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
|
|
260
|
-
newRequest.moveCallbacks(request);
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
request.reject();
|
|
264
|
-
}
|
|
265
|
-
this.pendingRequests.delete(request);
|
|
266
|
-
}
|
|
267
|
-
else if (newRequest.sendPolicy !== 'keep-cmd-undiv') {
|
|
268
|
-
// remove all duplicate attributes if we shall not write undivided
|
|
269
|
-
request.frame.Payload = filteredPayload;
|
|
270
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): `
|
|
271
|
-
+ `Remove commands from request`);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): After: ${this.pendingRequests.size}`);
|
|
185
|
+
return this.pendingRequests.send(fastPolling);
|
|
277
186
|
}
|
|
278
187
|
async sendRequest(frame, options, func = (d) => {
|
|
279
188
|
return entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, d, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
|
|
@@ -282,7 +191,7 @@ class Endpoint extends entity_1.default {
|
|
|
282
191
|
const request = new request_1.default(func, frame, this.getDevice().pendingRequestTimeout, options.sendWhen, options.sendPolicy);
|
|
283
192
|
if (request.sendPolicy !== 'bulk') {
|
|
284
193
|
// Check if such a request is already in the queue and remove the old one(s) if necessary
|
|
285
|
-
this.
|
|
194
|
+
this.pendingRequests.filter(request);
|
|
286
195
|
}
|
|
287
196
|
// send without queueing if sendWhen or sendPolicy is 'immediate' or if the device has no timeout set
|
|
288
197
|
if (request.sendWhen === 'immediate' || request.sendPolicy === 'immediate'
|
|
@@ -295,8 +204,8 @@ class Endpoint extends entity_1.default {
|
|
|
295
204
|
}
|
|
296
205
|
// If this is a bulk message, we queue directly.
|
|
297
206
|
if (request.sendPolicy === 'bulk') {
|
|
298
|
-
debug.info(logPrefix + `queue request (${this.pendingRequests.size}
|
|
299
|
-
return this.
|
|
207
|
+
debug.info(logPrefix + `queue request (${this.pendingRequests.size})))`);
|
|
208
|
+
return this.pendingRequests.queue(request);
|
|
300
209
|
}
|
|
301
210
|
try {
|
|
302
211
|
debug.info(logPrefix + `send request`);
|
|
@@ -306,7 +215,7 @@ class Endpoint extends entity_1.default {
|
|
|
306
215
|
// If we got a failed transaction, the device is likely sleeping.
|
|
307
216
|
// Queue for transmission later.
|
|
308
217
|
debug.info(logPrefix + `queue request (transaction failed)`);
|
|
309
|
-
return this.
|
|
218
|
+
return this.pendingRequests.queue(request);
|
|
310
219
|
}
|
|
311
220
|
}
|
|
312
221
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../src/zcl/definition/cluster.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAI7C,UAAU,mBAAmB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,iBAAiB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAC,CAAC;IAC/C,QAAQ,EAAE;QACN,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE;QACd,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KAClC,CAAC;CACL;AAED,UAAU,iBAAiB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,OAAO,EAAE;IACX,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../src/zcl/definition/cluster.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAI7C,UAAU,mBAAmB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,iBAAiB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAC,CAAC;IAC/C,QAAQ,EAAE;QACN,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE;QACd,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KAClC,CAAC;CACL;AAED,UAAU,iBAAiB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,OAAO,EAAE;IACX,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;CA6iLlC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -4881,6 +4881,8 @@ const Cluster = {
|
|
|
4881
4881
|
activeEnergyReports: { ID: 0x0014, type: dataType_1.default.uint16 },
|
|
4882
4882
|
powerType: { ID: 0x0015, type: dataType_1.default.boolean },
|
|
4883
4883
|
switchType: { ID: 0x0016, type: dataType_1.default.uint8 },
|
|
4884
|
+
quickStartTime: { ID: 0x0017, type: dataType_1.default.uint8 },
|
|
4885
|
+
quickStartLevel: { ID: 0x0018, type: dataType_1.default.uint8 },
|
|
4884
4886
|
higherOutputInNonNeutral: { ID: 0x0019, type: dataType_1.default.boolean },
|
|
4885
4887
|
nonNeutralAuxMediumGear: { ID: 0x001e, type: dataType_1.default.uint8 },
|
|
4886
4888
|
nonNeutralAuxLowGear: { ID: 0x001f, type: dataType_1.default.uint8 },
|