@marcel2215/homebridge-supla-plugin 2.1.31 → 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.
- package/README.md +1 -67
- package/config.json +3 -0
- package/config.schema.json +75 -92
- package/dist/Accesories/ActionTriggerAccessory.d.ts +1 -0
- package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
- package/dist/Accesories/ActionTriggerAccessory.js +9 -15
- package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
- package/dist/Accesories/AirQualityAccessory.d.ts +1 -3
- package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
- package/dist/Accesories/AirQualityAccessory.js +5 -47
- package/dist/Accesories/AirQualityAccessory.js.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.d.ts +1 -3
- package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.js +4 -32
- package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
- package/dist/Accesories/DimmerAccessory.d.ts +3 -5
- package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerAccessory.js +14 -50
- package/dist/Accesories/DimmerAccessory.js.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts +3 -11
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.js +26 -148
- package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
- package/dist/Accesories/DoorAccessory.d.ts +1 -14
- package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
- package/dist/Accesories/DoorAccessory.js +20 -146
- package/dist/Accesories/DoorAccessory.js.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.d.ts +1 -13
- package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.js +12 -127
- package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.d.ts +0 -6
- package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.js +64 -205
- package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
- package/dist/Accesories/FrontGateFsm.d.ts +68 -74
- package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
- package/dist/Accesories/FrontGateFsm.js +403 -563
- package/dist/Accesories/FrontGateFsm.js.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +3 -12
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.js +21 -168
- package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
- package/dist/Accesories/GateAccessory.d.ts +2 -12
- package/dist/Accesories/GateAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateAccessory.js +89 -258
- package/dist/Accesories/GateAccessory.js.map +1 -1
- package/dist/Accesories/GateLockAccessory.d.ts +1 -17
- package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateLockAccessory.js +50 -375
- package/dist/Accesories/GateLockAccessory.js.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.d.ts +1 -3
- package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.js +4 -32
- package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
- package/dist/Accesories/LightBulbAccesory.d.ts +3 -4
- package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/LightBulbAccesory.js +12 -40
- package/dist/Accesories/LightBulbAccesory.js.map +1 -1
- package/dist/Accesories/PressureAccessory.d.ts +1 -3
- package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
- package/dist/Accesories/PressureAccessory.js +5 -28
- package/dist/Accesories/PressureAccessory.js.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.d.ts +1 -10
- package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.js +17 -136
- package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.d.ts +0 -6
- package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.js +75 -221
- package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
- package/dist/Accesories/SwitchAccessory.d.ts +3 -4
- package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
- package/dist/Accesories/SwitchAccessory.js +12 -40
- package/dist/Accesories/SwitchAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureAccessory.d.ts +1 -3
- package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureAccessory.js +5 -28
- package/dist/Accesories/TemperatureAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts +1 -5
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.js +9 -40
- package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
- package/dist/Accesories/ThermostatAccessory.d.ts +1 -18
- package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
- package/dist/Accesories/ThermostatAccessory.js +34 -193
- package/dist/Accesories/ThermostatAccessory.js.map +1 -1
- package/dist/Accesories/ValveAccessory.d.ts +2 -5
- package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
- package/dist/Accesories/ValveAccessory.js +8 -47
- package/dist/Accesories/ValveAccessory.js.map +1 -1
- package/dist/Accesories/WicketAccesory.d.ts +3 -18
- package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
- package/dist/Accesories/WicketAccesory.js +14 -154
- package/dist/Accesories/WicketAccesory.js.map +1 -1
- package/dist/Heplers/ColorConverters.d.ts +2 -2
- package/dist/Heplers/ColorConverters.d.ts.map +1 -1
- package/dist/Heplers/ColorConverters.js +3 -7
- package/dist/Heplers/ColorConverters.js.map +1 -1
- package/dist/Heplers/SuplaChannelContext.d.ts +1 -3
- package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaChannelContext.js +1 -3
- package/dist/Heplers/SuplaChannelContext.js.map +1 -1
- package/dist/Heplers/SuplaMqttClient.d.ts +3 -11
- package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClient.js +112 -215
- package/dist/Heplers/SuplaMqttClient.js.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.d.ts +1 -2
- package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.js +1 -2
- package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
- package/dist/platform.d.ts +36 -93
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +236 -1285
- package/dist/platform.js.map +1 -1
- package/package.json +5 -10
- package/dist/Heplers/DisplayName.d.ts +0 -15
- package/dist/Heplers/DisplayName.d.ts.map +0 -1
- package/dist/Heplers/DisplayName.js +0 -174
- package/dist/Heplers/DisplayName.js.map +0 -1
|
@@ -10,12 +10,9 @@ class ThermostatAccessory {
|
|
|
10
10
|
this.targetTemperature = 20;
|
|
11
11
|
this.targetState = this.platform.Characteristic.TargetHeatingCoolingState.OFF;
|
|
12
12
|
this.currentState = this.platform.Characteristic.CurrentHeatingCoolingState.OFF;
|
|
13
|
-
this.connected =
|
|
13
|
+
this.connected = true;
|
|
14
|
+
this.isOn = false;
|
|
14
15
|
this.hasCurrentTemperature = false;
|
|
15
|
-
this.hasTargetTemperature = false;
|
|
16
|
-
this.modeStateRevision = 0;
|
|
17
|
-
this.isOnStateRevision = 0;
|
|
18
|
-
this.targetStateReconciliationTimeoutMs = 30000;
|
|
19
16
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
20
17
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
|
|
21
18
|
.setCharacteristic(this.platform.Characteristic.Model, 'Thermostat');
|
|
@@ -33,146 +30,77 @@ class ThermostatAccessory {
|
|
|
33
30
|
.onGet(this.handleTargetStateGet.bind(this))
|
|
34
31
|
.onSet(this.handleTargetStateSet.bind(this));
|
|
35
32
|
this.platform.registerMqttHandler(`${this.context.topic}/state/temperature_setpoint`, (message) => {
|
|
36
|
-
const value =
|
|
37
|
-
if (value
|
|
33
|
+
const value = parseFloat(message.toString());
|
|
34
|
+
if (!Number.isNaN(value)) {
|
|
38
35
|
this.targetTemperature = this.clamp(value, 5, 35);
|
|
39
|
-
this.hasTargetTemperature = true;
|
|
40
36
|
this.service.updateCharacteristic(this.platform.Characteristic.TargetTemperature, this.targetTemperature);
|
|
41
|
-
this.
|
|
37
|
+
if (!this.hasCurrentTemperature) {
|
|
38
|
+
this.currentTemperature = this.targetTemperature;
|
|
39
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.currentTemperature);
|
|
40
|
+
}
|
|
42
41
|
}
|
|
43
42
|
}, this.accessory.UUID);
|
|
44
43
|
this.platform.registerMqttHandler(`${this.context.topic}/state/temperature`, (message) => {
|
|
45
|
-
const value =
|
|
46
|
-
if (value
|
|
44
|
+
const value = parseFloat(message.toString());
|
|
45
|
+
if (!Number.isNaN(value)) {
|
|
47
46
|
this.currentTemperature = this.clamp(value, -50, 100);
|
|
48
47
|
this.hasCurrentTemperature = true;
|
|
49
48
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.currentTemperature);
|
|
50
|
-
this.updateFault();
|
|
51
49
|
}
|
|
52
50
|
}, this.accessory.UUID);
|
|
53
|
-
this.platform.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.rawMode = message.toString().trim().toLowerCase();
|
|
58
|
-
if (this.isKnownMode(this.rawMode) && packet?.retain !== true) {
|
|
59
|
-
this.modeStateRevision += 1;
|
|
60
|
-
}
|
|
61
|
-
if (this.noteFreshTransactionState()) {
|
|
62
|
-
this.recomputeHomeKitState();
|
|
63
|
-
}
|
|
64
|
-
this.updateFault();
|
|
51
|
+
this.platform.registerMqttHandler(`${this.context.topic}/state/mode`, (message) => {
|
|
52
|
+
const mode = message.toString();
|
|
53
|
+
this.targetState = this.toTargetState(mode, this.isOn);
|
|
54
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState, this.targetState);
|
|
65
55
|
}, this.accessory.UUID);
|
|
66
56
|
this.platform.registerMqttHandler(`${this.context.topic}/state/action`, (message) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
this.updateFault();
|
|
57
|
+
const action = message.toString();
|
|
58
|
+
this.currentState = this.toCurrentState(action, this.isOn);
|
|
59
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState, this.currentState);
|
|
72
60
|
}, this.accessory.UUID);
|
|
73
|
-
this.platform.registerMqttHandler(`${this.context.topic}/state/is_on`, (message
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
if (packet?.retain !== true) {
|
|
80
|
-
this.isOnStateRevision += 1;
|
|
81
|
-
}
|
|
82
|
-
if (this.noteFreshTransactionState()) {
|
|
83
|
-
this.recomputeHomeKitState();
|
|
84
|
-
}
|
|
85
|
-
this.updateFault();
|
|
61
|
+
this.platform.registerMqttHandler(`${this.context.topic}/state/is_on`, (message) => {
|
|
62
|
+
this.isOn = this.platform.parseBoolean(message.toString());
|
|
63
|
+
this.targetState = this.toTargetState(undefined, this.isOn, this.targetState);
|
|
64
|
+
this.currentState = this.toCurrentState(undefined, this.isOn, this.currentState);
|
|
65
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState, this.targetState);
|
|
66
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState, this.currentState);
|
|
86
67
|
}, this.accessory.UUID);
|
|
87
68
|
this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
this.connected = connected;
|
|
93
|
-
if (!connected) {
|
|
94
|
-
this.hasCurrentTemperature = false;
|
|
95
|
-
this.hasTargetTemperature = false;
|
|
96
|
-
this.isOn = undefined;
|
|
97
|
-
this.rawMode = undefined;
|
|
98
|
-
this.rawAction = undefined;
|
|
99
|
-
}
|
|
100
|
-
this.updateFault();
|
|
101
|
-
}, this.accessory.UUID);
|
|
102
|
-
this.platform.registerMqttTransportHandler?.((transportConnected) => {
|
|
103
|
-
if (!transportConnected) {
|
|
104
|
-
this.connected = false;
|
|
105
|
-
this.hasCurrentTemperature = false;
|
|
106
|
-
this.hasTargetTemperature = false;
|
|
107
|
-
this.isOn = undefined;
|
|
108
|
-
this.rawMode = undefined;
|
|
109
|
-
this.rawAction = undefined;
|
|
110
|
-
this.updateFault();
|
|
111
|
-
}
|
|
69
|
+
this.connected = this.platform.parseBoolean(message.toString());
|
|
70
|
+
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
|
|
112
71
|
}, this.accessory.UUID);
|
|
113
72
|
}
|
|
114
73
|
async handleCurrentTemperatureGet() {
|
|
115
|
-
this.assertAvailable(this.hasCurrentTemperature);
|
|
116
74
|
return this.currentTemperature;
|
|
117
75
|
}
|
|
118
76
|
async handleTargetTemperatureGet() {
|
|
119
|
-
this.assertAvailable(this.hasTargetTemperature);
|
|
120
77
|
return this.targetTemperature;
|
|
121
78
|
}
|
|
122
79
|
async handleTargetTemperatureSet(value) {
|
|
123
|
-
this.assertAvailable(this.hasTargetTemperature);
|
|
124
80
|
const target = this.clamp(value, 5, 35);
|
|
125
|
-
if (!Number.isFinite(target)) {
|
|
126
|
-
throw this.communicationError();
|
|
127
|
-
}
|
|
128
|
-
this.platform.log.debug(`Publishing ${this.context.topic}/set/temperature_setpoint = ${target.toString()}`);
|
|
129
|
-
await this.platform.publishCommandAsync(`${this.context.topic}/set/temperature_setpoint`, target.toString());
|
|
130
81
|
this.targetTemperature = target;
|
|
131
|
-
this.
|
|
82
|
+
this.platform.log.debug(`Publishing ${this.context.topic}/set/temperature_setpoint = ${target.toString()}`);
|
|
83
|
+
this.platform.publishCommand(`${this.context.topic}/set/temperature_setpoint`, target.toString());
|
|
132
84
|
}
|
|
133
85
|
async handleCurrentStateGet() {
|
|
134
|
-
this.assertAvailable(this.isOn === false || this.isKnownAction(this.rawAction));
|
|
135
86
|
return this.currentState;
|
|
136
87
|
}
|
|
137
88
|
async handleTargetStateGet() {
|
|
138
|
-
this.assertAvailable(this.isOn === false || this.isKnownMode(this.rawMode));
|
|
139
89
|
return this.targetState;
|
|
140
90
|
}
|
|
141
91
|
async handleTargetStateSet(value) {
|
|
142
|
-
this.assertAvailable(this.isOn === false || this.isKnownMode(this.rawMode));
|
|
143
|
-
if (this.targetStateTransaction) {
|
|
144
|
-
throw this.communicationError();
|
|
145
|
-
}
|
|
146
92
|
const state = value;
|
|
93
|
+
this.targetState = state;
|
|
147
94
|
if (state === this.platform.Characteristic.TargetHeatingCoolingState.OFF) {
|
|
148
95
|
this.platform.log.debug(`Publishing ${this.context.topic}/set/is_on = false`);
|
|
149
|
-
|
|
150
|
-
this.targetState = state;
|
|
96
|
+
this.platform.publishCommand(`${this.context.topic}/set/is_on`, 'false');
|
|
151
97
|
return;
|
|
152
98
|
}
|
|
153
99
|
const mode = this.fromTargetState(state);
|
|
154
|
-
const startingModeRevision = this.modeStateRevision;
|
|
155
|
-
const startingIsOnRevision = this.isOnStateRevision;
|
|
156
|
-
this.platform.log.debug(`Publishing ${this.context.topic}/set/mode = ${mode}`);
|
|
157
|
-
await this.platform.publishCommandAsync(`${this.context.topic}/set/mode`, mode);
|
|
158
100
|
this.platform.log.debug(`Publishing ${this.context.topic}/set/is_on = true`);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
this.recordTargetStateTransactionUncertainty(state, mode, startingModeRevision, startingIsOnRevision);
|
|
164
|
-
throw error;
|
|
165
|
-
}
|
|
166
|
-
this.targetState = state;
|
|
167
|
-
}
|
|
168
|
-
recomputeHomeKitState() {
|
|
169
|
-
if (this.isOn === undefined) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
this.targetState = this.toTargetState(this.rawMode, this.isOn, this.targetState);
|
|
173
|
-
this.currentState = this.toCurrentState(this.rawAction, this.isOn, this.currentState);
|
|
174
|
-
this.service.updateCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState, this.targetState);
|
|
175
|
-
this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState, this.currentState);
|
|
101
|
+
this.platform.publishCommand(`${this.context.topic}/set/is_on`, 'true');
|
|
102
|
+
this.platform.log.debug(`Publishing ${this.context.topic}/set/mode = ${mode}`);
|
|
103
|
+
this.platform.publishCommand(`${this.context.topic}/set/mode`, mode);
|
|
176
104
|
}
|
|
177
105
|
toTargetState(mode, isOn, fallback) {
|
|
178
106
|
if (isOn === false) {
|
|
@@ -191,7 +119,7 @@ class ThermostatAccessory {
|
|
|
191
119
|
case 'off':
|
|
192
120
|
return this.platform.Characteristic.TargetHeatingCoolingState.OFF;
|
|
193
121
|
default:
|
|
194
|
-
return
|
|
122
|
+
return this.platform.Characteristic.TargetHeatingCoolingState.OFF;
|
|
195
123
|
}
|
|
196
124
|
}
|
|
197
125
|
toCurrentState(action, isOn, fallback) {
|
|
@@ -206,11 +134,8 @@ class ThermostatAccessory {
|
|
|
206
134
|
return this.platform.Characteristic.CurrentHeatingCoolingState.HEAT;
|
|
207
135
|
case 'cooling':
|
|
208
136
|
return this.platform.Characteristic.CurrentHeatingCoolingState.COOL;
|
|
209
|
-
case 'idle':
|
|
210
|
-
case 'off':
|
|
211
|
-
return this.platform.Characteristic.CurrentHeatingCoolingState.OFF;
|
|
212
137
|
default:
|
|
213
|
-
return
|
|
138
|
+
return this.platform.Characteristic.CurrentHeatingCoolingState.OFF;
|
|
214
139
|
}
|
|
215
140
|
}
|
|
216
141
|
fromTargetState(state) {
|
|
@@ -225,93 +150,9 @@ class ThermostatAccessory {
|
|
|
225
150
|
return 'off';
|
|
226
151
|
}
|
|
227
152
|
}
|
|
228
|
-
isKnownMode(mode) {
|
|
229
|
-
return mode !== undefined && ['heat', 'cool', 'auto', 'off'].includes(mode.toLowerCase());
|
|
230
|
-
}
|
|
231
|
-
isKnownAction(action) {
|
|
232
|
-
return action !== undefined && ['heating', 'cooling', 'idle', 'off'].includes(action.toLowerCase());
|
|
233
|
-
}
|
|
234
153
|
clamp(value, min, max) {
|
|
235
154
|
return Math.min(Math.max(value, min), max);
|
|
236
155
|
}
|
|
237
|
-
assertAvailable(hasValue) {
|
|
238
|
-
if (!this.connected || !hasValue || this.targetStateTransaction) {
|
|
239
|
-
throw this.communicationError();
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
recordTargetStateTransactionUncertainty(requestedState, requestedMode, startingModeRevision, startingIsOnRevision) {
|
|
243
|
-
this.targetStateTransaction = {
|
|
244
|
-
requestedState,
|
|
245
|
-
requestedMode,
|
|
246
|
-
transportAcceptedCommands: ['mode'],
|
|
247
|
-
startingModeRevision,
|
|
248
|
-
startingIsOnRevision,
|
|
249
|
-
freshModeObserved: this.modeStateRevision > startingModeRevision,
|
|
250
|
-
freshIsOnObserved: this.isOnStateRevision > startingIsOnRevision,
|
|
251
|
-
};
|
|
252
|
-
this.clearTargetStateReconciliationTimer();
|
|
253
|
-
this.targetStateReconciliationTimer = setTimeout(() => {
|
|
254
|
-
this.targetStateReconciliationTimer = undefined;
|
|
255
|
-
if (!this.targetStateTransaction) {
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
this.targetStateTransaction = undefined;
|
|
259
|
-
this.recomputeHomeKitState();
|
|
260
|
-
this.platform.log.warn(`Thermostat ${this.accessory.displayName} target transaction did not receive a complete ` +
|
|
261
|
-
`fresh state snapshot within ${this.targetStateReconciliationTimeoutMs}ms; ` +
|
|
262
|
-
'reconciled conservatively from the latest observed state.');
|
|
263
|
-
this.updateFault();
|
|
264
|
-
}, this.targetStateReconciliationTimeoutMs);
|
|
265
|
-
this.platform.log.warn(`Thermostat ${this.accessory.displayName} target transaction is uncertain: ` +
|
|
266
|
-
`set/mode=${requestedMode} was transport-accepted but set/is_on=true failed. ` +
|
|
267
|
-
'Waiting for fresh mode and is_on state topics before reconciling.');
|
|
268
|
-
if (this.noteFreshTransactionState()) {
|
|
269
|
-
this.recomputeHomeKitState();
|
|
270
|
-
}
|
|
271
|
-
this.updateFault();
|
|
272
|
-
}
|
|
273
|
-
noteFreshTransactionState() {
|
|
274
|
-
const transaction = this.targetStateTransaction;
|
|
275
|
-
if (!transaction) {
|
|
276
|
-
return true;
|
|
277
|
-
}
|
|
278
|
-
transaction.freshModeObserved = transaction.freshModeObserved
|
|
279
|
-
|| this.modeStateRevision > transaction.startingModeRevision;
|
|
280
|
-
transaction.freshIsOnObserved = transaction.freshIsOnObserved
|
|
281
|
-
|| this.isOnStateRevision > transaction.startingIsOnRevision;
|
|
282
|
-
if (!transaction.freshModeObserved || !transaction.freshIsOnObserved) {
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
this.targetStateTransaction = undefined;
|
|
286
|
-
this.clearTargetStateReconciliationTimer();
|
|
287
|
-
this.platform.log.info(`Thermostat ${this.accessory.displayName} reconciled the uncertain target transaction ` +
|
|
288
|
-
'from fresh mode and is_on state topics.');
|
|
289
|
-
return true;
|
|
290
|
-
}
|
|
291
|
-
updateFault() {
|
|
292
|
-
const hasTargetState = this.isOn === false
|
|
293
|
-
|| (this.isOn === true && this.isKnownMode(this.rawMode));
|
|
294
|
-
const hasCurrentState = this.isOn === false
|
|
295
|
-
|| (this.isOn === true && this.isKnownAction(this.rawAction));
|
|
296
|
-
const available = this.connected
|
|
297
|
-
&& this.hasCurrentTemperature
|
|
298
|
-
&& this.hasTargetTemperature
|
|
299
|
-
&& hasTargetState
|
|
300
|
-
&& hasCurrentState
|
|
301
|
-
&& !this.targetStateTransaction;
|
|
302
|
-
if (!available) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
clearTargetStateReconciliationTimer() {
|
|
307
|
-
if (this.targetStateReconciliationTimer) {
|
|
308
|
-
clearTimeout(this.targetStateReconciliationTimer);
|
|
309
|
-
this.targetStateReconciliationTimer = undefined;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
communicationError() {
|
|
313
|
-
return new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
314
|
-
}
|
|
315
156
|
}
|
|
316
157
|
exports.ThermostatAccessory = ThermostatAccessory;
|
|
317
158
|
//# sourceMappingURL=ThermostatAccessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThermostatAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ThermostatAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThermostatAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ThermostatAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,mBAAmB;IAU9B,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAXvC,uBAAkB,GAAG,EAAE,CAAC;QACxB,sBAAiB,GAAG,EAAE,CAAC;QACvB,gBAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;QACzE,iBAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC;QAC3E,cAAS,GAAG,IAAI,CAAC;QACjB,SAAI,GAAG,KAAK,CAAC;QACb,0BAAqB,GAAG,KAAK,CAAC;QAOpC,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,YAAY,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;eACrE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEjE,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,kBAAkB,CAAC;aAC5E,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;aAC3E,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;aACpF,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC;aACnF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,6BAA6B,EAClD,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAC9C,IAAI,CAAC,iBAAiB,CACvB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAC/C,IAAI,CAAC,kBAAkB,CACxB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,oBAAoB,EACzC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAC/C,IAAI,CAAC,kBAAkB,CACxB,CAAC;YACJ,CAAC;QACH,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAClC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,eAAe,EACpC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,EACvD,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,cAAc,EACnC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,EACvD,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,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,2BAA2B;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAA0B;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,+BAA+B,MAAM,CAAC,QAAQ,EAAE,EAAE,CACnF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,2BAA2B,EAChD,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,MAAM,KAAK,GAAG,KAAe,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,oBAAoB,CACrD,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB,CACpD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,eAAe,IAAI,EAAE,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAEO,aAAa,CACnB,IAAa,EACb,IAAc,EACd,QAAiB;QAEjB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;QAChF,CAAC;QACD,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;YACrE,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;YACrE,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;YACrE,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;YACpE;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,MAAe,EACf,IAAc,EACd,QAAiB;QAEjB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC;QACjF,CAAC;QACD,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC;YACtE,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC;YACtE;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI;gBAC9D,OAAO,MAAM,CAAC;YAChB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI;gBAC9D,OAAO,MAAM,CAAC;YAChB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI;gBAC9D,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,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;AA5OD,kDA4OC"}
|
|
@@ -8,14 +8,11 @@ export declare class ValveAccessory {
|
|
|
8
8
|
private service;
|
|
9
9
|
private active;
|
|
10
10
|
private inUse;
|
|
11
|
-
private connected
|
|
12
|
-
private flooding
|
|
13
|
-
private hasClosedState;
|
|
11
|
+
private connected;
|
|
12
|
+
private flooding;
|
|
14
13
|
constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
|
|
15
14
|
handleActiveGet(): Promise<CharacteristicValue>;
|
|
16
15
|
handleActiveSet(value: CharacteristicValue): Promise<void>;
|
|
17
16
|
handleInUseGet(): Promise<CharacteristicValue>;
|
|
18
|
-
private updateFault;
|
|
19
|
-
private assertAvailable;
|
|
20
17
|
}
|
|
21
18
|
//# sourceMappingURL=ValveAccessory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValveAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ValveAccessory.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,cAAc;
|
|
1
|
+
{"version":3,"file":"ValveAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ValveAccessory.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,cAAc;IAQvB,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,MAAM,CAAgD;IAC9D,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAGN,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAyDzC,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI/C,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAW1C,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAGrD"}
|
|
@@ -8,7 +8,8 @@ class ValveAccessory {
|
|
|
8
8
|
this.context = context;
|
|
9
9
|
this.active = this.platform.Characteristic.Active.INACTIVE;
|
|
10
10
|
this.inUse = this.platform.Characteristic.InUse.NOT_IN_USE;
|
|
11
|
-
this.
|
|
11
|
+
this.connected = true;
|
|
12
|
+
this.flooding = false;
|
|
12
13
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
13
14
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
|
|
14
15
|
.setCharacteristic(this.platform.Characteristic.Model, 'Valve');
|
|
@@ -22,11 +23,7 @@ class ValveAccessory {
|
|
|
22
23
|
this.service.getCharacteristic(this.platform.Characteristic.InUse)
|
|
23
24
|
.onGet(this.handleInUseGet.bind(this));
|
|
24
25
|
this.platform.registerMqttHandler(`${this.context.topic}/state/closed`, (message) => {
|
|
25
|
-
const closed = this.platform.
|
|
26
|
-
if (closed === undefined) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
this.hasClosedState = true;
|
|
26
|
+
const closed = this.platform.parseBoolean(message.toString());
|
|
30
27
|
this.active = closed
|
|
31
28
|
? this.platform.Characteristic.Active.INACTIVE
|
|
32
29
|
: this.platform.Characteristic.Active.ACTIVE;
|
|
@@ -35,63 +32,27 @@ class ValveAccessory {
|
|
|
35
32
|
: this.platform.Characteristic.InUse.IN_USE;
|
|
36
33
|
this.service.updateCharacteristic(this.platform.Characteristic.Active, this.active);
|
|
37
34
|
this.service.updateCharacteristic(this.platform.Characteristic.InUse, this.inUse);
|
|
38
|
-
this.updateFault();
|
|
39
35
|
}, this.accessory.UUID);
|
|
40
36
|
this.platform.registerMqttHandler(`${this.context.topic}/state/flooding`, (message) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this.flooding = flooding;
|
|
46
|
-
this.updateFault();
|
|
37
|
+
this.flooding = this.platform.parseBoolean(message.toString());
|
|
38
|
+
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.flooding ? 1 : 0);
|
|
47
39
|
}, this.accessory.UUID);
|
|
48
40
|
this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.connected = connected;
|
|
54
|
-
if (!connected) {
|
|
55
|
-
this.flooding = undefined;
|
|
56
|
-
this.hasClosedState = false;
|
|
57
|
-
}
|
|
58
|
-
this.updateFault();
|
|
41
|
+
this.connected = this.platform.parseBoolean(message.toString());
|
|
42
|
+
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected && !this.flooding ? 0 : 1);
|
|
59
43
|
}, this.accessory.UUID);
|
|
60
|
-
this.platform.registerMqttTransportHandler?.((transportConnected) => {
|
|
61
|
-
if (!transportConnected) {
|
|
62
|
-
this.connected = undefined;
|
|
63
|
-
this.flooding = undefined;
|
|
64
|
-
this.hasClosedState = false;
|
|
65
|
-
this.updateFault();
|
|
66
|
-
}
|
|
67
|
-
}, this.accessory.UUID);
|
|
68
|
-
this.updateFault();
|
|
69
44
|
}
|
|
70
45
|
async handleActiveGet() {
|
|
71
|
-
this.assertAvailable();
|
|
72
46
|
return this.active;
|
|
73
47
|
}
|
|
74
48
|
async handleActiveSet(value) {
|
|
75
|
-
this.assertAvailable();
|
|
76
49
|
const active = value === this.platform.Characteristic.Active.ACTIVE;
|
|
77
50
|
this.platform.log.debug(`Publishing ${this.context.topic}/set/closed = ${(!active).toString()}`);
|
|
78
|
-
|
|
51
|
+
this.platform.publishCommand(`${this.context.topic}/set/closed`, (!active).toString());
|
|
79
52
|
}
|
|
80
53
|
async handleInUseGet() {
|
|
81
|
-
this.assertAvailable();
|
|
82
54
|
return this.inUse;
|
|
83
55
|
}
|
|
84
|
-
updateFault() {
|
|
85
|
-
const fault = this.connected !== true || this.flooding !== false || !this.hasClosedState;
|
|
86
|
-
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, fault
|
|
87
|
-
? this.platform.Characteristic.StatusFault.GENERAL_FAULT
|
|
88
|
-
: this.platform.Characteristic.StatusFault.NO_FAULT);
|
|
89
|
-
}
|
|
90
|
-
assertAvailable() {
|
|
91
|
-
if (this.connected !== true || !this.hasClosedState) {
|
|
92
|
-
throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
56
|
}
|
|
96
57
|
exports.ValveAccessory = ValveAccessory;
|
|
97
58
|
//# sourceMappingURL=ValveAccessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValveAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ValveAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"ValveAccessory.js","sourceRoot":"","sources":["../../src/Accesories/ValveAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
2
2
|
import { SuplaPlatform } from '../platform';
|
|
3
3
|
import { SuplaChannelContext } from '../Heplers/SuplaChannelContext';
|
|
4
|
-
/**
|
|
5
|
-
* Legacy wicket handler retained for source compatibility. It is not selected
|
|
6
|
-
* by the current platform mapping, but must remain fail-safe if reused.
|
|
7
|
-
*/
|
|
8
4
|
export declare class WicketAccesory {
|
|
9
5
|
private readonly platform;
|
|
10
6
|
private readonly accessory;
|
|
11
7
|
private readonly context;
|
|
12
|
-
private
|
|
13
|
-
private state;
|
|
8
|
+
private service;
|
|
14
9
|
private connected;
|
|
15
|
-
private hasState;
|
|
16
|
-
private commandUncertain;
|
|
17
|
-
private confirmationExpired;
|
|
18
|
-
private confirmationTimer?;
|
|
19
|
-
private readonly confirmationTimeoutMs;
|
|
20
10
|
constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
|
|
21
11
|
handleCurrentDoorStateGet(): Promise<CharacteristicValue>;
|
|
22
12
|
handleTargetDoorStateGet(): Promise<CharacteristicValue>;
|
|
23
|
-
handleTargetDoorStateSet(
|
|
13
|
+
handleTargetDoorStateSet(): Promise<void>;
|
|
24
14
|
handleObstructionDetectedGet(): Promise<CharacteristicValue>;
|
|
25
|
-
private assertAvailable;
|
|
26
|
-
private setCommandUncertain;
|
|
27
|
-
private armConfirmationTimer;
|
|
28
|
-
private expirePendingConfirmation;
|
|
29
|
-
private clearConfirmationTimer;
|
|
30
15
|
}
|
|
31
16
|
//# sourceMappingURL=WicketAccesory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WicketAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/WicketAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WicketAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/WicketAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,cAAc;IAKnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAQ;gBAGF,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAkC7C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB;IAiBxB,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAKnE"}
|