@marcel2215/homebridge-supla-plugin 2.1.23 → 2.1.24

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.
@@ -70,17 +70,17 @@
70
70
  "gateExecuteActionOpen": {
71
71
  "title": "Gate Execute Action Open",
72
72
  "type": "string",
73
- "default": "open"
73
+ "default": "open_close"
74
74
  },
75
75
  "gateExecuteActionClose": {
76
76
  "title": "Gate Execute Action Close",
77
77
  "type": "string",
78
- "default": "close"
78
+ "default": "open_close"
79
79
  },
80
80
  "gateExecuteActionToggle": {
81
81
  "title": "Gate Execute Action Toggle",
82
82
  "type": "string",
83
- "default": "toggle"
83
+ "default": "open_close"
84
84
  },
85
85
  "gatePartialHiMode": {
86
86
  "title": "Gate Partial Hi Mode",
@@ -98,6 +98,31 @@
98
98
  "type": "number",
99
99
  "default": 3000
100
100
  },
101
+ "gateOpenAssumeDelayMs": {
102
+ "title": "Gate Open Assume Delay (ms)",
103
+ "type": "number",
104
+ "default": 22000
105
+ },
106
+ "gateCommandCooldownMs": {
107
+ "title": "Gate Command Cooldown (ms)",
108
+ "type": "number",
109
+ "default": 700
110
+ },
111
+ "gatePublishRetryDelayMs": {
112
+ "title": "Gate Publish Retry Delay (ms)",
113
+ "type": "number",
114
+ "default": 300
115
+ },
116
+ "gateStrictReverseDoublePulse": {
117
+ "title": "Gate Strict Reverse Double Pulse",
118
+ "type": "boolean",
119
+ "default": true
120
+ },
121
+ "gateDebugTimeline": {
122
+ "title": "Gate Debug Timeline",
123
+ "type": "boolean",
124
+ "default": false
125
+ },
101
126
  "gateLockControlMode": {
102
127
  "title": "Gate Lock Control Mode",
103
128
  "type": "string",
@@ -29,6 +29,11 @@ export declare class GateAccessory {
29
29
  private sawPartialMotionDuringPending;
30
30
  private lastClosedReleaseAt;
31
31
  private readonly externalDirectionHintWindowMs;
32
+ private readonly commandCooldownMs;
33
+ private readonly publishRetryDelayMs;
34
+ private readonly strictReverseDoublePulse;
35
+ private readonly debugTimeline;
36
+ private publishRetryTimer?;
32
37
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
33
38
  handleCurrentDoorStateGet(): Promise<CharacteristicValue>;
34
39
  handleTargetDoorStateGet(): Promise<CharacteristicValue>;
@@ -46,11 +51,13 @@ export declare class GateAccessory {
46
51
  private clearTransitionTimer;
47
52
  private clearReverseToggleTimer;
48
53
  private clearOpenArrivalDebounceTimer;
54
+ private clearPublishRetryTimer;
49
55
  private touchTransitionTimer;
50
56
  private resolveMovingState;
51
57
  private getMotionTarget;
52
58
  private isOpenArrivalSignal;
53
59
  private shouldDebounceOpenArrival;
60
+ private shouldAssumeExternalOpeningFromClosed;
54
61
  private scheduleOpenArrivalDebounce;
55
62
  private resolveTerminalStateFromSensors;
56
63
  private oppositeTarget;
@@ -58,11 +65,19 @@ export declare class GateAccessory {
58
65
  private setPendingTarget;
59
66
  private isLikelyDuplicateSet;
60
67
  private publishGateAction;
68
+ private schedulePublishRetry;
61
69
  private scheduleReverseToggle;
62
70
  private shouldScheduleReverseFollowUp;
63
71
  private isOpenCloseExecuteActionPair;
72
+ private isSingleExecuteActionPair;
73
+ private normalizeAction;
64
74
  private shouldPublishExecuteActionReverseFollowUp;
65
75
  private resolveExternalMotionTarget;
66
76
  private wasClosedReleasedRecently;
77
+ private isCommandInCooldown;
78
+ private describeTargetState;
79
+ private describeCurrentState;
80
+ private describeSensorValue;
81
+ private logGateTimeline;
67
82
  }
68
83
  //# sourceMappingURL=GateAccessory.d.ts.map
@@ -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;AAQrE,qBAAa,aAAa;IA2BtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA5B1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,wBAAwB,CAAC,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAO;IAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IAC5C,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAQ;gBAGnC,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA6FzC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB,CAAC,KAAK,EAAE,mBAAmB;IAyDnD,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,uBAAuB;IAqE/B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,+BAA+B;IAiBvC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,yCAAyC;IAUjD,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,yBAAyB;CAMlC"}
1
+ {"version":3,"file":"GateAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ class GateAccessory {
15
15
  this.hasClosedSensorState = false;
16
16
  this.hasPartialSensorState = false;
17
17
  this.transitionTimeoutMs = 60000;
18
- this.openArrivalDebounceMs = 450;
19
18
  this.lastCommandAt = 0;
20
19
  this.duplicateSetWindowMs = 350;
21
20
  this.sawPartialMotionDuringPending = false;
@@ -43,10 +42,16 @@ class GateAccessory {
43
42
  this.clearTransitionTimer();
44
43
  this.clearReverseToggleTimer();
45
44
  this.clearOpenArrivalDebounceTimer();
45
+ this.clearPublishRetryTimer();
46
46
  });
47
47
  this.partialHiMode = this.platform.getGatePartialHiMode();
48
48
  this.baseTopic = this.platform.normalizeTopicBase(this.context.topic);
49
49
  this.reverseToggleDelayMs = this.platform.getGateReverseFollowUpDelayMs();
50
+ this.openArrivalDebounceMs = this.platform.getGateOpenAssumeDelayMs();
51
+ this.commandCooldownMs = this.platform.getGateCommandCooldownMs();
52
+ this.publishRetryDelayMs = this.platform.getGatePublishRetryDelayMs();
53
+ this.strictReverseDoublePulse = this.platform.getGateStrictReverseDoublePulse();
54
+ this.debugTimeline = this.platform.getGateDebugTimeline();
50
55
  this.platform.registerMqttHandler(`${this.baseTopic}/state/hi`, (message) => {
51
56
  const previous = this.hasClosedSensorState ? this.isClosedSensorActive : undefined;
52
57
  const next = this.platform.parseBoolean(message.toString());
@@ -87,6 +92,7 @@ class GateAccessory {
87
92
  this.clearTransitionTimer();
88
93
  this.clearReverseToggleTimer();
89
94
  this.clearOpenArrivalDebounceTimer();
95
+ this.clearPublishRetryTimer();
90
96
  }
91
97
  }, this.accessory.UUID);
92
98
  this.updateStatusFault();
@@ -103,8 +109,16 @@ class GateAccessory {
103
109
  const motionTarget = this.getMotionTarget();
104
110
  const isMoving = motionTarget !== undefined;
105
111
  let target = requestedTarget;
112
+ this.logGateTimeline('set-request', {
113
+ requested: this.describeTargetState(requestedTarget),
114
+ motion: this.describeTargetState(motionTarget),
115
+ mode,
116
+ });
106
117
  if (isMoving && motionTarget !== undefined && requestedTarget === motionTarget) {
107
118
  if (this.isLikelyDuplicateSet(requestedTarget)) {
119
+ this.logGateTimeline('set-ignored-duplicate', {
120
+ requested: this.describeTargetState(requestedTarget),
121
+ });
108
122
  return;
109
123
  }
110
124
  target = this.oppositeTarget(requestedTarget);
@@ -112,16 +126,34 @@ class GateAccessory {
112
126
  const previousTarget = this.targetState;
113
127
  this.setTargetState(target);
114
128
  this.clearReverseToggleTimer();
129
+ this.clearPublishRetryTimer();
115
130
  if (!this.connected) {
116
131
  this.platform.log.warn(`Gate ${this.accessory.displayName} is offline; ignoring command.`);
117
132
  this.setTargetState(previousTarget);
118
133
  this.updateStatusFault();
134
+ this.logGateTimeline('set-ignored-offline', {
135
+ requested: this.describeTargetState(requestedTarget),
136
+ });
119
137
  return;
120
138
  }
121
139
  if (!isMoving && this.isAtTarget(target)) {
140
+ this.logGateTimeline('set-ignored-at-target', {
141
+ target: this.describeTargetState(target),
142
+ });
122
143
  return;
123
144
  }
124
145
  if (this.pendingTarget === target) {
146
+ this.logGateTimeline('set-ignored-pending', {
147
+ target: this.describeTargetState(target),
148
+ });
149
+ return;
150
+ }
151
+ if (this.isCommandInCooldown(target, motionTarget)) {
152
+ this.setTargetState(previousTarget);
153
+ this.logGateTimeline('set-ignored-cooldown', {
154
+ target: this.describeTargetState(target),
155
+ cooldownMs: this.commandCooldownMs,
156
+ });
125
157
  return;
126
158
  }
127
159
  let action = '';
@@ -139,7 +171,7 @@ class GateAccessory {
139
171
  return;
140
172
  }
141
173
  const isReversing = motionTarget !== undefined && motionTarget !== target;
142
- this.publishGateAction(action, isReversing ? 'reverse' : undefined);
174
+ this.publishGateAction(action, isReversing ? 'reverse' : undefined, target);
143
175
  if (isReversing && this.shouldScheduleReverseFollowUp(mode)) {
144
176
  this.scheduleReverseToggle(action, target, mode);
145
177
  }
@@ -148,6 +180,11 @@ class GateAccessory {
148
180
  this.markCommand(target);
149
181
  this.armTransitionTimer();
150
182
  this.setCurrentState(this.resolveMovingState(target));
183
+ this.logGateTimeline('set-applied', {
184
+ action,
185
+ target: this.describeTargetState(target),
186
+ reversing: isReversing,
187
+ });
151
188
  }
152
189
  async handleObstructionDetectedGet() {
153
190
  return this.obstructionDetected;
@@ -155,6 +192,12 @@ class GateAccessory {
155
192
  updateStatesFromSensors(context) {
156
193
  const changed = ((context.closedPrevious !== undefined && context.closedPrevious !== this.isClosedSensorActive)
157
194
  || (context.partialPrevious !== undefined && context.partialPrevious !== this.isPartialSensorActive));
195
+ if (changed) {
196
+ this.logGateTimeline('sensor-change', {
197
+ closed: this.describeSensorValue(this.hasClosedSensorState, this.isClosedSensorActive),
198
+ partial: this.describeSensorValue(this.hasPartialSensorState, this.isPartialSensorActive),
199
+ });
200
+ }
158
201
  this.clearFaults();
159
202
  if (changed) {
160
203
  this.touchTransitionTimer();
@@ -191,6 +234,14 @@ class GateAccessory {
191
234
  this.setCurrentState(this.resolveMovingState(this.pendingTarget));
192
235
  return;
193
236
  }
237
+ if (this.shouldAssumeExternalOpeningFromClosed(context)) {
238
+ this.setPendingTarget(this.platform.Characteristic.TargetDoorState.OPEN);
239
+ this.setTargetState(this.platform.Characteristic.TargetDoorState.OPEN);
240
+ this.setCurrentState(this.platform.Characteristic.CurrentDoorState.OPENING);
241
+ this.armTransitionTimer();
242
+ this.scheduleOpenArrivalDebounce();
243
+ return;
244
+ }
194
245
  const inferredExternalMotionTarget = this.resolveExternalMotionTarget(context);
195
246
  if (inferredExternalMotionTarget !== undefined) {
196
247
  this.clearTransitionTimer();
@@ -279,6 +330,9 @@ class GateAccessory {
279
330
  this.applyDoorState(assumedCurrent, target);
280
331
  this.platform.log.warn(`Gate ${this.accessory.displayName} did not confirm target within ${this.transitionTimeoutMs}ms; assuming ` +
281
332
  `${target === this.platform.Characteristic.TargetDoorState.OPEN ? 'open' : 'closed'}.`);
333
+ this.logGateTimeline('transition-timeout-assumed', {
334
+ assumedTarget: this.describeTargetState(target),
335
+ });
282
336
  }, this.transitionTimeoutMs);
283
337
  }
284
338
  clearTransitionTimer() {
@@ -299,6 +353,12 @@ class GateAccessory {
299
353
  this.openArrivalDebounceTimer = undefined;
300
354
  }
301
355
  }
356
+ clearPublishRetryTimer() {
357
+ if (this.publishRetryTimer) {
358
+ clearTimeout(this.publishRetryTimer);
359
+ this.publishRetryTimer = undefined;
360
+ }
361
+ }
302
362
  touchTransitionTimer() {
303
363
  if (this.pendingTarget === undefined) {
304
364
  return;
@@ -347,9 +407,18 @@ class GateAccessory {
347
407
  return false;
348
408
  }
349
409
  shouldDebounceOpenArrival() {
350
- return this.partialHiMode === 'moving'
351
- && !this.hasPartialSensorState
352
- && !this.isClosedSensorActive;
410
+ if (this.isClosedSensorActive) {
411
+ return false;
412
+ }
413
+ if (this.partialHiMode === 'ignore') {
414
+ return true;
415
+ }
416
+ return this.partialHiMode === 'moving' && !this.hasPartialSensorState;
417
+ }
418
+ shouldAssumeExternalOpeningFromClosed(context) {
419
+ return context.closedPrevious === true
420
+ && !this.isClosedSensorActive
421
+ && this.shouldDebounceOpenArrival();
353
422
  }
354
423
  scheduleOpenArrivalDebounce() {
355
424
  if (this.openArrivalDebounceTimer) {
@@ -370,6 +439,9 @@ class GateAccessory {
370
439
  this.clearTransitionTimer();
371
440
  this.clearReverseToggleTimer();
372
441
  this.applyDoorState(this.platform.Characteristic.CurrentDoorState.OPEN, this.platform.Characteristic.TargetDoorState.OPEN);
442
+ this.logGateTimeline('open-assumed-arrival', {
443
+ debounceMs: this.openArrivalDebounceMs,
444
+ });
373
445
  }, this.openArrivalDebounceMs);
374
446
  }
375
447
  resolveTerminalStateFromSensors() {
@@ -413,10 +485,46 @@ class GateAccessory {
413
485
  }
414
486
  return Date.now() - this.lastCommandAt <= this.duplicateSetWindowMs;
415
487
  }
416
- publishGateAction(action, note) {
488
+ publishGateAction(action, note, expectedTarget, isRetry = false) {
417
489
  const suffix = note ? ` (${note})` : '';
418
490
  this.platform.log.debug(`Publishing ${this.baseTopic}/execute_action = ${action}${suffix}`);
419
- this.platform.publishCommand(`${this.baseTopic}/execute_action`, action);
491
+ this.logGateTimeline(isRetry ? 'publish-retry' : 'publish', {
492
+ action,
493
+ note: note !== null && note !== void 0 ? note : 'none',
494
+ expected: this.describeTargetState(expectedTarget),
495
+ });
496
+ this.platform.publishCommand(`${this.baseTopic}/execute_action`, action, (error) => {
497
+ if (!error) {
498
+ return;
499
+ }
500
+ this.platform.log.warn(`Gate ${this.accessory.displayName} publish failed (${action}): ${error.message}`);
501
+ this.logGateTimeline('publish-failed', {
502
+ action,
503
+ retry: !isRetry && this.publishRetryDelayMs > 0,
504
+ });
505
+ if (isRetry || this.publishRetryDelayMs <= 0) {
506
+ return;
507
+ }
508
+ this.schedulePublishRetry(action, note, expectedTarget);
509
+ });
510
+ }
511
+ schedulePublishRetry(action, note, expectedTarget) {
512
+ this.clearPublishRetryTimer();
513
+ this.publishRetryTimer = setTimeout(() => {
514
+ this.publishRetryTimer = undefined;
515
+ if (!this.connected) {
516
+ return;
517
+ }
518
+ if (expectedTarget !== undefined && this.pendingTarget !== expectedTarget) {
519
+ return;
520
+ }
521
+ this.publishGateAction(action, note, expectedTarget, true);
522
+ }, this.publishRetryDelayMs);
523
+ this.logGateTimeline('publish-retry-scheduled', {
524
+ action,
525
+ retryDelayMs: this.publishRetryDelayMs,
526
+ expected: this.describeTargetState(expectedTarget),
527
+ });
420
528
  }
421
529
  scheduleReverseToggle(action, expectedTarget, mode) {
422
530
  this.clearReverseToggleTimer();
@@ -428,22 +536,44 @@ class GateAccessory {
428
536
  if (this.pendingTarget !== expectedTarget) {
429
537
  return;
430
538
  }
431
- if (mode === 'execute_action' && !this.shouldPublishExecuteActionReverseFollowUp()) {
539
+ if (!this.strictReverseDoublePulse
540
+ && mode === 'execute_action'
541
+ && this.isOpenCloseExecuteActionPair()
542
+ && !this.shouldPublishExecuteActionReverseFollowUp()) {
543
+ this.logGateTimeline('reverse-2-skipped', {
544
+ reason: 'motion-confirmed',
545
+ strict: this.strictReverseDoublePulse,
546
+ });
432
547
  return;
433
548
  }
434
- this.publishGateAction(action, 'reverse-2');
549
+ this.publishGateAction(action, 'reverse-2', expectedTarget);
435
550
  }, this.reverseToggleDelayMs);
551
+ this.logGateTimeline('reverse-2-scheduled', {
552
+ action,
553
+ mode,
554
+ delayMs: this.reverseToggleDelayMs,
555
+ expected: this.describeTargetState(expectedTarget),
556
+ });
436
557
  }
437
558
  shouldScheduleReverseFollowUp(mode) {
438
559
  if (mode === 'toggle') {
439
560
  return true;
440
561
  }
441
- return this.isOpenCloseExecuteActionPair();
562
+ return this.isOpenCloseExecuteActionPair() || this.isSingleExecuteActionPair();
442
563
  }
443
564
  isOpenCloseExecuteActionPair() {
444
- const normalize = (value) => value.trim().toLowerCase();
445
- return normalize(this.platform.getGateExecuteActionOpen()) === 'open'
446
- && normalize(this.platform.getGateExecuteActionClose()) === 'close';
565
+ return this.normalizeAction(this.platform.getGateExecuteActionOpen()) === 'open'
566
+ && this.normalizeAction(this.platform.getGateExecuteActionClose()) === 'close';
567
+ }
568
+ isSingleExecuteActionPair() {
569
+ const openAction = this.normalizeAction(this.platform.getGateExecuteActionOpen());
570
+ if (!openAction) {
571
+ return false;
572
+ }
573
+ return openAction === this.normalizeAction(this.platform.getGateExecuteActionClose());
574
+ }
575
+ normalizeAction(value) {
576
+ return value.trim().toLowerCase();
447
577
  }
448
578
  shouldPublishExecuteActionReverseFollowUp() {
449
579
  if (this.partialHiMode !== 'moving') {
@@ -493,6 +623,74 @@ class GateAccessory {
493
623
  }
494
624
  return Date.now() - this.lastClosedReleaseAt <= this.externalDirectionHintWindowMs;
495
625
  }
626
+ isCommandInCooldown(target, motionTarget) {
627
+ if (this.commandCooldownMs <= 0 || this.lastCommandAt === 0) {
628
+ return false;
629
+ }
630
+ if (Date.now() - this.lastCommandAt > this.commandCooldownMs) {
631
+ return false;
632
+ }
633
+ const isReverse = motionTarget !== undefined && motionTarget !== target;
634
+ return !isReverse;
635
+ }
636
+ describeTargetState(value) {
637
+ if (value === undefined) {
638
+ return 'none';
639
+ }
640
+ if (value === this.platform.Characteristic.TargetDoorState.OPEN) {
641
+ return 'open';
642
+ }
643
+ if (value === this.platform.Characteristic.TargetDoorState.CLOSED) {
644
+ return 'closed';
645
+ }
646
+ return `unknown(${value})`;
647
+ }
648
+ describeCurrentState(value) {
649
+ if (value === this.platform.Characteristic.CurrentDoorState.OPEN) {
650
+ return 'open';
651
+ }
652
+ if (value === this.platform.Characteristic.CurrentDoorState.CLOSED) {
653
+ return 'closed';
654
+ }
655
+ if (value === this.platform.Characteristic.CurrentDoorState.OPENING) {
656
+ return 'opening';
657
+ }
658
+ if (value === this.platform.Characteristic.CurrentDoorState.CLOSING) {
659
+ return 'closing';
660
+ }
661
+ if (value === this.platform.Characteristic.CurrentDoorState.STOPPED) {
662
+ return 'stopped';
663
+ }
664
+ return `unknown(${value})`;
665
+ }
666
+ describeSensorValue(hasValue, value) {
667
+ if (!hasValue) {
668
+ return 'unknown';
669
+ }
670
+ return value ? 'true' : 'false';
671
+ }
672
+ logGateTimeline(event, context) {
673
+ if (!this.debugTimeline) {
674
+ return;
675
+ }
676
+ const snapshot = {
677
+ event,
678
+ current: this.describeCurrentState(this.currentState),
679
+ target: this.describeTargetState(this.targetState),
680
+ pending: this.describeTargetState(this.pendingTarget),
681
+ connected: this.connected,
682
+ closed: this.describeSensorValue(this.hasClosedSensorState, this.isClosedSensorActive),
683
+ partial: this.describeSensorValue(this.hasPartialSensorState, this.isPartialSensorActive),
684
+ };
685
+ const merged = {
686
+ ...snapshot,
687
+ ...context,
688
+ };
689
+ const details = Object.entries(merged)
690
+ .map(([key, value]) => `${key}=${String(value)}`)
691
+ .join(' ');
692
+ this.platform.log.info(`[GateDebug ${this.accessory.displayName}] ${details}`);
693
+ }
496
694
  }
497
695
  exports.GateAccessory = GateAccessory;
498
696
  //# sourceMappingURL=GateAccessory.js.map
@@ -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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"}
@@ -34,6 +34,11 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
34
34
  private readonly gateLockSetOffPayload;
35
35
  private readonly gatePartialHiMode;
36
36
  private readonly gateReverseFollowUpDelayMs;
37
+ private readonly gateOpenAssumeDelayMs;
38
+ private readonly gateCommandCooldownMs;
39
+ private readonly gatePublishRetryDelayMs;
40
+ private readonly gateStrictReverseDoublePulse;
41
+ private readonly gateDebugTimeline;
37
42
  private readonly commandQos;
38
43
  private readonly commandRetain;
39
44
  private readonly mqttHandlers;
@@ -85,11 +90,19 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
85
90
  getGateLockSetOffPayload(): string;
86
91
  getGatePartialHiMode(): 'moving' | 'open_endstop' | 'pedestrian_endstop' | 'ignore';
87
92
  getGateReverseFollowUpDelayMs(): number;
93
+ getGateOpenAssumeDelayMs(): number;
94
+ getGateCommandCooldownMs(): number;
95
+ getGatePublishRetryDelayMs(): number;
96
+ getGateStrictReverseDoublePulse(): boolean;
97
+ getGateDebugTimeline(): boolean;
88
98
  private normalizeCoveringControlMode;
89
99
  private normalizeGateControlMode;
90
100
  private normalizeGateLockControlMode;
91
101
  private normalizeGatePartialHiMode;
92
102
  private normalizeGateReverseFollowUpDelayMs;
103
+ private normalizeGateOpenAssumeDelayMs;
104
+ private normalizeGateCommandCooldownMs;
105
+ private normalizeGatePublishRetryDelayMs;
93
106
  private normalizeTopicSuffix;
94
107
  normalizeTopicBase(topic: string): string;
95
108
  registerMqttHandler(topic: string, handler: (message: Buffer, topic: string) => void, ownerId: string): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -55,7 +55,7 @@ const ActionTriggerAccessory_1 = require("./Accesories/ActionTriggerAccessory");
55
55
  */
56
56
  class SuplaPlatform {
57
57
  constructor(log, config, api) {
58
- var _a, _b, _c;
58
+ var _a, _b, _c, _d, _e;
59
59
  this.log = log;
60
60
  this.config = config;
61
61
  this.api = api;
@@ -82,9 +82,9 @@ class SuplaPlatform {
82
82
  this.coveringExecuteActionStop = (configView.coveringExecuteActionStop || 'stop').toString();
83
83
  this.coveringTravelTimeSeconds = Number(configView.coveringTravelTimeSeconds) || 0;
84
84
  this.gateControlMode = this.normalizeGateControlMode(configView.gateControlMode);
85
- this.gateExecuteActionOpen = (configView.gateExecuteActionOpen || 'open').toString();
86
- this.gateExecuteActionClose = (configView.gateExecuteActionClose || 'close').toString();
87
- this.gateExecuteActionToggle = (configView.gateExecuteActionToggle || 'toggle').toString();
85
+ this.gateExecuteActionOpen = (configView.gateExecuteActionOpen || 'open_close').toString();
86
+ this.gateExecuteActionClose = (configView.gateExecuteActionClose || 'open_close').toString();
87
+ this.gateExecuteActionToggle = (configView.gateExecuteActionToggle || 'open_close').toString();
88
88
  this.gateLockControlMode = this.normalizeGateLockControlMode(configView.gateLockControlMode);
89
89
  this.gateLockExecuteAction = (configView.gateLockExecuteAction || 'open').toString();
90
90
  this.gateLockSetTopicSuffix = this.normalizeTopicSuffix(configView.gateLockSetTopicSuffix || 'set/on');
@@ -93,8 +93,13 @@ class SuplaPlatform {
93
93
  this.gateLockSetOffPayload = ((_b = configView.gateLockSetOffPayload) !== null && _b !== void 0 ? _b : 'false').toString();
94
94
  this.gatePartialHiMode = this.normalizeGatePartialHiMode(configView.gatePartialHiMode);
95
95
  this.gateReverseFollowUpDelayMs = this.normalizeGateReverseFollowUpDelayMs(configView.gateReverseFollowUpDelayMs);
96
+ this.gateOpenAssumeDelayMs = this.normalizeGateOpenAssumeDelayMs(configView.gateOpenAssumeDelayMs);
97
+ this.gateCommandCooldownMs = this.normalizeGateCommandCooldownMs(configView.gateCommandCooldownMs);
98
+ this.gatePublishRetryDelayMs = this.normalizeGatePublishRetryDelayMs(configView.gatePublishRetryDelayMs);
99
+ this.gateStrictReverseDoublePulse = this.parseBoolean((_c = configView.gateStrictReverseDoublePulse) !== null && _c !== void 0 ? _c : true);
100
+ this.gateDebugTimeline = this.parseBoolean((_d = configView.gateDebugTimeline) !== null && _d !== void 0 ? _d : false);
96
101
  this.commandQos = this.normalizeCommandQos(configView.commandQos);
97
- this.commandRetain = this.parseBoolean((_c = configView.commandRetain) !== null && _c !== void 0 ? _c : false);
102
+ this.commandRetain = this.parseBoolean((_e = configView.commandRetain) !== null && _e !== void 0 ? _e : false);
98
103
  this.api.on('shutdown', () => {
99
104
  this.unregisterAllMqttHandlers();
100
105
  if (this.MqttClient) {
@@ -501,6 +506,21 @@ class SuplaPlatform {
501
506
  getGateReverseFollowUpDelayMs() {
502
507
  return this.gateReverseFollowUpDelayMs;
503
508
  }
509
+ getGateOpenAssumeDelayMs() {
510
+ return this.gateOpenAssumeDelayMs;
511
+ }
512
+ getGateCommandCooldownMs() {
513
+ return this.gateCommandCooldownMs;
514
+ }
515
+ getGatePublishRetryDelayMs() {
516
+ return this.gatePublishRetryDelayMs;
517
+ }
518
+ getGateStrictReverseDoublePulse() {
519
+ return this.gateStrictReverseDoublePulse;
520
+ }
521
+ getGateDebugTimeline() {
522
+ return this.gateDebugTimeline;
523
+ }
504
524
  normalizeCoveringControlMode(value) {
505
525
  const normalized = (value !== null && value !== void 0 ? value : 'set').toString().toLowerCase();
506
526
  if (normalized === 'execute_action') {
@@ -547,6 +567,33 @@ class SuplaPlatform {
547
567
  const rounded = Math.round(parsed);
548
568
  return Math.min(10000, Math.max(250, rounded));
549
569
  }
570
+ normalizeGateOpenAssumeDelayMs(value) {
571
+ const fallbackMs = 22000;
572
+ const parsed = Number(value);
573
+ if (!Number.isFinite(parsed)) {
574
+ return fallbackMs;
575
+ }
576
+ const rounded = Math.round(parsed);
577
+ return Math.min(120000, Math.max(1000, rounded));
578
+ }
579
+ normalizeGateCommandCooldownMs(value) {
580
+ const fallbackMs = 700;
581
+ const parsed = Number(value);
582
+ if (!Number.isFinite(parsed)) {
583
+ return fallbackMs;
584
+ }
585
+ const rounded = Math.round(parsed);
586
+ return Math.min(10000, Math.max(0, rounded));
587
+ }
588
+ normalizeGatePublishRetryDelayMs(value) {
589
+ const fallbackMs = 300;
590
+ const parsed = Number(value);
591
+ if (!Number.isFinite(parsed)) {
592
+ return fallbackMs;
593
+ }
594
+ const rounded = Math.round(parsed);
595
+ return Math.min(5000, Math.max(0, rounded));
596
+ }
550
597
  normalizeTopicSuffix(value) {
551
598
  return value.toString().replace(/^\/+/, '');
552
599
  }
@@ -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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Supla Plugin",
3
3
  "name": "@marcel2215/homebridge-supla-plugin",
4
- "version": "2.1.23",
4
+ "version": "2.1.24",
5
5
  "description": "Plugin for Homebridge to control Supla devices",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {