@marcel2215/homebridge-supla-plugin 2.1.32 → 2.1.33

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 (120) hide show
  1. package/README.md +1 -67
  2. package/config.json +3 -0
  3. package/config.schema.json +75 -92
  4. package/dist/Accesories/ActionTriggerAccessory.d.ts +1 -0
  5. package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
  6. package/dist/Accesories/ActionTriggerAccessory.js +9 -15
  7. package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
  8. package/dist/Accesories/AirQualityAccessory.d.ts +1 -3
  9. package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
  10. package/dist/Accesories/AirQualityAccessory.js +5 -47
  11. package/dist/Accesories/AirQualityAccessory.js.map +1 -1
  12. package/dist/Accesories/ContactSensorAccessory.d.ts +1 -3
  13. package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
  14. package/dist/Accesories/ContactSensorAccessory.js +4 -32
  15. package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
  16. package/dist/Accesories/DimmerAccessory.d.ts +3 -7
  17. package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
  18. package/dist/Accesories/DimmerAccessory.js +16 -84
  19. package/dist/Accesories/DimmerAccessory.js.map +1 -1
  20. package/dist/Accesories/DimmerRgbLightAccessory.d.ts +3 -11
  21. package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
  22. package/dist/Accesories/DimmerRgbLightAccessory.js +26 -148
  23. package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
  24. package/dist/Accesories/DoorAccessory.d.ts +1 -14
  25. package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
  26. package/dist/Accesories/DoorAccessory.js +20 -146
  27. package/dist/Accesories/DoorAccessory.js.map +1 -1
  28. package/dist/Accesories/ElectricityMeterAccessory.d.ts +1 -13
  29. package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
  30. package/dist/Accesories/ElectricityMeterAccessory.js +12 -127
  31. package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
  32. package/dist/Accesories/FacadeBlindAccessory.d.ts +0 -6
  33. package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
  34. package/dist/Accesories/FacadeBlindAccessory.js +64 -205
  35. package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
  36. package/dist/Accesories/FrontGateFsm.d.ts +68 -74
  37. package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
  38. package/dist/Accesories/FrontGateFsm.js +403 -563
  39. package/dist/Accesories/FrontGateFsm.js.map +1 -1
  40. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +3 -12
  41. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
  42. package/dist/Accesories/GarageDoorOpenerAccesory.js +21 -168
  43. package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
  44. package/dist/Accesories/GateAccessory.d.ts +2 -12
  45. package/dist/Accesories/GateAccessory.d.ts.map +1 -1
  46. package/dist/Accesories/GateAccessory.js +89 -258
  47. package/dist/Accesories/GateAccessory.js.map +1 -1
  48. package/dist/Accesories/GateLockAccessory.d.ts +1 -17
  49. package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
  50. package/dist/Accesories/GateLockAccessory.js +50 -375
  51. package/dist/Accesories/GateLockAccessory.js.map +1 -1
  52. package/dist/Accesories/LeakSensorAccessory.d.ts +1 -3
  53. package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
  54. package/dist/Accesories/LeakSensorAccessory.js +4 -32
  55. package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
  56. package/dist/Accesories/LightBulbAccesory.d.ts +3 -4
  57. package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
  58. package/dist/Accesories/LightBulbAccesory.js +12 -40
  59. package/dist/Accesories/LightBulbAccesory.js.map +1 -1
  60. package/dist/Accesories/PressureAccessory.d.ts +1 -3
  61. package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
  62. package/dist/Accesories/PressureAccessory.js +5 -28
  63. package/dist/Accesories/PressureAccessory.js.map +1 -1
  64. package/dist/Accesories/RGBLightBulbAccesory.d.ts +1 -10
  65. package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
  66. package/dist/Accesories/RGBLightBulbAccesory.js +17 -136
  67. package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
  68. package/dist/Accesories/RollerShutterAccessory.d.ts +0 -6
  69. package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
  70. package/dist/Accesories/RollerShutterAccessory.js +75 -221
  71. package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
  72. package/dist/Accesories/SwitchAccessory.d.ts +3 -4
  73. package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
  74. package/dist/Accesories/SwitchAccessory.js +12 -40
  75. package/dist/Accesories/SwitchAccessory.js.map +1 -1
  76. package/dist/Accesories/TemperatureAccessory.d.ts +1 -3
  77. package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
  78. package/dist/Accesories/TemperatureAccessory.js +5 -28
  79. package/dist/Accesories/TemperatureAccessory.js.map +1 -1
  80. package/dist/Accesories/TemperatureHumidityAccessory.d.ts +1 -5
  81. package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
  82. package/dist/Accesories/TemperatureHumidityAccessory.js +9 -40
  83. package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
  84. package/dist/Accesories/ThermostatAccessory.d.ts +1 -18
  85. package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
  86. package/dist/Accesories/ThermostatAccessory.js +34 -193
  87. package/dist/Accesories/ThermostatAccessory.js.map +1 -1
  88. package/dist/Accesories/ValveAccessory.d.ts +2 -5
  89. package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
  90. package/dist/Accesories/ValveAccessory.js +8 -47
  91. package/dist/Accesories/ValveAccessory.js.map +1 -1
  92. package/dist/Accesories/WicketAccesory.d.ts +3 -18
  93. package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
  94. package/dist/Accesories/WicketAccesory.js +14 -154
  95. package/dist/Accesories/WicketAccesory.js.map +1 -1
  96. package/dist/Heplers/ColorConverters.d.ts +2 -2
  97. package/dist/Heplers/ColorConverters.d.ts.map +1 -1
  98. package/dist/Heplers/ColorConverters.js +3 -7
  99. package/dist/Heplers/ColorConverters.js.map +1 -1
  100. package/dist/Heplers/SuplaChannelContext.d.ts +1 -3
  101. package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
  102. package/dist/Heplers/SuplaChannelContext.js +1 -3
  103. package/dist/Heplers/SuplaChannelContext.js.map +1 -1
  104. package/dist/Heplers/SuplaMqttClient.d.ts +3 -11
  105. package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
  106. package/dist/Heplers/SuplaMqttClient.js +112 -215
  107. package/dist/Heplers/SuplaMqttClient.js.map +1 -1
  108. package/dist/Heplers/SuplaMqttClientContext.d.ts +1 -2
  109. package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
  110. package/dist/Heplers/SuplaMqttClientContext.js +1 -2
  111. package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
  112. package/dist/platform.d.ts +36 -93
  113. package/dist/platform.d.ts.map +1 -1
  114. package/dist/platform.js +236 -1285
  115. package/dist/platform.js.map +1 -1
  116. package/package.json +5 -10
  117. package/dist/Heplers/DisplayName.d.ts +0 -15
  118. package/dist/Heplers/DisplayName.d.ts.map +0 -1
  119. package/dist/Heplers/DisplayName.js +0 -174
  120. package/dist/Heplers/DisplayName.js.map +0 -1
@@ -9,19 +9,16 @@ class DoorAccessory {
9
9
  this.currentPosition = 0;
10
10
  this.targetPosition = 0;
11
11
  this.positionState = this.platform.Characteristic.PositionState.STOPPED;
12
- this.connected = false;
13
- this.hasPosition = false;
14
- this.hasHi = false;
15
- this.hasPartialHi = false;
12
+ this.connected = true;
16
13
  this.hi = false;
17
14
  this.partialHi = false;
18
- this.hiRevision = 0;
19
- this.partialHiRevision = 0;
20
- this.pendingHiRevision = 0;
21
- this.pendingPartialHiRevision = 0;
22
15
  this.accessory.getService(this.platform.Service.AccessoryInformation)
23
16
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
24
17
  .setCharacteristic(this.platform.Characteristic.Model, 'DoorController');
18
+ const legacyGarage = this.accessory.getService(this.platform.Service.GarageDoorOpener);
19
+ if (legacyGarage) {
20
+ this.accessory.removeService(legacyGarage);
21
+ }
25
22
  this.service = this.accessory.getService(this.platform.Service.Door)
26
23
  || this.accessory.addService(this.platform.Service.Door);
27
24
  this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
@@ -32,80 +29,27 @@ class DoorAccessory {
32
29
  .onSet(this.handleTargetPositionSet.bind(this));
33
30
  this.service.getCharacteristic(this.platform.Characteristic.PositionState)
34
31
  .onGet(this.handlePositionStateGet.bind(this));
35
- this.platform.registerOwnerCleanup?.(this.accessory.UUID, () => this.clearPendingTimer());
36
- this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message, _topic, packet) => {
37
- if (this.pendingTimer && packet?.retain === true) {
38
- return;
39
- }
40
- const hi = this.platform.parseBooleanStrict(message.toString());
41
- if (hi === undefined) {
42
- return;
43
- }
44
- this.hi = hi;
45
- this.hasHi = true;
46
- if (packet?.retain !== true) {
47
- this.hiRevision += 1;
48
- }
49
- if (this.hasPartialHi && this.hasCoherentPendingSnapshot()) {
50
- this.updatePositionsFromState();
51
- }
32
+ this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message) => {
33
+ this.hi = this.platform.parseBoolean(message.toString());
34
+ this.updatePositionsFromState();
52
35
  }, this.accessory.UUID);
53
- this.platform.registerMqttHandler(`${this.context.topic}/state/partial_hi`, (message, _topic, packet) => {
54
- if (this.pendingTimer && packet?.retain === true) {
55
- return;
56
- }
57
- const partialHi = this.platform.parseBooleanStrict(message.toString());
58
- if (partialHi === undefined) {
59
- return;
60
- }
61
- this.partialHi = partialHi;
62
- this.hasPartialHi = true;
63
- if (packet?.retain !== true) {
64
- this.partialHiRevision += 1;
65
- }
66
- if (this.hasHi && this.hasCoherentPendingSnapshot()) {
67
- this.updatePositionsFromState();
68
- }
36
+ this.platform.registerMqttHandler(`${this.context.topic}/state/partial_hi`, (message) => {
37
+ this.partialHi = this.platform.parseBoolean(message.toString());
38
+ this.updatePositionsFromState();
69
39
  }, this.accessory.UUID);
70
40
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
71
- const connected = this.platform.parseBooleanStrict(message.toString());
72
- if (connected === undefined) {
73
- return;
74
- }
75
- this.connected = connected;
76
- if (!connected) {
77
- this.invalidateState();
78
- }
79
- }, this.accessory.UUID);
80
- this.platform.registerMqttTransportHandler?.((transportConnected) => {
81
- if (!transportConnected) {
82
- this.connected = false;
83
- this.invalidateState();
84
- }
41
+ this.connected = this.platform.parseBoolean(message.toString());
42
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
85
43
  }, this.accessory.UUID);
86
44
  }
87
45
  async handleCurrentPositionGet() {
88
- this.assertAvailable();
89
46
  return this.currentPosition;
90
47
  }
91
48
  async handleTargetPositionGet() {
92
- this.assertAvailable();
93
49
  return this.targetPosition;
94
50
  }
