@marcel2215/homebridge-supla-plugin 2.1.25 → 2.1.27
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/dist/Accesories/FrontGateFsm.d.ts +12 -4
- package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
- package/dist/Accesories/FrontGateFsm.js +165 -72
- package/dist/Accesories/FrontGateFsm.js.map +1 -1
- package/dist/Accesories/GateAccessory.d.ts +7 -0
- package/dist/Accesories/GateAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateAccessory.js +53 -0
- package/dist/Accesories/GateAccessory.js.map +1 -1
- package/dist/platform.js +5 -5
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@ export type GateTarget = 'open' | 'closed';
|
|
|
2
2
|
export type MotionDirection = 'opening' | 'closing';
|
|
3
3
|
export type MotionCertainty = 'known' | 'goalOnly';
|
|
4
4
|
export type MotionSource = 'homekit' | 'external' | 'recovery';
|
|
5
|
+
export type IdleNotClosedMode = 'openKnown' | 'openishUnknown';
|
|
6
|
+
export type NextPulseDirection = MotionDirection | 'unknown';
|
|
5
7
|
export declare const enum DoorCurrentState {
|
|
6
8
|
OPEN = 0,
|
|
7
9
|
CLOSED = 1,
|
|
@@ -35,6 +37,8 @@ export interface FrontGateSnapshot {
|
|
|
35
37
|
motionDirection: MotionDirection | 'none';
|
|
36
38
|
motionCertainty: MotionCertainty | 'none';
|
|
37
39
|
planKind: Plan['kind'];
|
|
40
|
+
idleNotClosedMode: IdleNotClosedMode;
|
|
41
|
+
nextPulseDirection: NextPulseDirection;
|
|
38
42
|
note: string;
|
|
39
43
|
}
|
|
40
44
|
export interface FrontGateLogger {
|
|
@@ -54,14 +58,13 @@ type Plan = {
|
|
|
54
58
|
direction: MotionDirection;
|
|
55
59
|
certainty: MotionCertainty;
|
|
56
60
|
source: MotionSource;
|
|
57
|
-
attempt: number;
|
|
58
61
|
startedAt: number;
|
|
59
62
|
deadlineAt: number;
|
|
60
63
|
} | {
|
|
61
64
|
kind: 'waitingSecondPulse';
|
|
65
|
+
stoppedFrom: MotionDirection;
|
|
62
66
|
finalDirection: MotionDirection;
|
|
63
67
|
source: MotionSource;
|
|
64
|
-
attempt: number;
|
|
65
68
|
dueAt: number;
|
|
66
69
|
deadlineAt: number;
|
|
67
70
|
reason: 'reverseToOpen' | 'reverseToClose';
|
|
@@ -70,10 +73,11 @@ export declare class FrontGateFsm {
|
|
|
70
73
|
private readonly io;
|
|
71
74
|
private readonly travelMs;
|
|
72
75
|
private readonly pulseGapMs;
|
|
73
|
-
private readonly closeRetryLimit;
|
|
74
76
|
private facts;
|
|
75
77
|
private sensorFreshSinceOnline;
|
|
76
78
|
private requestedTarget;
|
|
79
|
+
private idleNotClosedMode;
|
|
80
|
+
private idleNextPulseDirection;
|
|
77
81
|
private plan;
|
|
78
82
|
private lastPulseLikeActivityAt;
|
|
79
83
|
private movementTimer?;
|
|
@@ -88,6 +92,7 @@ export declare class FrontGateFsm {
|
|
|
88
92
|
handleControlConnectedChange(connected: boolean): void;
|
|
89
93
|
handleSensorConnectedChange(connected: boolean): void;
|
|
90
94
|
handleClosedSensorChange(closed: boolean): void;
|
|
95
|
+
handleObservedExternalPulse(reason?: string): void;
|
|
91
96
|
requestHomeKitTarget(target: GateTarget): Promise<void>;
|
|
92
97
|
getSnapshot(): FrontGateSnapshot;
|
|
93
98
|
private enqueue;
|
|
@@ -98,7 +103,9 @@ export declare class FrontGateFsm {
|
|
|
98
103
|
private handleOpenRequest;
|
|
99
104
|
private handleCloseRequest;
|
|
100
105
|
private startOpeningFromClosed;
|
|
101
|
-
private
|
|
106
|
+
private startOpeningFromStoppedState;
|
|
107
|
+
private startKnownCloseFromIdle;
|
|
108
|
+
private startAmbiguousCloseAttempt;
|
|
102
109
|
private reverseKnownMotion;
|
|
103
110
|
private startOpeningMotion;
|
|
104
111
|
private startClosingMotion;
|
|
@@ -109,6 +116,7 @@ export declare class FrontGateFsm {
|
|
|
109
116
|
private clearTimers;
|
|
110
117
|
private handlePhaseTimer;
|
|
111
118
|
private handleMovementTimeout;
|
|
119
|
+
private applyObservedExternalPulse;
|
|
112
120
|
private enterUnavailable;
|
|
113
121
|
private isAvailableForHomeKit;
|
|
114
122
|
private pulseMotor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontGateFsm.d.ts","sourceRoot":"","sources":["../../src/Accesories/FrontGateFsm.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"FrontGateFsm.d.ts","sourceRoot":"","sources":["../../src/Accesories/FrontGateFsm.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ exports.DEFAULT_FRONT_GATE_TIMINGS = {
|
|
|
6
6
|
reversePauseMs: 3000,
|
|
7
7
|
wrongDirectionRunMs: 0,
|
|
8
8
|
minimumPulseGapMs: 3000,
|
|
9
|
-
closeRetryLimit:
|
|
9
|
+
closeRetryLimit: 0,
|
|
10
10
|
};
|
|
11
11
|
function delay(ms) {
|
|
12
12
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
@@ -17,6 +17,9 @@ function clampInt(value, min, max) {
|
|
|
17
17
|
}
|
|
18
18
|
return Math.min(max, Math.max(min, Math.round(value)));
|
|
19
19
|
}
|
|
20
|
+
function oppositeDirection(direction) {
|
|
21
|
+
return direction === 'opening' ? 'closing' : 'opening';
|
|
22
|
+
}
|
|
20
23
|
class FrontGateFsm {
|
|
21
24
|
constructor(io, timings = exports.DEFAULT_FRONT_GATE_TIMINGS, _persisted = {}) {
|
|
22
25
|
this.io = io;
|
|
@@ -27,6 +30,8 @@ class FrontGateFsm {
|
|
|
27
30
|
};
|
|
28
31
|
this.sensorFreshSinceOnline = false;
|
|
29
32
|
this.requestedTarget = null;
|
|
33
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
34
|
+
this.idleNextPulseDirection = 'unknown';
|
|
30
35
|
this.plan = { kind: 'idle' };
|
|
31
36
|
this.lastPulseLikeActivityAt = 0;
|
|
32
37
|
this.movementTimerToken = 0;
|
|
@@ -35,7 +40,6 @@ class FrontGateFsm {
|
|
|
35
40
|
this.disposed = false;
|
|
36
41
|
this.travelMs = clampInt(timings.fullTravelMs || exports.DEFAULT_FRONT_GATE_TIMINGS.fullTravelMs, 5000, 120000);
|
|
37
42
|
this.pulseGapMs = Math.max(3000, clampInt(timings.minimumPulseGapMs || exports.DEFAULT_FRONT_GATE_TIMINGS.minimumPulseGapMs, 0, 15000), clampInt(timings.reversePauseMs || exports.DEFAULT_FRONT_GATE_TIMINGS.reversePauseMs, 0, 15000));
|
|
38
|
-
this.closeRetryLimit = clampInt(timings.closeRetryLimit || exports.DEFAULT_FRONT_GATE_TIMINGS.closeRetryLimit, 0, 3);
|
|
39
43
|
this.emitSnapshot('fsm-initialized');
|
|
40
44
|
}
|
|
41
45
|
dispose() {
|
|
@@ -60,6 +64,11 @@ class FrontGateFsm {
|
|
|
60
64
|
this.applyClosedSensorChange(closed);
|
|
61
65
|
});
|
|
62
66
|
}
|
|
67
|
+
handleObservedExternalPulse(reason = 'mqtt-execute_action') {
|
|
68
|
+
void this.enqueue(`external-pulse=${reason}`, () => {
|
|
69
|
+
this.applyObservedExternalPulse(reason);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
63
72
|
async requestHomeKitTarget(target) {
|
|
64
73
|
return this.enqueue(`homekit-target=${target}`, async () => {
|
|
65
74
|
await this.applyHomeKitTarget(target);
|
|
@@ -131,6 +140,8 @@ class FrontGateFsm {
|
|
|
131
140
|
this.io.log.info('closed sensor is TRUE -> gate is fully closed');
|
|
132
141
|
this.clearTimers();
|
|
133
142
|
this.plan = { kind: 'idle' };
|
|
143
|
+
this.idleNextPulseDirection = 'opening';
|
|
144
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
134
145
|
if (this.requestedTarget === 'open' && this.isAvailableForHomeKit()) {
|
|
135
146
|
this.emitSnapshot('closed-sensor-true-but-open-still-requested');
|
|
136
147
|
void this.enqueue('auto-open-after-closed', async () => {
|
|
@@ -144,15 +155,16 @@ class FrontGateFsm {
|
|
|
144
155
|
}
|
|
145
156
|
this.io.log.info('closed sensor is FALSE -> gate is not fully closed');
|
|
146
157
|
if (previous === true) {
|
|
147
|
-
//
|
|
148
|
-
//
|
|
158
|
+
// Leaving the closed end-stop is the one fully reliable motion signal we have:
|
|
159
|
+
// the gate is opening.
|
|
149
160
|
this.lastPulseLikeActivityAt = Date.now();
|
|
161
|
+
if (this.requestedTarget !== 'open') {
|
|
162
|
+
this.requestedTarget = null;
|
|
163
|
+
}
|
|
150
164
|
this.startOpeningMotion(this.requestedTarget === 'open' ? 'homekit' : 'external', 'closed-sensor-fell-from-true-to-false');
|
|
151
165
|
return;
|
|
152
166
|
}
|
|
153
|
-
if (this.requestedTarget === 'open'
|
|
154
|
-
&& !(this.plan.kind === 'moving' && this.plan.direction === 'closing')
|
|
155
|
-
&& !(this.plan.kind === 'waitingSecondPulse' && this.plan.finalDirection === 'closing')) {
|
|
167
|
+
if (this.plan.kind === 'idle' && this.requestedTarget === 'open') {
|
|
156
168
|
this.requestedTarget = null;
|
|
157
169
|
}
|
|
158
170
|
this.emitSnapshot('closed-sensor-false');
|
|
@@ -181,27 +193,38 @@ class FrontGateFsm {
|
|
|
181
193
|
await this.startOpeningFromClosed('homekit-open-from-closed');
|
|
182
194
|
return;
|
|
183
195
|
}
|
|
184
|
-
if (this.plan.kind === 'moving'
|
|
185
|
-
|
|
196
|
+
if (this.plan.kind === 'moving') {
|
|
197
|
+
if (this.plan.direction === 'opening') {
|
|
198
|
+
this.emitSnapshot('open-request-already-opening');
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (this.plan.certainty === 'known') {
|
|
202
|
+
await this.reverseKnownMotion('opening', 'homekit-reverse-known-closing-to-open');
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this.io.log.warn('open requested during ambiguous close attempt; not sending more pulses because the actual motion direction is unknown');
|
|
206
|
+
this.clearTimers();
|
|
207
|
+
this.plan = { kind: 'idle' };
|
|
208
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
209
|
+
this.idleNextPulseDirection = 'unknown';
|
|
210
|
+
this.requestedTarget = null;
|
|
211
|
+
this.emitSnapshot('open-request-during-ambiguous-close-attempt');
|
|
186
212
|
return;
|
|
187
213
|
}
|
|
188
|
-
if (this.plan.kind === 'waitingSecondPulse'
|
|
189
|
-
this.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
214
|
+
if (this.plan.kind === 'waitingSecondPulse') {
|
|
215
|
+
if (this.plan.finalDirection === 'opening') {
|
|
216
|
+
this.emitSnapshot('open-request-already-reversing-to-open');
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
// We already stopped an opening run, so the next pulse can only start closing.
|
|
220
|
+
// To honor the latest OPEN request without leaving the gate stopped in the middle,
|
|
221
|
+
// keep the pending close, let the gate reach the closed end-stop, then auto-open.
|
|
222
|
+
this.io.log.info('open requested while waiting to restart towards close; keeping the pending close and will auto-open from closed');
|
|
223
|
+
this.emitSnapshot('open-request-deferred-until-closed');
|
|
193
224
|
return;
|
|
194
225
|
}
|
|
195
|
-
if (this.
|
|
196
|
-
|
|
197
|
-
// previous close-seek pulse accidentally caused opening. In this ambiguous
|
|
198
|
-
// state, the safest action is to cancel further close retries and hold the
|
|
199
|
-
// gate in the generic open-ish state.
|
|
200
|
-
this.io.log.warn('open requested during ambiguous close-seek; cancelling close retries instead of sending more pulses');
|
|
201
|
-
this.clearTimers();
|
|
202
|
-
this.plan = { kind: 'idle' };
|
|
203
|
-
this.requestedTarget = null;
|
|
204
|
-
this.emitSnapshot('cancelled-ambiguous-close-seek');
|
|
226
|
+
if (this.idleNextPulseDirection === 'opening') {
|
|
227
|
+
await this.startOpeningFromStoppedState('homekit-open-from-stopped-after-closing');
|
|
205
228
|
return;
|
|
206
229
|
}
|
|
207
230
|
this.requestedTarget = null;
|
|
@@ -210,11 +233,12 @@ class FrontGateFsm {
|
|
|
210
233
|
async handleCloseRequest() {
|
|
211
234
|
if (this.facts.closedSensor === true) {
|
|
212
235
|
if (this.plan.kind === 'moving' && this.plan.direction === 'opening') {
|
|
213
|
-
//
|
|
214
|
-
//
|
|
236
|
+
// We are still physically on the closed end-stop, so a single pulse cleanly
|
|
237
|
+
// cancels the opening attempt and leaves the gate closed.
|
|
215
238
|
await this.pulseMotor('cancel-opening-while-still-closed');
|
|
216
239
|
this.clearTimers();
|
|
217
240
|
this.plan = { kind: 'idle' };
|
|
241
|
+
this.idleNextPulseDirection = 'opening';
|
|
218
242
|
this.requestedTarget = null;
|
|
219
243
|
this.emitSnapshot('opening-cancelled-before-leaving-closed');
|
|
220
244
|
return;
|
|
@@ -223,26 +247,37 @@ class FrontGateFsm {
|
|
|
223
247
|
this.emitSnapshot('close-request-already-satisfied');
|
|
224
248
|
return;
|
|
225
249
|
}
|
|
226
|
-
if (this.plan.kind === 'moving'
|
|
250
|
+
if (this.plan.kind === 'moving') {
|
|
251
|
+
if (this.plan.direction === 'closing') {
|
|
252
|
+
this.emitSnapshot(this.plan.certainty === 'known' ? 'close-request-already-closing' : 'close-request-already-close-seeking');
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
227
255
|
await this.reverseKnownMotion('closing', 'homekit-reverse-known-opening-to-close');
|
|
228
256
|
return;
|
|
229
257
|
}
|
|
230
|
-
if (this.plan.kind === 'waitingSecondPulse'
|
|
231
|
-
this.
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
258
|
+
if (this.plan.kind === 'waitingSecondPulse') {
|
|
259
|
+
if (this.plan.finalDirection === 'closing') {
|
|
260
|
+
this.emitSnapshot('close-request-already-reversing-to-close');
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
// We already stopped a closing run, so the next pulse can only start opening.
|
|
264
|
+
// To honor the latest CLOSE request without leaving the gate stopped in the middle,
|
|
265
|
+
// keep the pending open, let the gate become fully open-ish by timeout, then auto-close.
|
|
266
|
+
this.io.log.info('close requested while waiting to restart towards open; keeping the pending open and will auto-close after the opening run settles');
|
|
267
|
+
this.emitSnapshot('close-request-deferred-until-open');
|
|
235
268
|
return;
|
|
236
269
|
}
|
|
237
|
-
if (this.
|
|
238
|
-
this.
|
|
270
|
+
if (this.idleNotClosedMode === 'openKnown' || this.idleNextPulseDirection === 'closing') {
|
|
271
|
+
await this.startKnownCloseFromIdle('homekit-close-from-openish-known');
|
|
239
272
|
return;
|
|
240
273
|
}
|
|
241
|
-
if (this.
|
|
242
|
-
this.
|
|
274
|
+
if (this.idleNextPulseDirection === 'opening') {
|
|
275
|
+
this.io.log.warn('close requested while the gate is stopped after a closing run; the next pulse would open, so no corrective pulse is sent');
|
|
276
|
+
this.requestedTarget = null;
|
|
277
|
+
this.emitSnapshot('close-request-not-directly-actionable-from-stopped-closing');
|
|
243
278
|
return;
|
|
244
279
|
}
|
|
245
|
-
await this.
|
|
280
|
+
await this.startAmbiguousCloseAttempt('homekit-close-from-openish-ambiguous');
|
|
246
281
|
}
|
|
247
282
|
async startOpeningFromClosed(reason) {
|
|
248
283
|
if (this.facts.closedSensor !== true) {
|
|
@@ -253,24 +288,45 @@ class FrontGateFsm {
|
|
|
253
288
|
await this.pulseMotor(reason);
|
|
254
289
|
this.startOpeningMotion('homekit', `${reason}-pulse-sent`);
|
|
255
290
|
}
|
|
256
|
-
async
|
|
291
|
+
async startOpeningFromStoppedState(reason) {
|
|
292
|
+
if (this.facts.closedSensor === true) {
|
|
293
|
+
await this.startOpeningFromClosed(`${reason}-closed-fallback`);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
await this.pulseMotor(reason);
|
|
297
|
+
this.startOpeningMotion('homekit', `${reason}-pulse-sent`);
|
|
298
|
+
}
|
|
299
|
+
async startKnownCloseFromIdle(reason) {
|
|
257
300
|
if (this.facts.closedSensor === true) {
|
|
258
301
|
this.requestedTarget = null;
|
|
259
302
|
this.emitSnapshot(`${reason}-already-closed`);
|
|
260
303
|
return;
|
|
261
304
|
}
|
|
262
|
-
await this.pulseMotor(
|
|
263
|
-
this.startClosingMotion('
|
|
305
|
+
await this.pulseMotor(reason);
|
|
306
|
+
this.startClosingMotion('known', 'homekit', `${reason}-pulse-sent`);
|
|
307
|
+
}
|
|
308
|
+
async startAmbiguousCloseAttempt(reason) {
|
|
309
|
+
if (this.facts.closedSensor === true) {
|
|
310
|
+
this.requestedTarget = null;
|
|
311
|
+
this.emitSnapshot(`${reason}-already-closed`);
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
await this.pulseMotor(reason);
|
|
315
|
+
this.startClosingMotion('goalOnly', 'homekit', `${reason}-pulse-sent`);
|
|
264
316
|
}
|
|
265
317
|
async reverseKnownMotion(finalDirection, reason) {
|
|
318
|
+
if (this.plan.kind !== 'moving') {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
const stoppedFrom = this.plan.direction;
|
|
266
322
|
await this.pulseMotor(`${reason}-stop-current-motion`);
|
|
267
323
|
const deadlineAt = Date.now() + this.pulseGapMs + this.travelMs;
|
|
268
324
|
this.clearMovementTimer();
|
|
269
325
|
this.plan = {
|
|
270
326
|
kind: 'waitingSecondPulse',
|
|
327
|
+
stoppedFrom,
|
|
271
328
|
finalDirection,
|
|
272
329
|
source: 'homekit',
|
|
273
|
-
attempt: 0,
|
|
274
330
|
dueAt: Date.now() + this.pulseGapMs,
|
|
275
331
|
deadlineAt,
|
|
276
332
|
reason: finalDirection === 'opening' ? 'reverseToOpen' : 'reverseToClose',
|
|
@@ -285,21 +341,19 @@ class FrontGateFsm {
|
|
|
285
341
|
direction: 'opening',
|
|
286
342
|
certainty: 'known',
|
|
287
343
|
source,
|
|
288
|
-
attempt: 0,
|
|
289
344
|
startedAt: Date.now(),
|
|
290
345
|
deadlineAt: Date.now() + this.travelMs,
|
|
291
346
|
};
|
|
292
347
|
this.scheduleMovementTimer(this.plan.deadlineAt);
|
|
293
348
|
this.emitSnapshot(note);
|
|
294
349
|
}
|
|
295
|
-
startClosingMotion(certainty, source,
|
|
350
|
+
startClosingMotion(certainty, source, note) {
|
|
296
351
|
this.clearPhaseTimer();
|
|
297
352
|
this.plan = {
|
|
298
353
|
kind: 'moving',
|
|
299
354
|
direction: 'closing',
|
|
300
355
|
certainty,
|
|
301
356
|
source,
|
|
302
|
-
attempt,
|
|
303
357
|
startedAt: Date.now(),
|
|
304
358
|
deadlineAt: Date.now() + this.travelMs,
|
|
305
359
|
};
|
|
@@ -355,22 +409,13 @@ class FrontGateFsm {
|
|
|
355
409
|
return;
|
|
356
410
|
}
|
|
357
411
|
const finalDirection = this.plan.finalDirection;
|
|
358
|
-
const source = this.plan.source;
|
|
359
|
-
const attempt = this.plan.attempt;
|
|
360
|
-
const deadlineAt = this.plan.deadlineAt;
|
|
361
412
|
await this.pulseMotor(`second-pulse-${finalDirection}`);
|
|
362
413
|
this.clearPhaseTimer();
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
attempt,
|
|
369
|
-
startedAt: Date.now(),
|
|
370
|
-
deadlineAt,
|
|
371
|
-
};
|
|
372
|
-
this.scheduleMovementTimer(deadlineAt);
|
|
373
|
-
this.emitSnapshot(`second-pulse-fired-${finalDirection}`);
|
|
414
|
+
if (finalDirection === 'opening') {
|
|
415
|
+
this.startOpeningMotion(this.plan.source, `second-pulse-fired-${finalDirection}`);
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
this.startClosingMotion('known', this.plan.source, `second-pulse-fired-${finalDirection}`);
|
|
374
419
|
}
|
|
375
420
|
async handleMovementTimeout() {
|
|
376
421
|
if (this.plan.kind !== 'moving') {
|
|
@@ -379,39 +424,85 @@ class FrontGateFsm {
|
|
|
379
424
|
if (this.facts.closedSensor === true) {
|
|
380
425
|
this.clearTimers();
|
|
381
426
|
this.plan = { kind: 'idle' };
|
|
427
|
+
this.idleNextPulseDirection = 'opening';
|
|
382
428
|
this.requestedTarget = null;
|
|
383
429
|
this.emitSnapshot('movement-timeout-but-already-closed');
|
|
384
430
|
return;
|
|
385
431
|
}
|
|
386
432
|
if (this.plan.direction === 'opening') {
|
|
387
|
-
// Fully-open and partially-open look
|
|
388
|
-
//
|
|
389
|
-
// which the Home app will still display as "Opening" per the requested UX.
|
|
433
|
+
// Fully-open and partially-open look identical to us. Once the opening window
|
|
434
|
+
// expires without any contrary evidence, collapse to the stable open state.
|
|
390
435
|
this.clearTimers();
|
|
391
436
|
this.plan = { kind: 'idle' };
|
|
437
|
+
this.idleNotClosedMode = 'openKnown';
|
|
438
|
+
this.idleNextPulseDirection = 'closing';
|
|
439
|
+
if (this.requestedTarget === 'closed' && this.isAvailableForHomeKit()) {
|
|
440
|
+
this.emitSnapshot('opening-window-elapsed-but-close-still-requested');
|
|
441
|
+
void this.enqueue('auto-close-after-open', async () => {
|
|
442
|
+
await this.startKnownCloseFromIdle('auto-close-after-open');
|
|
443
|
+
});
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
392
446
|
this.requestedTarget = null;
|
|
393
|
-
this.emitSnapshot('opening-window-elapsed-
|
|
447
|
+
this.emitSnapshot('opening-window-elapsed-open');
|
|
394
448
|
return;
|
|
395
449
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
this.clearTimers();
|
|
400
|
-
this.plan = { kind: 'idle' };
|
|
401
|
-
await this.startCloseSeek(nextAttempt, 'close-timeout-retry');
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
this.io.log.warn('close window elapsed without reaching the closed sensor; leaving gate in open-ish state');
|
|
450
|
+
this.io.log.warn(this.plan.certainty === 'known'
|
|
451
|
+
? 'closing window elapsed without reaching the closed sensor; leaving gate in generic open-ish state'
|
|
452
|
+
: 'ambiguous close attempt elapsed without reaching the closed sensor; leaving gate in generic open-ish state');
|
|
405
453
|
this.clearTimers();
|
|
406
454
|
this.plan = { kind: 'idle' };
|
|
455
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
456
|
+
this.idleNextPulseDirection = 'unknown';
|
|
407
457
|
this.requestedTarget = null;
|
|
408
458
|
this.emitSnapshot('closing-window-elapsed-openish');
|
|
409
459
|
}
|
|
460
|
+
applyObservedExternalPulse(reason) {
|
|
461
|
+
this.lastPulseLikeActivityAt = Date.now();
|
|
462
|
+
this.requestedTarget = null;
|
|
463
|
+
if (this.facts.closedSensor === true) {
|
|
464
|
+
this.startOpeningMotion('external', `external-pulse-observed-while-closed-${reason}`);
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
if (this.plan.kind === 'moving') {
|
|
468
|
+
const currentDirection = this.plan.direction;
|
|
469
|
+
const currentCertainty = this.plan.certainty;
|
|
470
|
+
this.clearTimers();
|
|
471
|
+
this.plan = { kind: 'idle' };
|
|
472
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
473
|
+
this.idleNextPulseDirection = currentCertainty === 'known'
|
|
474
|
+
? oppositeDirection(currentDirection)
|
|
475
|
+
: 'unknown';
|
|
476
|
+
this.emitSnapshot(`external-pulse-stopped-${currentDirection}-${reason}`);
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
if (this.plan.kind === 'waitingSecondPulse') {
|
|
480
|
+
const finalDirection = this.plan.finalDirection;
|
|
481
|
+
this.clearTimers();
|
|
482
|
+
if (finalDirection === 'opening') {
|
|
483
|
+
this.startOpeningMotion('external', `external-pulse-fired-pending-opening-${reason}`);
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
this.startClosingMotion('known', 'external', `external-pulse-fired-pending-closing-${reason}`);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
if (this.idleNextPulseDirection === 'opening') {
|
|
490
|
+
this.startOpeningMotion('external', `external-pulse-started-opening-${reason}`);
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
if (this.idleNextPulseDirection === 'closing') {
|
|
494
|
+
this.startClosingMotion('known', 'external', `external-pulse-started-closing-${reason}`);
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
this.emitSnapshot(`external-pulse-observed-direction-unknown-${reason}`);
|
|
498
|
+
}
|
|
410
499
|
enterUnavailable(note) {
|
|
411
500
|
this.clearTimers();
|
|
412
501
|
this.plan = { kind: 'idle' };
|
|
413
502
|
this.requestedTarget = null;
|
|
414
503
|
this.sensorFreshSinceOnline = false;
|
|
504
|
+
this.idleNotClosedMode = 'openishUnknown';
|
|
505
|
+
this.idleNextPulseDirection = 'unknown';
|
|
415
506
|
this.emitSnapshot(note);
|
|
416
507
|
}
|
|
417
508
|
isAvailableForHomeKit() {
|
|
@@ -449,6 +540,8 @@ class FrontGateFsm {
|
|
|
449
540
|
motionDirection: this.getMotionDirection(),
|
|
450
541
|
motionCertainty: this.getMotionCertainty(),
|
|
451
542
|
planKind: this.plan.kind,
|
|
543
|
+
idleNotClosedMode: this.idleNotClosedMode,
|
|
544
|
+
nextPulseDirection: this.idleNextPulseDirection,
|
|
452
545
|
note,
|
|
453
546
|
};
|
|
454
547
|
}
|
|
@@ -477,7 +570,7 @@ class FrontGateFsm {
|
|
|
477
570
|
if (this.plan.kind === 'waitingSecondPulse') {
|
|
478
571
|
return this.plan.finalDirection === 'closing' ? 3 /* DoorCurrentState.CLOSING */ : 2 /* DoorCurrentState.OPENING */;
|
|
479
572
|
}
|
|
480
|
-
return this.facts.closedSensor ? 1 /* DoorCurrentState.CLOSED */ :
|
|
573
|
+
return this.facts.closedSensor ? 1 /* DoorCurrentState.CLOSED */ : 0 /* DoorCurrentState.OPEN */;
|
|
481
574
|
}
|
|
482
575
|
computeTargetDoorState() {
|
|
483
576
|
if (this.requestedTarget) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontGateFsm.js","sourceRoot":"","sources":["../../src/Accesories/FrontGateFsm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FrontGateFsm.js","sourceRoot":"","sources":["../../src/Accesories/FrontGateFsm.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,9 @@ export declare class GateAccessory {
|
|
|
9
9
|
private readonly controlBaseTopic;
|
|
10
10
|
private readonly sensorBaseTopic;
|
|
11
11
|
private readonly fsm;
|
|
12
|
+
private pendingSelfCommandEchoCount;
|
|
13
|
+
private pendingSelfCommandEchoPayload?;
|
|
14
|
+
private pendingSelfCommandEchoExpiresAt;
|
|
12
15
|
constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
|
|
13
16
|
handleCurrentDoorStateGet(): Promise<CharacteristicValue>;
|
|
14
17
|
handleTargetDoorStateGet(): Promise<CharacteristicValue>;
|
|
@@ -17,6 +20,10 @@ export declare class GateAccessory {
|
|
|
17
20
|
private applySnapshot;
|
|
18
21
|
private createCommunicationError;
|
|
19
22
|
private publishPulse;
|
|
23
|
+
private noteExpectedSelfCommandEcho;
|
|
24
|
+
private retractExpectedSelfCommandEcho;
|
|
25
|
+
private shouldIgnoreObservedExecuteAction;
|
|
26
|
+
private prunePendingSelfCommandEcho;
|
|
20
27
|
private resolveSensorBaseTopic;
|
|
21
28
|
private resolveSensorOverrideFromConfig;
|
|
22
29
|
private findSensorCandidates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GateAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqBrE,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"GateAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqBrE,qBAAa,aAAa;IAUtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,6BAA6B,CAAC,CAAS;IAC/C,OAAO,CAAC,+BAA+B,CAAK;gBAGzB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAwFzC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQxD,wBAAwB,CAAC,KAAK,EAAE,mBAAmB;IAWnD,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,wBAAwB;YAIlB,YAAY;IAqB1B,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,iCAAiC;IAezC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,+BAA+B;IAiCvC,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,oBAAoB;IAwD5B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,oBAAoB;CA+C7B"}
|
|
@@ -7,6 +7,8 @@ class GateAccessory {
|
|
|
7
7
|
this.platform = platform;
|
|
8
8
|
this.accessory = accessory;
|
|
9
9
|
this.context = context;
|
|
10
|
+
this.pendingSelfCommandEchoCount = 0;
|
|
11
|
+
this.pendingSelfCommandEchoExpiresAt = 0;
|
|
10
12
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
11
13
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
|
|
12
14
|
.setCharacteristic(this.platform.Characteristic.Model, 'GateController');
|
|
@@ -50,6 +52,13 @@ class GateAccessory {
|
|
|
50
52
|
this.platform.registerMqttHandler(`${this.sensorBaseTopic}/state/hi`, (message) => {
|
|
51
53
|
this.fsm.handleClosedSensorChange(this.platform.parseBoolean(message.toString()));
|
|
52
54
|
}, this.accessory.UUID);
|
|
55
|
+
this.platform.registerMqttHandler(`${this.controlBaseTopic}/execute_action`, (message) => {
|
|
56
|
+
const payload = message.toString();
|
|
57
|
+
if (this.shouldIgnoreObservedExecuteAction(payload)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.fsm.handleObservedExternalPulse(`mqtt-execute_action:${payload}`);
|
|
61
|
+
}, this.accessory.UUID);
|
|
53
62
|
this.applySnapshot(this.fsm.getSnapshot());
|
|
54
63
|
}
|
|
55
64
|
async handleCurrentDoorStateGet() {
|
|
@@ -109,9 +118,11 @@ class GateAccessory {
|
|
|
109
118
|
throw new Error('front gate pulse action is not configured');
|
|
110
119
|
}
|
|
111
120
|
this.platform.log.debug(`Publishing ${this.controlBaseTopic}/execute_action = ${action} (${reason})`);
|
|
121
|
+
this.noteExpectedSelfCommandEcho(action);
|
|
112
122
|
return new Promise((resolve, reject) => {
|
|
113
123
|
this.platform.publishCommand(`${this.controlBaseTopic}/execute_action`, action, (error) => {
|
|
114
124
|
if (error) {
|
|
125
|
+
this.retractExpectedSelfCommandEcho(action);
|
|
115
126
|
reject(error);
|
|
116
127
|
return;
|
|
117
128
|
}
|
|
@@ -119,6 +130,48 @@ class GateAccessory {
|
|
|
119
130
|
});
|
|
120
131
|
});
|
|
121
132
|
}
|
|
133
|
+
noteExpectedSelfCommandEcho(payload) {
|
|
134
|
+
this.prunePendingSelfCommandEcho();
|
|
135
|
+
this.pendingSelfCommandEchoPayload = payload;
|
|
136
|
+
this.pendingSelfCommandEchoCount += 1;
|
|
137
|
+
this.pendingSelfCommandEchoExpiresAt = Date.now() + 2000;
|
|
138
|
+
}
|
|
139
|
+
retractExpectedSelfCommandEcho(payload) {
|
|
140
|
+
this.prunePendingSelfCommandEcho();
|
|
141
|
+
if (this.pendingSelfCommandEchoPayload !== payload || this.pendingSelfCommandEchoCount <= 0) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
this.pendingSelfCommandEchoCount -= 1;
|
|
145
|
+
if (this.pendingSelfCommandEchoCount <= 0) {
|
|
146
|
+
this.pendingSelfCommandEchoCount = 0;
|
|
147
|
+
this.pendingSelfCommandEchoPayload = undefined;
|
|
148
|
+
this.pendingSelfCommandEchoExpiresAt = 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
shouldIgnoreObservedExecuteAction(payload) {
|
|
152
|
+
this.prunePendingSelfCommandEcho();
|
|
153
|
+
if (this.pendingSelfCommandEchoPayload !== payload || this.pendingSelfCommandEchoCount <= 0) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
this.pendingSelfCommandEchoCount -= 1;
|
|
157
|
+
if (this.pendingSelfCommandEchoCount <= 0) {
|
|
158
|
+
this.pendingSelfCommandEchoCount = 0;
|
|
159
|
+
this.pendingSelfCommandEchoPayload = undefined;
|
|
160
|
+
this.pendingSelfCommandEchoExpiresAt = 0;
|
|
161
|
+
}
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
prunePendingSelfCommandEcho() {
|
|
165
|
+
if (this.pendingSelfCommandEchoCount === 0) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (Date.now() <= this.pendingSelfCommandEchoExpiresAt) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
this.pendingSelfCommandEchoCount = 0;
|
|
172
|
+
this.pendingSelfCommandEchoPayload = undefined;
|
|
173
|
+
this.pendingSelfCommandEchoExpiresAt = 0;
|
|
174
|
+
}
|
|
122
175
|
resolveSensorBaseTopic() {
|
|
123
176
|
const explicit = this.resolveSensorOverrideFromConfig();
|
|
124
177
|
if (explicit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GateAccessory.js","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GateAccessory.js","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -612,7 +612,7 @@ class SuplaPlatform {
|
|
|
612
612
|
return fallbackMs;
|
|
613
613
|
}
|
|
614
614
|
const rounded = Math.round(parsed);
|
|
615
|
-
return Math.min(
|
|
615
|
+
return Math.min(15000, Math.max(3000, rounded));
|
|
616
616
|
}
|
|
617
617
|
normalizeGatePublishRetryDelayMs(value) {
|
|
618
618
|
const fallbackMs = 300;
|
|
@@ -633,13 +633,13 @@ class SuplaPlatform {
|
|
|
633
633
|
return Math.min(120000, Math.max(5000, rounded));
|
|
634
634
|
}
|
|
635
635
|
normalizeFrontGateReversePauseMs(value) {
|
|
636
|
-
const fallbackMs =
|
|
636
|
+
const fallbackMs = 3000;
|
|
637
637
|
const parsed = Number(value);
|
|
638
638
|
if (!Number.isFinite(parsed)) {
|
|
639
639
|
return fallbackMs;
|
|
640
640
|
}
|
|
641
641
|
const rounded = Math.round(parsed);
|
|
642
|
-
return Math.min(
|
|
642
|
+
return Math.min(15000, Math.max(3000, rounded));
|
|
643
643
|
}
|
|
644
644
|
normalizeFrontGateWrongDirectionRunMs(value) {
|
|
645
645
|
const fallbackMs = 700;
|
|
@@ -651,7 +651,7 @@ class SuplaPlatform {
|
|
|
651
651
|
return Math.min(5000, Math.max(100, rounded));
|
|
652
652
|
}
|
|
653
653
|
normalizeFrontGateMinimumPulseGapMs(value) {
|
|
654
|
-
const fallbackMs =
|
|
654
|
+
const fallbackMs = 3000;
|
|
655
655
|
const parsed = Number(value);
|
|
656
656
|
if (!Number.isFinite(parsed)) {
|
|
657
657
|
return fallbackMs;
|
|
@@ -660,7 +660,7 @@ class SuplaPlatform {
|
|
|
660
660
|
return Math.min(10000, Math.max(0, rounded));
|
|
661
661
|
}
|
|
662
662
|
normalizeFrontGateCloseRetryLimit(value) {
|
|
663
|
-
const fallbackValue =
|
|
663
|
+
const fallbackValue = 0;
|
|
664
664
|
const parsed = Number(value);
|
|
665
665
|
if (!Number.isFinite(parsed)) {
|
|
666
666
|
return fallbackValue;
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED