@marcel2215/homebridge-supla-plugin 2.1.7 → 2.1.8

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.
@@ -33,6 +33,16 @@
33
33
  "type": "boolean",
34
34
  "default": false
35
35
  },
36
+ "mqttTopicScheme": {
37
+ "title": "MQTT Topic Scheme",
38
+ "type": "string",
39
+ "default": "cloud",
40
+ "enum": [
41
+ "cloud",
42
+ "legacy",
43
+ "auto"
44
+ ]
45
+ },
36
46
  "coveringControlMode": {
37
47
  "title": "Covering Control Mode",
38
48
  "type": "string",
@@ -46,13 +56,33 @@
46
56
  "coveringSetTopicSuffix": {
47
57
  "title": "Covering Set Topic Suffix",
48
58
  "type": "string",
49
- "default": "set/shut"
59
+ "default": "set/closing_percentage"
50
60
  },
51
61
  "coveringTiltTopicSuffix": {
52
62
  "title": "Covering Tilt Topic Suffix",
53
63
  "type": "string",
54
64
  "default": "set/tilt"
55
65
  },
66
+ "coveringExecuteActionOpen": {
67
+ "title": "Covering Execute Action Open",
68
+ "type": "string",
69
+ "default": "reveal"
70
+ },
71
+ "coveringExecuteActionClose": {
72
+ "title": "Covering Execute Action Close",
73
+ "type": "string",
74
+ "default": "shut"
75
+ },
76
+ "coveringExecuteActionStop": {
77
+ "title": "Covering Execute Action Stop",
78
+ "type": "string",
79
+ "default": "stop"
80
+ },
81
+ "coveringTravelTimeSeconds": {
82
+ "title": "Covering Travel Time Seconds",
83
+ "type": "number",
84
+ "default": 0
85
+ },
56
86
  "username": {
57
87
  "title": "Username",
58
88
  "type": "string",
@@ -12,10 +12,17 @@ export declare class FacadeBlindAccessory {
12
12
  private currentTiltAngle;
13
13
  private targetTiltAngle;
14
14
  private connected;
15
+ private stopTimer?;
16
+ private hasReceivedPosition;
17
+ private pendingTargetPosition?;
18
+ private pendingTargetExpiresAt;
19
+ private pendingTargetTimer?;
15
20
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
16
21
  handleCurrentPositionGet(): Promise<CharacteristicValue>;
17
22
  handleTargetPositionGet(): Promise<CharacteristicValue>;
18
23
  handleTargetPositionSet(value: CharacteristicValue): Promise<void>;
24
+ private schedulePendingTimeout;
25
+ private clearPendingTarget;
19
26
  handlePositionStateGet(): Promise<CharacteristicValue>;
20
27
  handleCurrentTiltGet(): Promise<CharacteristicValue>;
21
28
  handleTargetTiltGet(): Promise<CharacteristicValue>;
@@ -25,5 +32,7 @@ export declare class FacadeBlindAccessory {
25
32
  private toTiltAngle;
26
33
  private toTiltValue;
27
34
  private clamp;
35
+ private resolveAction;
36
+ private scheduleStopIfNeeded;
28
37
  }
29
38
  //# sourceMappingURL=FacadeBlindAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacadeBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,oBAAoB;IAU7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAsD;IAC3E,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAQ;gBAGN,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA6EzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAyClD,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAItD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAInD,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAiBpD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"FacadeBlindAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,oBAAoB;IAe7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAsD;IAC3E,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;gBAGzB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA2FzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAiDxD,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,kBAAkB;IAapB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAItD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAInD,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAiBpD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,oBAAoB;CAyB7B"}
@@ -12,6 +12,8 @@ class FacadeBlindAccessory {
12
12
  this.currentTiltAngle = 0;
13
13
  this.targetTiltAngle = 0;
14
14
  this.connected = true;
15
+ this.hasReceivedPosition = false;
16
+ this.pendingTargetExpiresAt = 0;
15
17
  this.accessory.getService(this.platform.Service.AccessoryInformation)
16
18
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
17
19
  .setCharacteristic(this.platform.Characteristic.Model, 'FacadeBlind');
@@ -38,10 +40,27 @@ class FacadeBlindAccessory {
38
40
  const value = parseFloat(message.toString());
39
41
  if (!Number.isNaN(value)) {
40
42
  this.currentPosition = this.toPosition(value);
41
- if (Math.abs(this.targetPosition - this.currentPosition) <= 1) {
43
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
44
+ const now = Date.now();
45
+ if (!this.hasReceivedPosition) {
46
+ this.hasReceivedPosition = true;
47
+ this.clearPendingTarget(false);
48
+ this.targetPosition = this.currentPosition;
49
+ }
50
+ else if (this.pendingTargetPosition !== undefined) {
51
+ const reached = Math.abs(this.pendingTargetPosition - this.currentPosition) <= 1;
52
+ const expired = this.pendingTargetExpiresAt > 0 && now > this.pendingTargetExpiresAt;
53
+ if (reached || expired) {
54
+ this.clearPendingTarget(false);
55
+ this.targetPosition = this.currentPosition;
56
+ }
57
+ else {
58
+ this.schedulePendingTimeout(this.pendingTargetPosition, this.currentPosition);
59
+ }
60
+ }
61
+ else {
42
62
  this.targetPosition = this.currentPosition;
43
63
  }
44
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
45
64
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
46
65
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
47
66
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
@@ -84,6 +103,13 @@ class FacadeBlindAccessory {
84
103
  }
85
104
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
86
105
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
106
+ if (this.targetPosition !== this.currentPosition) {
107
+ this.pendingTargetPosition = this.targetPosition;
108
+ this.schedulePendingTimeout(this.targetPosition, this.currentPosition);
109
+ }
110
+ else {
111
+ this.clearPendingTarget(false);
112
+ }
87
113
  const controlMode = this.platform.getCoveringControlMode();
88
114
  const shutValue = this.toShut(this.targetPosition).toString();
89
115
  if (controlMode === 'set' || controlMode === 'hybrid') {
@@ -96,9 +122,12 @@ class FacadeBlindAccessory {
96
122
  });
97
123
  }
98
124
  if (controlMode === 'execute_action' || controlMode === 'hybrid') {
99
- if (this.targetPosition === 0 || this.targetPosition === 100) {
100
- const action = this.targetPosition === 0 ? 'close' : 'open';
101
- const actionTopic = `${this.context.topic}/execute_action`;
125
+ const actionTopic = `${this.context.topic}/execute_action`;
126
+ if (controlMode === 'hybrid' && this.targetPosition !== 0 && this.targetPosition !== 100) {
127
+ return;
128
+ }
129
+ const action = this.resolveAction(this.targetPosition, this.currentPosition);
130
+ if (action) {
102
131
  this.platform.log.debug(`Publishing ${actionTopic} = ${action}`);
103
132
  this.platform.MqttClient.client.publish(actionTopic, action, (error) => {
104
133
  if (error) {
@@ -106,11 +135,48 @@ class FacadeBlindAccessory {
106
135
  }
107
136
  });
108
137
  }
109
- else if (controlMode === 'execute_action') {
110
- this.platform.log.warn(`Covering control mode execute_action does not support partial positions (${this.targetPosition}).`);
138
+ if (controlMode === 'execute_action') {
139
+ this.scheduleStopIfNeeded(this.targetPosition, this.currentPosition);
111
140
  }
112
141
  }
113
142
  }
143
+ schedulePendingTimeout(target, current) {
144
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
145
+ const delta = Math.abs(target - current);
146
+ let timeoutMs = 15000;
147
+ if (travelTimeSeconds > 0 && delta > 0) {
148
+ timeoutMs = Math.round((delta / 100) * travelTimeSeconds * 1000) + 1000;
149
+ }
150
+ if (timeoutMs <= 0) {
151
+ return;
152
+ }
153
+ this.pendingTargetExpiresAt = Date.now() + timeoutMs;
154
+ if (this.pendingTargetTimer) {
155
+ clearTimeout(this.pendingTargetTimer);
156
+ }
157
+ this.pendingTargetTimer = setTimeout(() => {
158
+ this.pendingTargetTimer = undefined;
159
+ this.pendingTargetPosition = undefined;
160
+ this.pendingTargetExpiresAt = 0;
161
+ if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
162
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
163
+ this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
164
+ }
165
+ this.platform.log.debug(`No state updates for ${this.accessory.displayName} within ${timeoutMs}ms; marking STOPPED.`);
166
+ }, timeoutMs);
167
+ }
168
+ clearPendingTarget(syncTarget) {
169
+ if (this.pendingTargetTimer) {
170
+ clearTimeout(this.pendingTargetTimer);
171
+ this.pendingTargetTimer = undefined;
172
+ }
173
+ this.pendingTargetPosition = undefined;
174
+ this.pendingTargetExpiresAt = 0;
175
+ if (syncTarget) {
176
+ this.targetPosition = this.currentPosition;
177
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
178
+ }
179
+ }
114
180
  async handlePositionStateGet() {
115
181
  return this.positionState;
116
182
  }
@@ -148,6 +214,41 @@ class FacadeBlindAccessory {
148
214
  clamp(value, min, max) {
149
215
  return Math.min(Math.max(value, min), max);
150
216
  }
217
+ resolveAction(target, current) {
218
+ if (target > current) {
219
+ return this.platform.getCoveringExecuteActionOpen();
220
+ }
221
+ if (target < current) {
222
+ return this.platform.getCoveringExecuteActionClose();
223
+ }
224
+ const stopAction = this.platform.getCoveringExecuteActionStop();
225
+ return stopAction ? stopAction : null;
226
+ }
227
+ scheduleStopIfNeeded(target, current) {
228
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
229
+ const stopAction = this.platform.getCoveringExecuteActionStop();
230
+ if (!travelTimeSeconds || !stopAction || target === current) {
231
+ if (this.stopTimer) {
232
+ clearTimeout(this.stopTimer);
233
+ this.stopTimer = undefined;
234
+ }
235
+ return;
236
+ }
237
+ const proportion = Math.abs(target - current) / 100;
238
+ const delayMs = Math.max(250, Math.round(proportion * travelTimeSeconds * 1000));
239
+ if (this.stopTimer) {
240
+ clearTimeout(this.stopTimer);
241
+ }
242
+ this.stopTimer = setTimeout(() => {
243
+ const actionTopic = `${this.context.topic}/execute_action`;
244
+ this.platform.log.debug(`Publishing ${actionTopic} = ${stopAction} (auto-stop)`);
245
+ this.platform.MqttClient.client.publish(actionTopic, stopAction, (error) => {
246
+ if (error) {
247
+ this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
248
+ }
249
+ });
250
+ }, delayMs);
251
+ }
151
252
  }
152
253
  exports.FacadeBlindAccessory = FacadeBlindAccessory;
153
254
  //# sourceMappingURL=FacadeBlindAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,oBAAoB;IAS/B,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAVvC,oBAAe,GAAG,CAAC,CAAC;QACpB,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QACnE,qBAAgB,GAAG,CAAC,CAAC;QACrB,oBAAe,GAAG,CAAC,CAAC;QACpB,cAAS,GAAG,IAAI,CAAC;QAOvB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;eACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;aACzE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aACxE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;aACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC;aACnF,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/D,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE;gBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;wBAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;qBAC5C;oBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,IAAI,CAAC,eAAe,CACrB,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAC3C,IAAI,CAAC,cAAc,CACpB,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACnB,CAAC;iBACH;aACF;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE;gBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;wBAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;qBAC9C;oBACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,EACvD,IAAI,CAAC,gBAAgB,CACtB,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;iBACH;aACF;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,EAAE;gBACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAA0B;QACtD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;SACzE;QACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,QAAQ,EAAE;YACrD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,MAAM,SAAS,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClE,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC1E;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,KAAK,gBAAgB,IAAI,WAAW,KAAK,QAAQ,EAAE;YAChE,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,EAAE;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC5D,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrE,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;qBAChF;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,WAAW,KAAK,gBAAgB,EAAE;gBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,4EAA4E,IAAI,CAAC,cAAc,IAAI,CACpG,CAAC;aACH;SACF;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA0B;QAClD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACtE,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF;AA1LD,oDA0LC"}
1
+ {"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,31 @@ export declare class RollerShutterAccessory {
10
10
  private targetPosition;
11
11
  private positionState;
12
12
  private connected;
13
+ private stopTimer?;
14
+ private legacyMode;
15
+ private hasReceivedPosition;
16
+ private pendingTargetPosition?;
17
+ private pendingTargetExpiresAt;
18
+ private pendingTargetTimer?;
13
19
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
14
20
  handleCurrentPositionGet(): Promise<CharacteristicValue>;
15
21
  handleTargetPositionGet(): Promise<CharacteristicValue>;
16
22
  handleTargetPositionSet(value: CharacteristicValue): Promise<void>;
23
+ private applyShutUpdate;
24
+ private updateConnection;
25
+ private parseLegacyPayload;
26
+ private publishLegacyCommand;
27
+ private isLegacyTopic;
28
+ private getLegacyStatusTopic;
29
+ private getLegacyCommandTopic;
30
+ private getLegacyChannelId;
31
+ private schedulePendingTimeout;
32
+ private clearPendingTarget;
17
33
  handlePositionStateGet(): Promise<CharacteristicValue>;
18
34
  private toPosition;
19
35
  private toShut;
20
36
  private clamp;
37
+ private resolveAction;
38
+ private scheduleStopIfNeeded;
21
39
  }
22
40
  //# sourceMappingURL=RollerShutterAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RollerShutterAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/RollerShutterAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,sBAAsB;IAQ/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAsD;IAC3E,OAAO,CAAC,SAAS,CAAQ;gBAGN,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAsDzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAyClD,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI5D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"RollerShutterAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/RollerShutterAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,sBAAsB;IAc/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAsD;IAC3E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;gBAGzB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAsDzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAqDxD,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,kBAAkB;IAapB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI5D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,oBAAoB;CAyB7B"}
@@ -10,6 +10,9 @@ class RollerShutterAccessory {
10
10
  this.targetPosition = 0;
11
11
  this.positionState = this.platform.Characteristic.PositionState.STOPPED;
12
12
  this.connected = true;
13
+ this.legacyMode = false;
14
+ this.hasReceivedPosition = false;
15
+ this.pendingTargetExpiresAt = 0;
13
16
  this.accessory.getService(this.platform.Service.AccessoryInformation)
14
17
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
15
18
  .setCharacteristic(this.platform.Characteristic.Model, 'RollerShutter');
@@ -23,25 +26,37 @@ class RollerShutterAccessory {
23
26
  .onSet(this.handleTargetPositionSet.bind(this));
24
27
  this.service.getCharacteristic(this.platform.Characteristic.PositionState)
25
28
  .onGet(this.handlePositionStateGet.bind(this));
26
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/shut`);
27
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/connected`);
29
+ this.legacyMode = this.isLegacyTopic();
30
+ const statusTopic = this.legacyMode
31
+ ? this.getLegacyStatusTopic()
32
+ : `${this.context.topic}/state/shut`;
33
+ const connectedTopic = this.legacyMode
34
+ ? undefined
35
+ : `${this.context.topic}/state/connected`;
36
+ this.platform.MqttClient.client.subscribe(statusTopic);
37
+ if (connectedTopic) {
38
+ this.platform.MqttClient.client.subscribe(connectedTopic);
39
+ }
28
40
  this.platform.MqttClient.client.on('message', (topic, message) => {
29
- if (topic === `${this.context.topic}/state/shut`) {
30
- const value = parseFloat(message.toString());
31
- if (!Number.isNaN(value)) {
32
- this.currentPosition = this.toPosition(value);
33
- if (Math.abs(this.targetPosition - this.currentPosition) <= 1) {
34
- this.targetPosition = this.currentPosition;
41
+ if (topic === statusTopic) {
42
+ if (this.legacyMode) {
43
+ const parsed = this.parseLegacyPayload(message.toString());
44
+ if ((parsed === null || parsed === void 0 ? void 0 : parsed.shut) !== undefined) {
45
+ this.applyShutUpdate(parsed.shut);
46
+ }
47
+ if ((parsed === null || parsed === void 0 ? void 0 : parsed.online) !== undefined) {
48
+ this.updateConnection(parsed.online);
49
+ }
50
+ }
51
+ else {
52
+ const value = parseFloat(message.toString());
53
+ if (!Number.isNaN(value)) {
54
+ this.applyShutUpdate(value);
35
55
  }
36
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
37
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
38
- this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
39
- this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
40
56
  }
41
57
  }
42
- if (topic === `${this.context.topic}/state/connected`) {
43
- this.connected = message.toString() === 'true';
44
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
58
+ if (!this.legacyMode && connectedTopic && topic === connectedTopic) {
59
+ this.updateConnection(message.toString() === 'true');
45
60
  }
46
61
  });
47
62
  }
@@ -65,6 +80,17 @@ class RollerShutterAccessory {
65
80
  }
66
81
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
67
82
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
83
+ if (this.targetPosition !== this.currentPosition) {
84
+ this.pendingTargetPosition = this.targetPosition;
85
+ this.schedulePendingTimeout(this.targetPosition, this.currentPosition);
86
+ }
87
+ else {
88
+ this.clearPendingTarget(false);
89
+ }
90
+ if (this.legacyMode) {
91
+ this.publishLegacyCommand(this.targetPosition);
92
+ return;
93
+ }
68
94
  const controlMode = this.platform.getCoveringControlMode();
69
95
  const shutValue = this.toShut(this.targetPosition).toString();
70
96
  if (controlMode === 'set' || controlMode === 'hybrid') {
@@ -77,9 +103,12 @@ class RollerShutterAccessory {
77
103
  });
78
104
  }
79
105
  if (controlMode === 'execute_action' || controlMode === 'hybrid') {
80
- if (this.targetPosition === 0 || this.targetPosition === 100) {
81
- const action = this.targetPosition === 0 ? 'close' : 'open';
82
- const actionTopic = `${this.context.topic}/execute_action`;
106
+ const actionTopic = `${this.context.topic}/execute_action`;
107
+ if (controlMode === 'hybrid' && this.targetPosition !== 0 && this.targetPosition !== 100) {
108
+ return;
109
+ }
110
+ const action = this.resolveAction(this.targetPosition, this.currentPosition);
111
+ if (action) {
83
112
  this.platform.log.debug(`Publishing ${actionTopic} = ${action}`);
84
113
  this.platform.MqttClient.client.publish(actionTopic, action, (error) => {
85
114
  if (error) {
@@ -87,9 +116,146 @@ class RollerShutterAccessory {
87
116
  }
88
117
  });
89
118
  }
90
- else if (controlMode === 'execute_action') {
91
- this.platform.log.warn(`Covering control mode execute_action does not support partial positions (${this.targetPosition}).`);
119
+ if (controlMode === 'execute_action') {
120
+ this.scheduleStopIfNeeded(this.targetPosition, this.currentPosition);
121
+ }
122
+ }
123
+ }
124
+ applyShutUpdate(shutValue) {
125
+ this.currentPosition = this.toPosition(shutValue);
126
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
127
+ const now = Date.now();
128
+ if (!this.hasReceivedPosition) {
129
+ this.hasReceivedPosition = true;
130
+ this.clearPendingTarget(false);
131
+ this.targetPosition = this.currentPosition;
132
+ }
133
+ else if (this.pendingTargetPosition !== undefined) {
134
+ const reached = Math.abs(this.pendingTargetPosition - this.currentPosition) <= 1;
135
+ const expired = this.pendingTargetExpiresAt > 0 && now > this.pendingTargetExpiresAt;
136
+ if (reached || expired) {
137
+ this.clearPendingTarget(false);
138
+ this.targetPosition = this.currentPosition;
139
+ }
140
+ else {
141
+ this.schedulePendingTimeout(this.pendingTargetPosition, this.currentPosition);
142
+ }
143
+ }
144
+ else {
145
+ this.targetPosition = this.currentPosition;
146
+ }
147
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
148
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
149
+ this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
150
+ }
151
+ updateConnection(isConnected) {
152
+ this.connected = isConnected;
153
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
154
+ }
155
+ parseLegacyPayload(payload) {
156
+ let data;
157
+ try {
158
+ data = JSON.parse(payload);
159
+ }
160
+ catch (_a) {
161
+ return null;
162
+ }
163
+ if (!data || typeof data !== 'object') {
164
+ return null;
165
+ }
166
+ const record = data;
167
+ const result = {};
168
+ const shutValue = Number(record.shut);
169
+ if (!Number.isNaN(shutValue)) {
170
+ result.shut = shutValue;
171
+ }
172
+ if (typeof record.online !== 'undefined') {
173
+ result.online = record.online === true
174
+ || record.online === 1
175
+ || record.online === '1'
176
+ || record.online === 'true';
177
+ }
178
+ return result;
179
+ }
180
+ publishLegacyCommand(targetPosition) {
181
+ const channelId = this.getLegacyChannelId();
182
+ if (channelId === null) {
183
+ this.platform.log.warn(`Legacy rollershutter channel id missing for ${this.accessory.displayName}`);
184
+ return;
185
+ }
186
+ const shutValue = Math.round(this.toShut(targetPosition));
187
+ const topic = this.getLegacyCommandTopic();
188
+ const payload = JSON.stringify({ id: channelId, shut: shutValue });
189
+ this.platform.log.debug(`Publishing ${topic} = ${payload}`);
190
+ this.platform.MqttClient.client.publish(topic, payload, (error) => {
191
+ if (error) {
192
+ this.platform.log.error(`Publish failed for ${topic}: ${error.message}`);
193
+ }
194
+ });
195
+ }
196
+ isLegacyTopic() {
197
+ return this.context.topic.startsWith('supla/channels/status/rollershutter/');
198
+ }
199
+ getLegacyStatusTopic() {
200
+ return this.context.topic;
201
+ }
202
+ getLegacyCommandTopic() {
203
+ if (this.context.topic.includes('/channels/status/rollershutter/')) {
204
+ return this.context.topic.replace('/channels/status/rollershutter/', '/channels/command/rollershutter/');
205
+ }
206
+ const channelId = this.getLegacyChannelId();
207
+ if (channelId === null) {
208
+ return 'supla/channels/command/rollershutter/unknown';
209
+ }
210
+ return `supla/channels/command/rollershutter/${channelId}`;
211
+ }
212
+ getLegacyChannelId() {
213
+ const idValue = Number(this.context.channelId);
214
+ if (!Number.isNaN(idValue)) {
215
+ return idValue;
216
+ }
217
+ const match = this.context.topic.match(/rollershutter\/(\d+)$/);
218
+ if (!match) {
219
+ return null;
220
+ }
221
+ const parsed = Number(match[1]);
222
+ return Number.isNaN(parsed) ? null : parsed;
223
+ }
224
+ schedulePendingTimeout(target, current) {
225
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
226
+ const delta = Math.abs(target - current);
227
+ let timeoutMs = 15000;
228
+ if (travelTimeSeconds > 0 && delta > 0) {
229
+ timeoutMs = Math.round((delta / 100) * travelTimeSeconds * 1000) + 1000;
230
+ }
231
+ if (timeoutMs <= 0) {
232
+ return;
233
+ }
234
+ this.pendingTargetExpiresAt = Date.now() + timeoutMs;
235
+ if (this.pendingTargetTimer) {
236
+ clearTimeout(this.pendingTargetTimer);
237
+ }
238
+ this.pendingTargetTimer = setTimeout(() => {
239
+ this.pendingTargetTimer = undefined;
240
+ this.pendingTargetPosition = undefined;
241
+ this.pendingTargetExpiresAt = 0;
242
+ if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
243
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
244
+ this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
92
245
  }
246
+ this.platform.log.debug(`No state updates for ${this.accessory.displayName} within ${timeoutMs}ms; marking STOPPED.`);
247
+ }, timeoutMs);
248
+ }
249
+ clearPendingTarget(syncTarget) {
250
+ if (this.pendingTargetTimer) {
251
+ clearTimeout(this.pendingTargetTimer);
252
+ this.pendingTargetTimer = undefined;
253
+ }
254
+ this.pendingTargetPosition = undefined;
255
+ this.pendingTargetExpiresAt = 0;
256
+ if (syncTarget) {
257
+ this.targetPosition = this.currentPosition;
258
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
93
259
  }
94
260
  }
95
261
  async handlePositionStateGet() {
@@ -104,6 +270,41 @@ class RollerShutterAccessory {
104
270
  clamp(value, min, max) {
105
271
  return Math.min(Math.max(value, min), max);
106
272
  }
273
+ resolveAction(target, current) {
274
+ if (target > current) {
275
+ return this.platform.getCoveringExecuteActionOpen();
276
+ }
277
+ if (target < current) {
278
+ return this.platform.getCoveringExecuteActionClose();
279
+ }
280
+ const stopAction = this.platform.getCoveringExecuteActionStop();
281
+ return stopAction ? stopAction : null;
282
+ }
283
+ scheduleStopIfNeeded(target, current) {
284
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
285
+ const stopAction = this.platform.getCoveringExecuteActionStop();
286
+ if (!travelTimeSeconds || !stopAction || target === current) {
287
+ if (this.stopTimer) {
288
+ clearTimeout(this.stopTimer);
289
+ this.stopTimer = undefined;
290
+ }
291
+ return;
292
+ }
293
+ const proportion = Math.abs(target - current) / 100;
294
+ const delayMs = Math.max(250, Math.round(proportion * travelTimeSeconds * 1000));
295
+ if (this.stopTimer) {
296
+ clearTimeout(this.stopTimer);
297
+ }
298
+ this.stopTimer = setTimeout(() => {
299
+ const actionTopic = `${this.context.topic}/execute_action`;
300
+ this.platform.log.debug(`Publishing ${actionTopic} = ${stopAction} (auto-stop)`);
301
+ this.platform.MqttClient.client.publish(actionTopic, stopAction, (error) => {
302
+ if (error) {
303
+ this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
304
+ }
305
+ });
306
+ }, delayMs);
307
+ }
107
308
  }
108
309
  exports.RollerShutterAccessory = RollerShutterAccessory;
109
310
  //# sourceMappingURL=RollerShutterAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RollerShutterAccessory.js","sourceRoot":"","sources":["../../src/Accesories/RollerShutterAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RollerShutterAccessory.js","sourceRoot":"","sources":["../../src/Accesories/RollerShutterAccessory.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,11 @@ export declare class SuplaMqttClient {
8
8
  client: MqttClient;
9
9
  constructor(context: SuplaMqttClientContext, log: Logger);
10
10
  discoverChannelsAsync(): Promise<Array<SuplaChannelContext>>;
11
+ private discoverCloudChannelsAsync;
12
+ private discoverLegacyRollerShuttersAsync;
11
13
  private resolveProtocol;
12
14
  private resolveIncludeHidden;
13
15
  private escapeRegex;
16
+ private resolveTopicScheme;
14
17
  }
15
18
  //# sourceMappingURL=SuplaMqttClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaMqttClient.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHf,MAAM,EAAE,UAAU,CAAC;gBAEP,OAAO,EAAG,sBAAsB,EAChC,GAAG,EAAG,MAAM;IAoClB,qBAAqB,IAAK,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAyH1E,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"SuplaMqttClient.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHf,MAAM,EAAE,UAAU,CAAC;gBAEP,OAAO,EAAG,sBAAsB,EAChC,GAAG,EAAG,MAAM;IAoClB,qBAAqB,IAAK,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAiB5D,0BAA0B;YAyH1B,iCAAiC;IAsF/C,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -41,6 +41,22 @@ class SuplaMqttClient {
41
41
  });
42
42
  }
43
43
  async discoverChannelsAsync() {
44
+ const topicScheme = this.resolveTopicScheme();
45
+ this.log.debug(`MQTT topic scheme: ${topicScheme}`);
46
+ if (topicScheme === 'legacy') {
47
+ return this.discoverLegacyRollerShuttersAsync();
48
+ }
49
+ if (topicScheme === 'cloud') {
50
+ return this.discoverCloudChannelsAsync();
51
+ }
52
+ const cloudChannels = await this.discoverCloudChannelsAsync();
53
+ if (cloudChannels.length > 0) {
54
+ return cloudChannels;
55
+ }
56
+ this.log.warn('No channels discovered via cloud topics; trying legacy rollershutter topics.');
57
+ return this.discoverLegacyRollerShuttersAsync();
58
+ }
59
+ async discoverCloudChannelsAsync() {
44
60
  var _a, _b, _c, _d;
45
61
  const subscriptionTopic = `supla/${this.context.username}/devices/+/channels/#`;
46
62
  const includeHidden = this.resolveIncludeHidden();
@@ -136,6 +152,79 @@ class SuplaMqttClient {
136
152
  this.log.info(`MQTT discovery complete. Channels discovered: ${result.length}`);
137
153
  return result;
138
154
  }
155
+ async discoverLegacyRollerShuttersAsync() {
156
+ const subscriptionTopic = 'supla/channels/status/rollershutter/#';
157
+ this.log.info('Discovering legacy rollershutter channels via MQTT');
158
+ this.log.debug(`Discovery subscribe topic: ${subscriptionTopic}`);
159
+ const channelMap = new Map();
160
+ let resolveDone;
161
+ const discoveryDone = new Promise((resolve) => {
162
+ resolveDone = resolve;
163
+ });
164
+ let quietTimer;
165
+ const maxWaitMs = 4000;
166
+ const quietWindowMs = 1000;
167
+ const maxTimer = setTimeout(() => resolveDone === null || resolveDone === void 0 ? void 0 : resolveDone(), maxWaitMs);
168
+ const messageHandler = (topic, message) => {
169
+ const match = topic.match(/^supla\/channels\/status\/rollershutter\/(\d+)$/);
170
+ if (!match) {
171
+ return;
172
+ }
173
+ const channelId = match[1];
174
+ if (!channelMap.has(channelId)) {
175
+ channelMap.set(channelId, { channelId });
176
+ }
177
+ try {
178
+ const payload = JSON.parse(message.toString());
179
+ if (payload && typeof payload.id !== 'undefined') {
180
+ const idValue = Number(payload.id);
181
+ if (!Number.isNaN(idValue)) {
182
+ const normalizedId = idValue.toString();
183
+ if (!channelMap.has(normalizedId)) {
184
+ channelMap.set(normalizedId, { channelId: normalizedId });
185
+ }
186
+ }
187
+ }
188
+ }
189
+ catch (_a) {
190
+ // ignore non-JSON payloads
191
+ }
192
+ if (quietTimer) {
193
+ clearTimeout(quietTimer);
194
+ }
195
+ quietTimer = setTimeout(() => resolveDone === null || resolveDone === void 0 ? void 0 : resolveDone(), quietWindowMs);
196
+ };
197
+ this.client.subscribe(subscriptionTopic, (err) => {
198
+ if (err) {
199
+ this.log.error(`MQTT subscribe failed for ${subscriptionTopic}: ${err.message}`);
200
+ resolveDone === null || resolveDone === void 0 ? void 0 : resolveDone();
201
+ }
202
+ });
203
+ this.client.on('message', messageHandler);
204
+ await discoveryDone;
205
+ clearTimeout(maxTimer);
206
+ if (quietTimer) {
207
+ clearTimeout(quietTimer);
208
+ }
209
+ this.client.removeListener('message', messageHandler);
210
+ this.client.unsubscribe(subscriptionTopic, (err) => {
211
+ if (err) {
212
+ this.log.error(`MQTT unsubscribe failed for ${subscriptionTopic}: ${err.message}`);
213
+ }
214
+ });
215
+ const result = [];
216
+ for (const entry of channelMap.values()) {
217
+ const statusTopic = `supla/channels/status/rollershutter/${entry.channelId}`;
218
+ const caption = `RollerShutter ${entry.channelId}`;
219
+ const channelContext = new SuplaChannelContext_1.SuplaChannelContext(statusTopic, 'RELAY', 'CONTROLLINGTHEROLLERSHUTTER', caption, 'legacy', entry.channelId);
220
+ result.push(channelContext);
221
+ }
222
+ if (channelMap.size === 0) {
223
+ this.log.warn(`No legacy rollershutter channels discovered within ${maxWaitMs}ms.`);
224
+ }
225
+ this.log.info(`Legacy MQTT discovery complete. Channels discovered: ${result.length}`);
226
+ return result;
227
+ }
139
228
  resolveProtocol() {
140
229
  var _a;
141
230
  const rawProtocol = ((_a = this.context.protocol) !== null && _a !== void 0 ? _a : '').toString().toLowerCase();
@@ -164,6 +253,17 @@ class SuplaMqttClient {
164
253
  escapeRegex(value) {
165
254
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
166
255
  }
256
+ resolveTopicScheme() {
257
+ var _a;
258
+ const raw = ((_a = this.context.mqttTopicScheme) !== null && _a !== void 0 ? _a : '').toString().toLowerCase();
259
+ if (raw === 'legacy') {
260
+ return 'legacy';
261
+ }
262
+ if (raw === 'auto') {
263
+ return 'auto';
264
+ }
265
+ return 'cloud';
266
+ }
167
267
  }
168
268
  exports.SuplaMqttClient = SuplaMqttClient;
169
269
  //# sourceMappingURL=SuplaMqttClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaMqttClient.js","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuplaMqttClient.js","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class SuplaMqttClientContext {
6
6
  protocol?: string | undefined;
7
7
  tls?: string | boolean | undefined;
8
8
  includeHidden?: string | boolean | undefined;
9
- constructor(host: string, port: number, username: string, password: string, protocol?: string | undefined, tls?: string | boolean | undefined, includeHidden?: string | boolean | undefined);
9
+ mqttTopicScheme?: string | undefined;
10
+ constructor(host: string, port: number, username: string, password: string, protocol?: string | undefined, tls?: string | boolean | undefined, includeHidden?: string | boolean | undefined, mqttTopicScheme?: string | undefined);
10
11
  }
11
12
  //# sourceMappingURL=SuplaMqttClientContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaMqttClientContext.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClientContext.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB;IAExB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAChB,QAAQ,CAAC;IACT,GAAG,CAAC;IACJ,aAAa,CAAC;gBANd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,oBAAQ,EACjB,GAAG,CAAC,8BAAkB,EACtB,aAAa,CAAC,8BAAkB;CAG1C"}
1
+ {"version":3,"file":"SuplaMqttClientContext.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClientContext.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB;IAExB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAChB,QAAQ,CAAC;IACT,GAAG,CAAC;IACJ,aAAa,CAAC;IACd,eAAe,CAAC;gBAPhB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,oBAAQ,EACjB,GAAG,CAAC,8BAAkB,EACtB,aAAa,CAAC,8BAAkB,EAChC,eAAe,CAAC,oBAAQ;CAGlC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuplaMqttClientContext = void 0;
4
4
  class SuplaMqttClientContext {
5
- constructor(host, port, username, password, protocol, tls, includeHidden) {
5
+ constructor(host, port, username, password, protocol, tls, includeHidden, mqttTopicScheme) {
6
6
  this.host = host;
7
7
  this.port = port;
8
8
  this.username = username;
@@ -10,6 +10,7 @@ class SuplaMqttClientContext {
10
10
  this.protocol = protocol;
11
11
  this.tls = tls;
12
12
  this.includeHidden = includeHidden;
13
+ this.mqttTopicScheme = mqttTopicScheme;
13
14
  }
14
15
  }
15
16
  exports.SuplaMqttClientContext = SuplaMqttClientContext;
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaMqttClientContext.js","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClientContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;IACjC,YACS,IAAY,EACZ,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EACjB,GAAsB,EACtB,aAAgC;QANhC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAS;QACjB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAmB;IAEzC,CAAC;CACF;AAXD,wDAWC"}
1
+ {"version":3,"file":"SuplaMqttClientContext.js","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClientContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;IACjC,YACS,IAAY,EACZ,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EACjB,GAAsB,EACtB,aAAgC,EAChC,eAAwB;QAPxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAS;QACjB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAmB;QAChC,oBAAe,GAAf,eAAe,CAAS;IAEjC,CAAC;CACF;AAZD,wDAYC"}
@@ -17,6 +17,10 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
17
17
  private readonly coveringControlMode;
18
18
  private readonly coveringSetTopicSuffix;
19
19
  private readonly coveringTiltTopicSuffix;
20
+ private readonly coveringExecuteActionOpen;
21
+ private readonly coveringExecuteActionClose;
22
+ private readonly coveringExecuteActionStop;
23
+ private readonly coveringTravelTimeSeconds;
20
24
  constructor(log: Logger, config: PlatformConfig, api: API);
21
25
  /**
22
26
  * This function is invoked when homebridge restores cached accessories from disk at startup.
@@ -38,6 +42,10 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
38
42
  getCoveringControlMode(): 'set' | 'execute_action' | 'hybrid';
39
43
  getCoveringSetTopicSuffix(): string;
40
44
  getCoveringTiltTopicSuffix(): string;
45
+ getCoveringExecuteActionOpen(): string;
46
+ getCoveringExecuteActionClose(): string;
47
+ getCoveringExecuteActionStop(): string;
48
+ getCoveringTravelTimeSeconds(): number;
41
49
  private normalizeCoveringControlMode;
42
50
  private normalizeTopicSuffix;
43
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5H,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAkBlE;;;;GAIG;AACH,qBAAa,aAAc,YAAW,qBAAqB;aAWvC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAZ1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAC7E,UAAU,EAAG,eAAe,CAAC;IAEpC,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAC1E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;gBAG/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA2B1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;;;OAIG;IACH,eAAe,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAqD7D,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,uBAAuB;IAmC/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAiHtB,OAAO,CAAC,mBAAmB;IAKpB,sBAAsB,IAAI,KAAK,GAAG,gBAAgB,GAAG,QAAQ;IAI7D,yBAAyB,IAAI,MAAM;IAInC,0BAA0B,IAAI,MAAM;IAI3C,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,oBAAoB;CAG7B"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5H,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAkBlE;;;;GAIG;AACH,qBAAa,aAAc,YAAW,qBAAqB;aAevC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAhB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAC7E,UAAU,EAAG,eAAe,CAAC;IAEpC,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAC1E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAS;IACpD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAGjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAmC1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;;;OAIG;IACH,eAAe,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAqD7D,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,uBAAuB;IAmC/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAiHtB,OAAO,CAAC,mBAAmB;IAKpB,sBAAsB,IAAI,KAAK,GAAG,gBAAgB,GAAG,QAAQ;IAI7D,yBAAyB,IAAI,MAAM;IAInC,0BAA0B,IAAI,MAAM;IAIpC,4BAA4B,IAAI,MAAM;IAItC,6BAA6B,IAAI,MAAM;IAIvC,4BAA4B,IAAI,MAAM;IAItC,4BAA4B,IAAI,MAAM;IAI7C,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,oBAAoB;CAG7B"}
package/dist/platform.js CHANGED
@@ -63,8 +63,12 @@ class SuplaPlatform {
63
63
  this.log.debug('Finished initializing platform:', this.config.name);
64
64
  const configView = this.config;
65
65
  this.coveringControlMode = this.normalizeCoveringControlMode(configView.coveringControlMode);
66
- this.coveringSetTopicSuffix = this.normalizeTopicSuffix(configView.coveringSetTopicSuffix || 'set/shut');
66
+ this.coveringSetTopicSuffix = this.normalizeTopicSuffix(configView.coveringSetTopicSuffix || 'set/closing_percentage');
67
67
  this.coveringTiltTopicSuffix = this.normalizeTopicSuffix(configView.coveringTiltTopicSuffix || 'set/tilt');
68
+ this.coveringExecuteActionOpen = (configView.coveringExecuteActionOpen || 'reveal').toString();
69
+ this.coveringExecuteActionClose = (configView.coveringExecuteActionClose || 'shut').toString();
70
+ this.coveringExecuteActionStop = (configView.coveringExecuteActionStop || 'stop').toString();
71
+ this.coveringTravelTimeSeconds = Number(configView.coveringTravelTimeSeconds) || 0;
68
72
  this.api.on('didFinishLaunching', () => {
69
73
  log.debug('Executed didFinishLaunching callback');
70
74
  const mqttSettings = this.config;
@@ -328,6 +332,18 @@ class SuplaPlatform {
328
332
  getCoveringTiltTopicSuffix() {
329
333
  return this.coveringTiltTopicSuffix;
330
334
  }
335
+ getCoveringExecuteActionOpen() {
336
+ return this.coveringExecuteActionOpen;
337
+ }
338
+ getCoveringExecuteActionClose() {
339
+ return this.coveringExecuteActionClose;
340
+ }
341
+ getCoveringExecuteActionStop() {
342
+ return this.coveringExecuteActionStop;
343
+ }
344
+ getCoveringTravelTimeSeconds() {
345
+ return this.coveringTravelTimeSeconds;
346
+ }
331
347
  normalizeCoveringControlMode(value) {
332
348
  const normalized = (value !== null && value !== void 0 ? value : 'set').toString().toLowerCase();
333
349
  if (normalized === 'execute_action') {
@@ -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.7",
4
+ "version": "2.1.8",
5
5
  "description": "Plugin for Homebridge to control Supla devices",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {