homebridge-valor-fireplace 2.0.3 → 2.0.4
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.
|
@@ -16,6 +16,8 @@ export declare class RequestController implements IRequestController {
|
|
|
16
16
|
readonly fireplace: IFireplaceController;
|
|
17
17
|
locked: boolean;
|
|
18
18
|
private static MAX_RETRIES;
|
|
19
|
+
private static DEBOUNCE_MS;
|
|
20
|
+
private static RETRY_DELAY_MS;
|
|
19
21
|
private busy;
|
|
20
22
|
private scheduledRequest?;
|
|
21
23
|
private sendTask?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestController.d.ts","sourceRoot":"","sources":["../../src/controllers/requestController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,IAAI,OAAO,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,cAAc,IAAI,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"requestController.d.ts","sourceRoot":"","sources":["../../src/controllers/requestController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,IAAI,OAAO,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,cAAc,IAAI,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;aAWxC,GAAG,EAAE,MAAM;aACX,SAAS,EAAE,oBAAoB;IACxC,MAAM;IAZf,OAAO,CAAC,MAAM,CAAC,WAAW,CAAM;IAChC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAU;IACpC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IACvC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,UAAU,CAAK;gBAGL,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,oBAAoB,EACxC,MAAM,UAAQ;IAIhB,QAAQ,IAAI,OAAO;IAI1B,OAAO,CAAC,SAAS;IAIjB,cAAc;IAId,kBAAkB;IAKlB,IAAI;IASJ,MAAM;IAON,MAAM,CAAC,EAAE,EAAE,OAAO;IAKlB,OAAO,CAAC,IAAI,EAAE,aAAa;IAK3B,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,kBAAkB;IAKlB,OAAO,CAAC,eAAe;YAUT,WAAW;CAgC1B"}
|
|
@@ -51,13 +51,13 @@ class RequestController {
|
|
|
51
51
|
clearInterval(this.sendTask);
|
|
52
52
|
this.sendTask = undefined;
|
|
53
53
|
}
|
|
54
|
-
scheduleRequest(request) {
|
|
54
|
+
scheduleRequest(request, delayMs = RequestController.DEBOUNCE_MS) {
|
|
55
55
|
if (this.sendTask) {
|
|
56
56
|
this.clearScheduledTask();
|
|
57
57
|
}
|
|
58
58
|
const mergedRequest = this.scheduledRequest ? { ...this.scheduledRequest, ...request } : request;
|
|
59
59
|
this.scheduledRequest = mergedRequest;
|
|
60
|
-
this.sendTask = setTimeout(() => this.sendRequest(mergedRequest),
|
|
60
|
+
this.sendTask = setTimeout(() => this.sendRequest(mergedRequest), delayMs);
|
|
61
61
|
}
|
|
62
62
|
async sendRequest(request, retry = false) {
|
|
63
63
|
if (!this.busy) {
|
|
@@ -65,7 +65,7 @@ class RequestController {
|
|
|
65
65
|
}
|
|
66
66
|
if (!this.isAllowed()) {
|
|
67
67
|
if (!retry) {
|
|
68
|
-
setTimeout(() => this.sendRequest(request, true),
|
|
68
|
+
setTimeout(() => this.sendRequest(request, true), RequestController.DEBOUNCE_MS);
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
this.log.info('Parental controls active, action is not allowed!');
|
|
@@ -78,8 +78,8 @@ class RequestController {
|
|
|
78
78
|
if (!success) {
|
|
79
79
|
this.retryCount++;
|
|
80
80
|
if (this.retryCount <= RequestController.MAX_RETRIES) {
|
|
81
|
-
this.log.info(`Retry attempt ${this.retryCount}/${RequestController.MAX_RETRIES}`);
|
|
82
|
-
this.scheduleRequest(request);
|
|
81
|
+
this.log.info(`Retry attempt ${this.retryCount}/${RequestController.MAX_RETRIES} (waiting ${RequestController.RETRY_DELAY_MS / 1000}s)`);
|
|
82
|
+
this.scheduleRequest(request, RequestController.RETRY_DELAY_MS);
|
|
83
83
|
}
|
|
84
84
|
else {
|
|
85
85
|
this.log.warn(`Max retries (${RequestController.MAX_RETRIES}) reached, giving up`);
|
|
@@ -95,4 +95,6 @@ class RequestController {
|
|
|
95
95
|
}
|
|
96
96
|
exports.RequestController = RequestController;
|
|
97
97
|
RequestController.MAX_RETRIES = 10;
|
|
98
|
+
RequestController.DEBOUNCE_MS = 10000;
|
|
99
|
+
RequestController.RETRY_DELAY_MS = 90000;
|
|
98
100
|
//# sourceMappingURL=requestController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestController.js","sourceRoot":"","sources":["../../src/controllers/requestController.ts"],"names":[],"mappings":";;;AAeA,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"requestController.js","sourceRoot":"","sources":["../../src/controllers/requestController.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Valor Fireplace",
|
|
3
3
|
"name": "homebridge-valor-fireplace",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.4",
|
|
5
5
|
"description": "Controls Valor Fireplace WiFi controllers, connecting real fire with Homebridge.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": {
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
"home-automation"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {},
|
|
40
|
+
"overrides": {
|
|
41
|
+
"picomatch": ">=2.3.2"
|
|
42
|
+
},
|
|
40
43
|
"devDependencies": {
|
|
41
44
|
"@types/node": "^16.10.9",
|
|
42
45
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|