@marcel2215/homebridge-supla-plugin 2.1.7 → 2.1.9

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.
Files changed (83) hide show
  1. package/config.schema.json +104 -1
  2. package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
  3. package/dist/Accesories/ActionTriggerAccessory.js +5 -10
  4. package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
  5. package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
  6. package/dist/Accesories/AirQualityAccessory.js +9 -13
  7. package/dist/Accesories/AirQualityAccessory.js.map +1 -1
  8. package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
  9. package/dist/Accesories/ContactSensorAccessory.js +10 -14
  10. package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
  11. package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
  12. package/dist/Accesories/DimmerAccessory.js +17 -23
  13. package/dist/Accesories/DimmerAccessory.js.map +1 -1
  14. package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
  15. package/dist/Accesories/DimmerRgbLightAccessory.js +27 -37
  16. package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
  17. package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
  18. package/dist/Accesories/DoorAccessory.js +11 -16
  19. package/dist/Accesories/DoorAccessory.js.map +1 -1
  20. package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
  21. package/dist/Accesories/ElectricityMeterAccessory.js +16 -24
  22. package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
  23. package/dist/Accesories/FacadeBlindAccessory.d.ts +9 -0
  24. package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
  25. package/dist/Accesories/FacadeBlindAccessory.js +127 -31
  26. package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
  27. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
  28. package/dist/Accesories/GarageDoorOpenerAccesory.js +10 -13
  29. package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
  30. package/dist/Accesories/GateAccessory.d.ts +21 -0
  31. package/dist/Accesories/GateAccessory.d.ts.map +1 -0
  32. package/dist/Accesories/GateAccessory.js +98 -0
  33. package/dist/Accesories/GateAccessory.js.map +1 -0
  34. package/dist/Accesories/GateLockAccessory.d.ts +18 -0
  35. package/dist/Accesories/GateLockAccessory.d.ts.map +1 -0
  36. package/dist/Accesories/GateLockAccessory.js +95 -0
  37. package/dist/Accesories/GateLockAccessory.js.map +1 -0
  38. package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
  39. package/dist/Accesories/LeakSensorAccessory.js +10 -14
  40. package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
  41. package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
  42. package/dist/Accesories/LightBulbAccesory.js +12 -17
  43. package/dist/Accesories/LightBulbAccesory.js.map +1 -1
  44. package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
  45. package/dist/Accesories/PressureAccessory.js +9 -13
  46. package/dist/Accesories/PressureAccessory.js.map +1 -1
  47. package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
  48. package/dist/Accesories/RGBLightBulbAccesory.js +16 -24
  49. package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
  50. package/dist/Accesories/RollerShutterAccessory.d.ts +18 -0
  51. package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
  52. package/dist/Accesories/RollerShutterAccessory.js +215 -22
  53. package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
  54. package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
  55. package/dist/Accesories/SwitchAccessory.js +11 -16
  56. package/dist/Accesories/SwitchAccessory.js.map +1 -1
  57. package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
  58. package/dist/Accesories/TemperatureAccessory.js +9 -13
  59. package/dist/Accesories/TemperatureAccessory.js.map +1 -1
  60. package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
  61. package/dist/Accesories/TemperatureHumidityAccessory.js +17 -22
  62. package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
  63. package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
  64. package/dist/Accesories/ThermostatAccessory.js +35 -43
  65. package/dist/Accesories/ThermostatAccessory.js.map +1 -1
  66. package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
  67. package/dist/Accesories/ValveAccessory.js +18 -23
  68. package/dist/Accesories/ValveAccessory.js.map +1 -1
  69. package/dist/Accesories/WicketAccesory.js +3 -6
  70. package/dist/Accesories/WicketAccesory.js.map +1 -1
  71. package/dist/Heplers/SuplaMqttClient.d.ts +6 -0
  72. package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
  73. package/dist/Heplers/SuplaMqttClient.js +174 -10
  74. package/dist/Heplers/SuplaMqttClient.js.map +1 -1
  75. package/dist/Heplers/SuplaMqttClientContext.d.ts +5 -1
  76. package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
  77. package/dist/Heplers/SuplaMqttClientContext.js +5 -1
  78. package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
  79. package/dist/platform.d.ts +37 -0
  80. package/dist/platform.d.ts.map +1 -1
  81. package/dist/platform.js +153 -3
  82. package/dist/platform.js.map +1 -1
  83. package/package.json +1 -1
@@ -28,30 +28,22 @@ class ElectricityMeterAccessory {
28
28
  this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
29
29
  this.service.getCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel)
30
30
  .onGet(this.handleValueGet.bind(this));
31
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/#`);
32
- this.platform.MqttClient.client.on('message', (topic, message) => {
33
- if (topic === `${this.context.topic}/state/connected`) {
34
- this.connected = message.toString() === 'true';
35
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
36
- return;
37
- }
38
- if (!topic.startsWith(`${this.context.topic}/state/`)) {
39
- return;
40
- }
41
- const key = topic.substring(`${this.context.topic}/state/`.length);
42
- const metricIndex = this.metricPriority.indexOf(key);
43
- if (metricIndex === -1) {
44
- return;
45
- }
46
- const value = parseFloat(message.toString());
47
- if (Number.isNaN(value)) {
48
- return;
49
- }
50
- if (metricIndex <= this.selectedMetricIndex) {
51
- this.selectedMetricIndex = metricIndex;
52
- this.value = this.clamp(value, 0.0001, 100000);
53
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel, this.value);
54
- }
31
+ this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
32
+ this.connected = this.platform.parseBoolean(message.toString());
33
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
34
+ });
35
+ this.metricPriority.forEach((key, metricIndex) => {
36
+ this.platform.registerMqttHandler(`${this.context.topic}/state/${key}`, (message) => {
37
+ const value = parseFloat(message.toString());
38
+ if (Number.isNaN(value)) {
39
+ return;
40
+ }
41
+ if (metricIndex <= this.selectedMetricIndex) {
42
+ this.selectedMetricIndex = metricIndex;
43
+ this.value = this.clamp(value, 0.0001, 100000);
44
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel, this.value);
45
+ }
46
+ });
55
47
  });
56
48
  }
57
49
  async handleValueGet() {
@@ -1 +1 @@
1
- {"version":3,"file":"ElectricityMeterAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ElectricityMeterAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElectricityMeterAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ElectricityMeterAccessory.ts"],"names":[],"mappings":"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"}
@@ -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;IA+FzC,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');
@@ -30,39 +32,51 @@ class FacadeBlindAccessory {
30
32
  this.service.getCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle)
31
33
  .onGet(this.handleTargetTiltGet.bind(this))
32
34
  .onSet(this.handleTargetTiltSet.bind(this));
33
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/shut`);
34
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/tilt`);
35
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/connected`);
36
- this.platform.MqttClient.client.on('message', (topic, message) => {
37
- if (topic === `${this.context.topic}/state/shut`) {
38
- const value = parseFloat(message.toString());
39
- if (!Number.isNaN(value)) {
40
- this.currentPosition = this.toPosition(value);
41
- if (Math.abs(this.targetPosition - this.currentPosition) <= 1) {
35
+ this.platform.registerMqttHandler(`${this.context.topic}/state/shut`, (message) => {
36
+ const value = parseFloat(message.toString());
37
+ if (!Number.isNaN(value)) {
38
+ this.currentPosition = this.toPosition(value);
39
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
40
+ const now = Date.now();
41
+ if (!this.hasReceivedPosition) {
42
+ this.hasReceivedPosition = true;
43
+ this.clearPendingTarget(false);
44
+ this.targetPosition = this.currentPosition;
45
+ }
46
+ else if (this.pendingTargetPosition !== undefined) {
47
+ const reached = Math.abs(this.pendingTargetPosition - this.currentPosition) <= 1;
48
+ const expired = this.pendingTargetExpiresAt > 0 && now > this.pendingTargetExpiresAt;
49
+ if (reached || expired) {
50
+ this.clearPendingTarget(false);
42
51
  this.targetPosition = this.currentPosition;
43
52
  }
44
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
45
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
46
- this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
47
- this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
48
- }
49
- }
50
- if (topic === `${this.context.topic}/state/tilt`) {
51
- const value = parseFloat(message.toString());
52
- if (!Number.isNaN(value)) {
53
- this.currentTiltAngle = this.toTiltAngle(value);
54
- if (Math.abs(this.targetTiltAngle - this.currentTiltAngle) <= 2) {
55
- this.targetTiltAngle = this.currentTiltAngle;
53
+ else {
54
+ this.schedulePendingTimeout(this.pendingTargetPosition, this.currentPosition);
56
55
  }
57
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentHorizontalTiltAngle, this.currentTiltAngle);
58
- this.service.updateCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle, this.targetTiltAngle);
59
56
  }
57
+ else {
58
+ this.targetPosition = this.currentPosition;
59
+ }
60
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
61
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
62
+ this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
60
63
  }
61
- if (topic === `${this.context.topic}/state/connected`) {
62
- this.connected = message.toString() === 'true';
63
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
64
+ });
65
+ this.platform.registerMqttHandler(`${this.context.topic}/state/tilt`, (message) => {
66
+ const value = parseFloat(message.toString());
67
+ if (!Number.isNaN(value)) {
68
+ this.currentTiltAngle = this.toTiltAngle(value);
69
+ if (Math.abs(this.targetTiltAngle - this.currentTiltAngle) <= 2) {
70
+ this.targetTiltAngle = this.currentTiltAngle;
71
+ }
72
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentHorizontalTiltAngle, this.currentTiltAngle);
73
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle, this.targetTiltAngle);
64
74
  }
65
75
  });
76
+ this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
77
+ this.connected = this.platform.parseBoolean(message.toString());
78
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
79
+ });
66
80
  }
67
81
  async handleCurrentPositionGet() {
68
82
  return this.currentPosition;
@@ -84,6 +98,13 @@ class FacadeBlindAccessory {
84
98
  }
85
99
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
86
100
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
101
+ if (this.targetPosition !== this.currentPosition) {
102
+ this.pendingTargetPosition = this.targetPosition;
103
+ this.schedulePendingTimeout(this.targetPosition, this.currentPosition);
104
+ }
105
+ else {
106
+ this.clearPendingTarget(false);
107
+ }
87
108
  const controlMode = this.platform.getCoveringControlMode();
88
109
  const shutValue = this.toShut(this.targetPosition).toString();
89
110
  if (controlMode === 'set' || controlMode === 'hybrid') {
@@ -96,9 +117,12 @@ class FacadeBlindAccessory {
96
117
  });
97
118
  }
98
119
  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`;
120
+ const actionTopic = `${this.context.topic}/execute_action`;
121
+ if (controlMode === 'hybrid' && this.targetPosition !== 0 && this.targetPosition !== 100) {
122
+ return;
123
+ }
124
+ const action = this.resolveAction(this.targetPosition, this.currentPosition);
125
+ if (action) {
102
126
  this.platform.log.debug(`Publishing ${actionTopic} = ${action}`);
103
127
  this.platform.MqttClient.client.publish(actionTopic, action, (error) => {
104
128
  if (error) {
@@ -106,11 +130,48 @@ class FacadeBlindAccessory {
106
130
  }
107
131
  });
108
132
  }
109
- else if (controlMode === 'execute_action') {
110
- this.platform.log.warn(`Covering control mode execute_action does not support partial positions (${this.targetPosition}).`);
133
+ if (controlMode === 'execute_action') {
134
+ this.scheduleStopIfNeeded(this.targetPosition, this.currentPosition);
111
135
  }
112
136
  }
113
137
  }