95
51
  async handleTargetPositionSet(value) {
96
- const target = value;
97
- if (!Number.isFinite(target) || (target !== 0 && target !== 100)) {
98
- throw new this.platform.api.hap.HapStatusError(-70410 /* this.platform.api.hap.HAPStatus.INVALID_VALUE_IN_REQUEST */);
99
- }
100
- if (this.pendingTarget !== undefined) {
101
- throw new this.platform.api.hap.HapStatusError(-70403 /* this.platform.api.hap.HAPStatus.RESOURCE_BUSY */);
102
- }
103
- this.assertAvailable();
104
- if (target === this.currentPosition) {
105
- return;
106
- }
107
- const previousTarget = this.targetPosition;
108
- const previousState = this.positionState;
52
+ const target = this.clamp(value, 0, 100);
109
53
  this.targetPosition = target;
110
54
  if (this.targetPosition > this.currentPosition) {
111
55
  this.positionState = this.platform.Characteristic.PositionState.INCREASING;
@@ -118,39 +62,14 @@ class DoorAccessory {
118
62
  }
119
63
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
120
64
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
121
- const action = this.targetPosition === 0 ? 'close' : 'open';
122
- this.pendingTarget = target;
123
- this.pendingHiRevision = this.hiRevision;
124
- this.pendingPartialHiRevision = this.partialHiRevision;
125
- this.armPendingTimer();
65
+ const action = this.targetPosition <= 10 ? 'close' : 'open';
126
66
  this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = ${action}`);
127
- try {
128
- await this.platform.publishActionAsync(`${this.context.topic}/execute_action`, action);
129
- }
130
- catch (error) {
131
- if (this.platform.isPublishCompletionUnknown?.(error)) {
132
- throw error;
133
- }
134
- if (this.pendingTarget === undefined) {
135
- // A fresh two-sensor snapshot can confirm the physical result before
136
- // the MQTT callback reports an error. Keep that authoritative state.
137
- throw error;
138
- }
139
- this.pendingTarget = undefined;
140
- this.clearPendingTimer();
141
- this.targetPosition = previousTarget;
142
- this.positionState = previousState;
143
- this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
144
- this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
145
- throw error;
146
- }
67
+ this.platform.publishCommand(`${this.context.topic}/execute_action`, action);
147
68
  }
148
69
  async handlePositionStateGet() {
149
- this.assertAvailable();
150
70
  return this.positionState;
151
71
  }
152
72
  updatePositionsFromState() {
153
- this.hasPosition = true;
154
73
  if (this.hi) {
155
74
  this.currentPosition = 0;
156
75
  }
@@ -160,59 +79,14 @@ class DoorAccessory {
160
79
  else {
161
80
  this.currentPosition = 100;
162
81
  }
163
- if (this.pendingTarget === undefined || this.currentPosition === this.pendingTarget) {
164
- this.pendingTarget = undefined;
165
- this.clearPendingTimer();
166
- this.targetPosition = this.currentPosition;
167
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
168
- }
169
- else {
170
- this.targetPosition = this.pendingTarget;
171
- this.positionState = this.targetPosition > this.currentPosition
172
- ? this.platform.Characteristic.PositionState.INCREASING
173
- : this.platform.Characteristic.PositionState.DECREASING;
174
- this.pendingHiRevision = this.hiRevision;
175
- this.pendingPartialHiRevision = this.partialHiRevision;
176
- }
82
+ this.targetPosition = this.currentPosition;
83
+ this.positionState = this.platform.Characteristic.PositionState.STOPPED;
177
84
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
178
85
  this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
179
86
  this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
180
87
  }
181
- assertAvailable() {
182
- if (!this.connected || !this.hasPosition) {
183
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
184
- }
185
- }
186
- hasCoherentPendingSnapshot() {
187
- return this.pendingTarget === undefined
188
- || (this.hiRevision > this.pendingHiRevision
189
- && this.partialHiRevision > this.pendingPartialHiRevision);
190
- }
191
- armPendingTimer() {
192
- this.clearPendingTimer();
193
- this.pendingTimer = setTimeout(() => {
194
- this.pendingTimer = undefined;
195
- this.pendingTarget = undefined;
196
- this.targetPosition = this.currentPosition;
197
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
198
- this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
199
- this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
200
- this.platform.log.warn(`Door ${this.accessory.displayName} did not report a confirming state within 15000ms.`);
201
- }, 15000);
202
- }
203
- clearPendingTimer() {
204
- if (this.pendingTimer) {
205
- clearTimeout(this.pendingTimer);
206
- this.pendingTimer = undefined;
207
- }
208
- }
209
- invalidateState() {
210
- this.hasPosition = false;
211
- this.hasHi = false;
212
- this.hasPartialHi = false;
213
- this.pendingTarget = undefined;
214
- this.clearPendingTimer();
215
- this.positionState = this.platform.Characteristic.PositionState.STOPPED;
88
+ clamp(value, min, max) {
89
+ return Math.min(Math.max(value, min), max);
216
90
  }
217
91
  }
218
92
  exports.DoorAccessory = DoorAccessory;
@@ -1 +1 @@
1
- {"version":3,"file":"DoorAccessory.js","sourceRoot":"","sources":["../../src/Accesories/DoorAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DoorAccessory.js","sourceRoot":"","sources":["../../src/Accesories/DoorAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAa;IASxB,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,cAAS,GAAG,IAAI,CAAC;QACjB,OAAE,GAAG,KAAK,CAAC;QACX,cAAS,GAAG,KAAK,CAAC;QAOxB,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,gBAAgB,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;eAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3D,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;QAEjD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAChC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB,EACxC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,EACvC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,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;QACJ,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;IACJ,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,IAAI,CAAC,KAAK,CAAC,KAAe,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7E,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QAC1E,CAAC;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;QAElG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,EACtC,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,wBAAwB;QAC9B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACtG,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;IACpG,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;AApHD,sCAoHC"}
@@ -8,22 +8,10 @@ export declare class ElectricityMeterAccessory {
8
8
  private service;
9
9
  private value;
10
10
  private connected;
11
- private hasValue;
12
- private selectedMetric?;
13
- private readonly metricValues;
14
- private readonly metricSelectionCandidates;
15
- private metricSelectionMaxTimer?;
16
- private metricSelectionMaxWaitMs;
11
+ private selectedMetricIndex;
17
12
  private readonly metricPriority;
18
13
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
19
14
  handleValueGet(): Promise<CharacteristicValue>;
20
15
  private clamp;
21
- private armMetricSelectionTimers;
22
- private finalizeMetricSelection;
23
- private applySelectedMetricValue;
24
- private invalidateMetricEpoch;
25
- private clearMetricSelectionTimers;
26
- private updateServiceLabel;
27
- private updateFault;
28
16
  }
29
17
  //# sourceMappingURL=ElectricityMeterAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElectricityMeterAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ElectricityMeterAccessory.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;AAGrE,qBAAa,yBAAyB;IAuBlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxB1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAqB;IAC/D,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IACjD,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;gBAGiB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAuEzC,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IASpD,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"ElectricityMeterAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ElectricityMeterAccessory.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,yBAAyB;IAkBlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAnB1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;gBAGiB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA+CzC,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,OAAO,CAAC,KAAK;CAGd"}
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ElectricityMeterAccessory = void 0;
4
- const DisplayName_1 = require("../Heplers/DisplayName");
5
4
  class ElectricityMeterAccessory {
6
5
  constructor(platform, accessory, context) {
7
6
  this.platform = platform;
8
7
  this.accessory = accessory;
9
8
  this.context = context;
10
9
  this.value = 0.0001;
11
- this.connected = false;
12
- this.hasValue = false;
13
- this.metricValues = new Map();
14
- this.metricSelectionCandidates = new Set();
15
- this.metricSelectionMaxWaitMs = 4000;
10
+ this.connected = true;
11
+ this.selectedMetricIndex = Number.MAX_SAFE_INTEGER;
16
12
  this.metricPriority = [
17
13
  'total_forward_active_power',
18
14
  'active_power',
@@ -30,143 +26,32 @@ class ElectricityMeterAccessory {
30
26
  this.service = this.accessory.getService(this.platform.Service.LightSensor)
31
27
  || this.accessory.addService(this.platform.Service.LightSensor);
32
28
  this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
33
- const persistedMetric = this.accessory.context.suplaElectricityMetric;
34
- if (typeof persistedMetric === 'string' && this.metricPriority.includes(persistedMetric)) {
35
- this.selectedMetric = persistedMetric;
36
- this.updateServiceLabel();
37
- }
38
- else if (persistedMetric !== undefined) {
39
- this.platform.log.warn(`Ignoring invalid persisted electricity metric for ${this.accessory.displayName}: ` +
40
- `${String(persistedMetric)}`);
41
- }
42
29
  this.service.getCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel)
43
30
  .onGet(this.handleValueGet.bind(this));
44
- this.platform.registerOwnerCleanup(this.accessory.UUID, () => {
45
- this.clearMetricSelectionTimers();
46
- });
47
31
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
48
- const connected = this.platform.parseBooleanStrict(message.toString());
49
- if (connected === undefined) {
50
- return;
51
- }
52
- this.connected = connected;
53
- if (!connected) {
54
- this.invalidateMetricEpoch();
55
- }
56
- this.updateFault();
32
+ this.connected = this.platform.parseBoolean(message.toString());
33
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
57
34
  }, this.accessory.UUID);
58
- this.metricPriority.forEach((key) => {
59
- this.platform.registerMqttHandler(`${this.context.topic}/state/${key}`, (message, _topic, packet) => {
60
- const value = this.platform.parseFiniteNumberStrict(message.toString());
61
- if (value === undefined) {
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)) {
62
39
  return;
63
40
  }
64
- this.metricValues.set(key, value);
65
- if (this.selectedMetric === undefined && packet?.retain === true) {
66
- this.metricSelectionCandidates.add(key);
67
- this.armMetricSelectionTimers();
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);
68
45
  }
69
- this.applySelectedMetricValue();
70
46
  }, this.accessory.UUID);
71
47
  });
72
- this.platform.registerMqttTransportHandler?.((transportConnected) => {
73
- if (!transportConnected) {
74
- this.connected = false;
75
- this.invalidateMetricEpoch();
76
- this.updateFault();
77
- }
78
- }, this.accessory.UUID);
79
- this.updateFault();
80
48
  }
81
49
  async handleValueGet() {
82
- if (!this.connected || !this.hasValue) {
83
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
84
- }
85
50
  return this.value;
86
51
  }
87
52
  clamp(value, min, max) {
88
53
  return Math.min(Math.max(value, min), max);
89
54
  }
90
- armMetricSelectionTimers() {
91
- if (this.selectedMetric !== undefined) {
92
- return;
93
- }
94
- if (!this.metricSelectionMaxTimer) {
95
- // Retained topics are independent MQTT publications. A quiet gap does not
96
- // prove inventory completion, so select only after the full bounded
97
- // collection window and then apply the stable priority order.
98
- this.metricSelectionMaxTimer = setTimeout(() => {
99
- this.finalizeMetricSelection();
100
- }, this.metricSelectionMaxWaitMs);
101
- }
102
- }
103
- finalizeMetricSelection() {
104
- this.clearMetricSelectionTimers();
105
- if (this.selectedMetric !== undefined) {
106
- return;
107
- }
108
- const nextMetric = this.metricPriority.find(metric => this.metricSelectionCandidates.has(metric));
109
- if (!nextMetric) {
110
- return;
111
- }
112
- const previousContextMetric = this.accessory.context.suplaElectricityMetric;
113
- this.accessory.context.suplaElectricityMetric = nextMetric;
114
- try {
115
- // Persist the semantic choice before exposing it. The LightSensor value
116
- // must never silently change units after a restart or retained-message reorder.
117
- this.platform.api.updatePlatformAccessories([this.accessory]);
118
- }
119
- catch (error) {
120
- this.accessory.context.suplaElectricityMetric = previousContextMetric;
121
- this.platform.log.error(`Failed to persist electricity metric selection for ${this.accessory.displayName}: ` +
122
- `${error.message}`);
123
- return;
124
- }
125
- this.selectedMetric = nextMetric;
126
- this.metricSelectionCandidates.clear();
127
- this.updateServiceLabel();
128
- this.applySelectedMetricValue();
129
- }
130
- applySelectedMetricValue() {
131
- if (this.selectedMetric === undefined) {
132
- return;
133
- }
134
- const selectedValue = this.metricValues.get(this.selectedMetric);
135
- if (selectedValue === undefined) {
136
- return;
137
- }
138
- this.value = this.clamp(selectedValue, 0.0001, 100000);
139
- this.hasValue = true;
140
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel, this.value);
141
- this.updateFault();
142
- }
143
- invalidateMetricEpoch() {
144
- this.hasValue = false;
145
- this.metricValues.clear();
146
- if (this.selectedMetric === undefined) {
147
- this.metricSelectionCandidates.clear();
148
- this.clearMetricSelectionTimers();
149
- }
150
- }
151
- clearMetricSelectionTimers() {
152
- if (this.metricSelectionMaxTimer) {
153
- clearTimeout(this.metricSelectionMaxTimer);
154
- this.metricSelectionMaxTimer = undefined;
155
- }
156
- }
157
- updateServiceLabel() {
158
- if (!this.selectedMetric) {
159
- return;
160
- }
161
- const serviceName = (0, DisplayName_1.homeKitElectricityServiceName)(this.accessory.displayName, this.selectedMetric);
162
- this.service.displayName = serviceName;
163
- this.service.setCharacteristic(this.platform.Characteristic.Name, serviceName);
164
- }
165
- updateFault() {
166
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected && this.hasValue
167
- ? this.platform.Characteristic.StatusFault.NO_FAULT
168
- : this.platform.Characteristic.StatusFault.GENERAL_FAULT);
169
- }
170
55
  }
171
56
  exports.ElectricityMeterAccessory = ElectricityMeterAccessory;
172
57
  //# sourceMappingURL=ElectricityMeterAccessory.js.map
@@ -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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"}
@@ -13,7 +13,6 @@ export declare class FacadeBlindAccessory {
13
13
  private targetTiltAngle;
14
14
  private connected;
15
15
  private stopTimer?;
16
- private pendingStop?;
17
16
  private readonly baseTopic;
18
17
  private hasReceivedPosition;
19
18
  private hasReceivedTilt;
@@ -37,7 +36,6 @@ export declare class FacadeBlindAccessory {
37
36
  private clearPendingNoProgressTimeout;
38
37
  private clearPendingTarget;
39
38
  private clearStopTimer;
40
- private cancelStopTimer;
41
39
  private scheduleMotionStopTimer;
42
40
  private clearMotionStopTimer;
43
41
  private disposeTimers;
@@ -57,9 +55,5 @@ export declare class FacadeBlindAccessory {
57
55
  private clamp;
58
56
  private resolveAction;
59
57
  private scheduleStopIfNeeded;
60
- private readPersistedStop;
61
- private setPendingStop;
62
- private resumePendingStop;
63
- private publishPendingStop;
64
58
  }
65
59
  //# 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;AASrE,qBAAa,oBAAoB;IAuB7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxB1B,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,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAC5C,OAAO,CAAC,sBAAsB,CAAC,CAAiB;IAChD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAK;gBAGX,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAsIzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAyGlD,qBAAqB,CAAC,KAAK,EAAE,mBAAmB;IA+BtD,OAAO,CAAC,eAAe;IA0FvB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,gCAAgC;IAgCxC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,gBAAgB;IAmBlB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKtD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKpD,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKnD,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAoBpD,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,mBAAmB;IAQ3B,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;IAkB5B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,iBAAiB;YAYX,kBAAkB;CAyBjC"}
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;IAsB7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAvB1B,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,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAC5C,OAAO,CAAC,sBAAsB,CAAC,CAAiB;IAChD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAK;gBAGX,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA2HzC,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKxD,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKvD,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IA6DlD,qBAAqB,CAAC,KAAK,EAAE,mBAAmB;IAkCtD,OAAO,CAAC,eAAe;IAiFvB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,gCAAgC;IAgCxC,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,gBAAgB;IAqBlB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKtD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKpD,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKnD,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAkBpD,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,mBAAmB;IAQ3B,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"}