138
+ schedulePendingTimeout(target, current) {
139
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
140
+ const delta = Math.abs(target - current);
141
+ let timeoutMs = 15000;
142
+ if (travelTimeSeconds > 0 && delta > 0) {
143
+ timeoutMs = Math.round((delta / 100) * travelTimeSeconds * 1000) + 1000;
144
+ }
145
+ if (timeoutMs <= 0) {
146
+ return;
147
+ }
148
+ this.pendingTargetExpiresAt = Date.now() + timeoutMs;
149
+ if (this.pendingTargetTimer) {
150
+ clearTimeout(this.pendingTargetTimer);
151
+ }
152
+ this.pendingTargetTimer = setTimeout(() => {
153
+ this.pendingTargetTimer = undefined;
154
+ this.pendingTargetPosition = undefined;
155
+ this.pendingTargetExpiresAt = 0;
156
+ if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
157
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
158
+ this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
159
+ }
160
+ this.platform.log.debug(`No state updates for ${this.accessory.displayName} within ${timeoutMs}ms; marking STOPPED.`);
161
+ }, timeoutMs);
162
+ }
163
+ clearPendingTarget(syncTarget) {
164
+ if (this.pendingTargetTimer) {
165
+ clearTimeout(this.pendingTargetTimer);
166
+ this.pendingTargetTimer = undefined;
167
+ }
168
+ this.pendingTargetPosition = undefined;
169
+ this.pendingTargetExpiresAt = 0;
170
+ if (syncTarget) {
171
+ this.targetPosition = this.currentPosition;
172
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
173
+ }
174
+ }
114
175
  async handlePositionStateGet() {
115
176
  return this.positionState;
116
177
  }
@@ -148,6 +209,41 @@ class FacadeBlindAccessory {
148
209
  clamp(value, min, max) {
149
210
  return Math.min(Math.max(value, min), max);
150
211
  }
212
+ resolveAction(target, current) {
213
+ if (target > current) {
214
+ return this.platform.getCoveringExecuteActionOpen();
215
+ }
216
+ if (target < current) {
217
+ return this.platform.getCoveringExecuteActionClose();
218
+ }
219
+ const stopAction = this.platform.getCoveringExecuteActionStop();
220
+ return stopAction ? stopAction : null;
221
+ }
222
+ scheduleStopIfNeeded(target, current) {
223
+ const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
224
+ const stopAction = this.platform.getCoveringExecuteActionStop();
225
+ if (!travelTimeSeconds || !stopAction || target === current) {
226
+ if (this.stopTimer) {
227
+ clearTimeout(this.stopTimer);
228
+ this.stopTimer = undefined;
229
+ }
230
+ return;
231
+ }
232
+ const proportion = Math.abs(target - current) / 100;
233
+ const delayMs = Math.max(250, Math.round(proportion * travelTimeSeconds * 1000));
234
+ if (this.stopTimer) {
235
+ clearTimeout(this.stopTimer);
236
+ }
237
+ this.stopTimer = setTimeout(() => {
238
+ const actionTopic = `${this.context.topic}/execute_action`;
239
+ this.platform.log.debug(`Publishing ${actionTopic} = ${stopAction} (auto-stop)`);
240
+ this.platform.MqttClient.client.publish(actionTopic, stopAction, (error) => {
241
+ if (error) {
242
+ this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
243
+ }
244
+ });
245
+ }, delayMs);
246
+ }
151
247
  }
152
248
  exports.FacadeBlindAccessory = FacadeBlindAccessory;
153
249
  //# sourceMappingURL=FacadeBlindAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GarageDoorOpenerAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,wBAAwB;IAM7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAwD;IACrE,OAAO,CAAC,SAAS,CAAQ;gBAGF,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAwC7C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB;IAqBxB,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAInE"}
1
+ {"version":3,"file":"GarageDoorOpenerAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,wBAAwB;IAM7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAwD;IACrE,OAAO,CAAC,SAAS,CAAQ;gBAGF,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA2C7C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB;IAqBxB,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAInE"}
@@ -21,19 +21,16 @@ class GarageDoorOpenerAccesory {
21
21
  .onSet(this.handleTargetDoorStateSet.bind(this));
22
22
  this.service.getCharacteristic(this.platform.Characteristic.ObstructionDetected)
23
23
  .onGet(this.handleObstructionDetectedGet.bind(this));
24
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/hi`);
25
- this.platform.MqttClient.client.subscribe(`${this.context.topic}/state/connected`);
26
- this.platform.MqttClient.client.on('message', (topic, message) => {
27
- if (topic === `${this.context.topic}/state/hi`) {
28
- this.platform.log.info(`Door ${this.context.channelCaption} state changed to ${message.toString()}`);
29
- this.state = message.toString() === 'true'
30
- ? this.platform.Characteristic.CurrentDoorState.CLOSED : this.platform.Characteristic.CurrentDoorState.OPEN;
31
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.state);
32
- }
33
- if (topic === `${this.context.topic}/state/connected`) {
34
- this.connected = message.toString() === 'true';
35
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
36
- }
24
+ this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message) => {
25
+ this.platform.log.info(`Door ${this.context.channelCaption} state changed to ${message.toString()}`);
26
+ this.state = this.platform.parseBoolean(message.toString())
27
+ ? this.platform.Characteristic.CurrentDoorState.CLOSED
28
+ : this.platform.Characteristic.CurrentDoorState.OPEN;
29
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.state);
30
+ });
31
+ this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
32
+ this.connected = this.platform.parseBoolean(message.toString());
33
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
37
34
  });
38
35
  }
39
36
  async handleCurrentDoorStateGet() {
@@ -1 +1 @@
1
- {"version":3,"file":"GarageDoorOpenerAccesory.js","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GarageDoorOpenerAccesory.js","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
+ import { SuplaPlatform } from '../platform';
3
+ import { SuplaChannelContext } from '../Heplers/SuplaChannelContext';
4
+ export declare class GateAccessory {
5
+ private readonly platform;
6
+ private readonly accessory;
7
+ private readonly context;
8
+ private service;
9
+ private currentState;
10
+ private targetState;
11
+ private connected;
12
+ private hi;
13
+ private partialHi;
14
+ constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
15
+ handleCurrentDoorStateGet(): Promise<CharacteristicValue>;
16
+ handleTargetDoorStateGet(): Promise<CharacteristicValue>;
17
+ handleTargetDoorStateSet(value: CharacteristicValue): Promise<void>;
18
+ handleObstructionDetectedGet(): Promise<CharacteristicValue>;
19
+ private updateStates;
20
+ }
21
+ //# sourceMappingURL=GateAccessory.d.ts.map
@@ -0,0 +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;AAErE,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,SAAS,CAAS;gBAGP,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAkDzC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB,CAAC,KAAK,EAAE,mBAAmB;IAiCnD,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,YAAY;CAgBrB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GateAccessory = void 0;
4
+ class GateAccessory {
5
+ constructor(platform, accessory, context) {
6
+ this.platform = platform;
7
+ this.accessory = accessory;
8
+ this.context = context;
9
+ this.currentState = this.platform.Characteristic.CurrentDoorState.CLOSED;
10
+ this.targetState = this.platform.Characteristic.TargetDoorState.CLOSED;
11
+ this.connected = true;
12
+ this.hi = false;
13
+ this.partialHi = false;
14
+ this.accessory.getService(this.platform.Service.AccessoryInformation)
15
+ .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
16
+ .setCharacteristic(this.platform.Characteristic.Model, 'GateController');
17
+ const legacyDoor = this.accessory.getService(this.platform.Service.Door);
18
+ if (legacyDoor) {
19
+ this.accessory.removeService(legacyDoor);
20
+ }
21
+ this.service = this.accessory.getService(this.platform.Service.GarageDoorOpener)
22
+ || this.accessory.addService(this.platform.Service.GarageDoorOpener);
23
+ this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
24
+ this.service.getCharacteristic(this.platform.Characteristic.CurrentDoorState)
25
+ .onGet(this.handleCurrentDoorStateGet.bind(this));
26
+ this.service.getCharacteristic(this.platform.Characteristic.TargetDoorState)
27
+ .onGet(this.handleTargetDoorStateGet.bind(this))
28
+ .onSet(this.handleTargetDoorStateSet.bind(this));
29
+ this.service.getCharacteristic(this.platform.Characteristic.ObstructionDetected)
30
+ .onGet(this.handleObstructionDetectedGet.bind(this));
31
+ this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message) => {
32
+ this.hi = this.platform.parseBoolean(message.toString());
33
+ this.updateStates();
34
+ });
35
+ this.platform.registerMqttHandler(`${this.context.topic}/state/partial_hi`, (message) => {
36
+ this.partialHi = this.platform.parseBoolean(message.toString());
37
+ this.updateStates();
38
+ });
39
+ this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
40
+ this.connected = this.platform.parseBoolean(message.toString());
41
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
42
+ });
43
+ }
44
+ async handleCurrentDoorStateGet() {
45
+ return this.currentState;
46
+ }
47
+ async handleTargetDoorStateGet() {
48
+ return this.targetState;
49
+ }
50
+ async handleTargetDoorStateSet(value) {
51
+ const target = value;
52
+ this.targetState = target;
53
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetDoorState, this.targetState);
54
+ const mode = this.platform.getGateControlMode();
55
+ let action = '';
56
+ if (mode === 'toggle') {
57
+ action = this.platform.getGateExecuteActionToggle();
58
+ }
59
+ else {
60
+ action = target === this.platform.Characteristic.TargetDoorState.OPEN
61
+ ? this.platform.getGateExecuteActionOpen()
62
+ : this.platform.getGateExecuteActionClose();
63
+ }
64
+ if (!action) {
65
+ this.platform.log.warn(`Gate action not configured for ${this.accessory.displayName}`);
66
+ return;
67
+ }
68
+ this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = ${action}`);
69
+ this.platform.MqttClient.client.publish(`${this.context.topic}/execute_action`, action);
70
+ this.currentState = target === this.platform.Characteristic.TargetDoorState.OPEN
71
+ ? this.platform.Characteristic.CurrentDoorState.OPENING
72
+ : this.platform.Characteristic.CurrentDoorState.CLOSING;
73
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.currentState);
74
+ }
75
+ async handleObstructionDetectedGet() {
76
+ return 0;
77
+ }
78
+ updateStates() {
79
+ if (this.partialHi) {
80
+ this.currentState = this.platform.Characteristic.CurrentDoorState.STOPPED;
81
+ this.targetState = this.hi
82
+ ? this.platform.Characteristic.TargetDoorState.CLOSED
83
+ : this.platform.Characteristic.TargetDoorState.OPEN;
84
+ }
85
+ else if (this.hi) {
86
+ this.currentState = this.platform.Characteristic.CurrentDoorState.CLOSED;
87
+ this.targetState = this.platform.Characteristic.TargetDoorState.CLOSED;
88
+ }
89
+ else {
90
+ this.currentState = this.platform.Characteristic.CurrentDoorState.OPEN;
91
+ this.targetState = this.platform.Characteristic.TargetDoorState.OPEN;
92
+ }
93
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.currentState);
94
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetDoorState, this.targetState);
95
+ }
96
+ }
97
+ exports.GateAccessory = GateAccessory;
98
+ //# sourceMappingURL=GateAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GateAccessory.js","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
+ import { SuplaPlatform } from '../platform';
3
+ import { SuplaChannelContext } from '../Heplers/SuplaChannelContext';
4
+ export declare class GateLockAccessory {
5
+ private readonly platform;
6
+ private readonly accessory;
7
+ private readonly context;
8
+ private service;
9
+ private currentState;
10
+ private targetState;
11
+ private connected;
12
+ private pulseTimer?;
13
+ constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
14
+ handleCurrentStateGet(): Promise<CharacteristicValue>;
15
+ handleTargetStateGet(): Promise<CharacteristicValue>;
16
+ handleTargetStateSet(value: CharacteristicValue): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=GateLockAccessory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GateLockAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateLockAccessory.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;AAErE,qBAAa,iBAAiB;IAQ1B,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,YAAY,CAAyD;IAC7E,OAAO,CAAC,WAAW,CAAwD;IAC3E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAkDzC,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIrD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;CAiDtD"}