homebridge-tasmota-control 1.6.15-beta.14 → 1.6.15-beta.16
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/package.json +1 -1
- package/src/mielhvac.js +33 -33
package/package.json
CHANGED
package/src/mielhvac.js
CHANGED
|
@@ -219,9 +219,9 @@ class MiElHvac extends EventEmitter {
|
|
|
219
219
|
const outdoorTemperature = miElHvac.OutdoorTemperature ?? null;
|
|
220
220
|
const setTemperature = miElHvac.SetTemperature;
|
|
221
221
|
const operationMode = miElHvac.Mode ?? 'Unknown';
|
|
222
|
-
const
|
|
222
|
+
const operationModeStatus = miElHvac.ModeStatus ?? 'Unknown';
|
|
223
223
|
const fanSpeed = miElHvac.FanSpeed ?? 'Unknown';
|
|
224
|
-
const
|
|
224
|
+
const fanSpeedStatus = miElHvac.FanStatus ?? 'Unknown';
|
|
225
225
|
const vaneVerticalDirection = miElHvac.SwingV ?? 'Unknown';
|
|
226
226
|
const vaneHorizontalDirection = miElHvac.SwingH ?? 'Unknown';
|
|
227
227
|
const prohibit = miElHvac.Prohibit ?? 'Unknown';
|
|
@@ -231,7 +231,7 @@ class MiElHvac extends EventEmitter {
|
|
|
231
231
|
const compressorFrequency = miElHvac.CompressorFrequency ?? 0;
|
|
232
232
|
const operationPower = miElHvac.OperationPower ?? 0;
|
|
233
233
|
const operationEnergy = miElHvac.OperationEnergy ?? 0;
|
|
234
|
-
const
|
|
234
|
+
const operationStatus = miElHvac.OperationStatus ?? 'Unknown';
|
|
235
235
|
const swingMode = vaneVerticalDirection === 'swing' && vaneHorizontalDirection === 'swing' ? 1 : 0;
|
|
236
236
|
const defaultCoolingSetTemperature = parseFloat(await this.readData(this.info.defaultCoolingSetTemperatureFile));
|
|
237
237
|
const defaultHeatingSetTemperature = parseFloat(await this.readData(this.info.defaultHeatingSetTemperatureFile));
|
|
@@ -259,7 +259,7 @@ class MiElHvac extends EventEmitter {
|
|
|
259
259
|
outdoorTemperature: outdoorTemperature,
|
|
260
260
|
setTemperature: setTemperature,
|
|
261
261
|
operationMode: operationMode,
|
|
262
|
-
|
|
262
|
+
operationModeStatus: operationModeStatus,
|
|
263
263
|
currentOperationMode: 0,
|
|
264
264
|
targetOperationMode: 0,
|
|
265
265
|
vaneVerticalDirection: vaneVerticalDirection,
|
|
@@ -272,7 +272,7 @@ class MiElHvac extends EventEmitter {
|
|
|
272
272
|
compressorFrequency: compressorFrequency,
|
|
273
273
|
operationPower: operationPower,
|
|
274
274
|
operationEnergy: operationEnergy,
|
|
275
|
-
|
|
275
|
+
operationStatus: operationStatus,
|
|
276
276
|
defaultCoolingSetTemperature: defaultCoolingSetTemperature,
|
|
277
277
|
defaultHeatingSetTemperature: defaultHeatingSetTemperature,
|
|
278
278
|
remoteTemperatureSensorState: remoteTemperatureSensorState,
|
|
@@ -292,8 +292,8 @@ class MiElHvac extends EventEmitter {
|
|
|
292
292
|
hideVaneControls: hideVaneControls
|
|
293
293
|
};
|
|
294
294
|
|
|
295
|
-
// Map
|
|
296
|
-
const
|
|
295
|
+
// Map status to index safely, fallback to 0 if not found
|
|
296
|
+
const operationModeStatusMap = {
|
|
297
297
|
'manual': 0,
|
|
298
298
|
'heat': 2,
|
|
299
299
|
'dry': 1,
|
|
@@ -308,38 +308,38 @@ class MiElHvac extends EventEmitter {
|
|
|
308
308
|
'auto_leader': 4
|
|
309
309
|
};
|
|
310
310
|
|
|
311
|
-
const
|
|
311
|
+
const statusIndex = operationModeStatusMap[operationModeStatus] ?? 0;
|
|
312
312
|
switch (operationMode) {
|
|
313
313
|
case 'heat':
|
|
314
|
-
obj.currentOperationMode = [2, 1, 2, 3, 0][
|
|
314
|
+
obj.currentOperationMode = [2, 1, 2, 3, 0][statusIndex]; // INACTIVE, IDLE, HEATING, COOLING
|
|
315
315
|
obj.targetOperationMode = 1; // AUTO, HEAT, COOL
|
|
316
316
|
break;
|
|
317
317
|
case 'dry':
|
|
318
|
-
obj.currentOperationMode = [1, 1, 2, 3, 0][
|
|
318
|
+
obj.currentOperationMode = [1, 1, 2, 3, 0][statusIndex];
|
|
319
319
|
obj.targetOperationMode = this.autoDryFanMode === 2 ? 0 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : obj.targetOperationMode;
|
|
320
320
|
break;
|
|
321
321
|
case 'cool':
|
|
322
|
-
obj.currentOperationMode = [3, 1, 2, 3, 0][
|
|
322
|
+
obj.currentOperationMode = [3, 1, 2, 3, 0][statusIndex];
|
|
323
323
|
obj.targetOperationMode = 2;
|
|
324
324
|
break;
|
|
325
325
|
case 'fan':
|
|
326
|
-
obj.currentOperationMode = [1, 1, 2, 3, 0][
|
|
326
|
+
obj.currentOperationMode = [1, 1, 2, 3, 0][statusIndex];
|
|
327
327
|
obj.targetOperationMode = this.autoDryFanMode === 3 ? 0 : this.heatDryFanMode === 3 ? 1 : this.coolDryFanMode === 3 ? 2 : obj.targetOperationMode;
|
|
328
328
|
break;
|
|
329
329
|
case 'auto':
|
|
330
|
-
obj.currentOperationMode = [2, 1, 2, 3, 0][
|
|
330
|
+
obj.currentOperationMode = [2, 1, 2, 3, 0][statusIndex];
|
|
331
331
|
obj.targetOperationMode = 0;
|
|
332
332
|
break;
|
|
333
333
|
case 'heat_isee':
|
|
334
|
-
obj.currentOperationMode = [2, 1, 2, 3, 0][
|
|
334
|
+
obj.currentOperationMode = [2, 1, 2, 3, 0][statusIndex];
|
|
335
335
|
obj.targetOperationMode = 1;
|
|
336
336
|
break;
|
|
337
337
|
case 'dry_isee':
|
|
338
|
-
obj.currentOperationMode = [1, 1, 2, 3, 0][
|
|
338
|
+
obj.currentOperationMode = [1, 1, 2, 3, 0][statusIndex];
|
|
339
339
|
obj.targetOperationMode = this.autoDryFanMode === 2 ? 0 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : obj.targetOperationMode;
|
|
340
340
|
break;
|
|
341
341
|
case 'cool_isee':
|
|
342
|
-
obj.currentOperationMode = [3, 1, 2, 3, 0][
|
|
342
|
+
obj.currentOperationMode = [3, 1, 2, 3, 0][statusIndex];
|
|
343
343
|
obj.targetOperationMode = 2;
|
|
344
344
|
break;
|
|
345
345
|
default:
|
|
@@ -615,24 +615,24 @@ class MiElHvac extends EventEmitter {
|
|
|
615
615
|
|
|
616
616
|
60: remoteTemperatureSensorState,
|
|
617
617
|
|
|
618
|
-
70:
|
|
619
|
-
71:
|
|
620
|
-
72:
|
|
621
|
-
73:
|
|
618
|
+
70: operationStatus === 'normal',
|
|
619
|
+
71: operationStatus === 'defrost',
|
|
620
|
+
72: operationStatus === 'preheat',
|
|
621
|
+
73: operationStatus === 'standby',
|
|
622
622
|
|
|
623
|
-
80:
|
|
624
|
-
81:
|
|
625
|
-
82:
|
|
626
|
-
83:
|
|
627
|
-
84:
|
|
628
|
-
85:
|
|
629
|
-
86:
|
|
623
|
+
80: fanSpeedStatus === 'off',
|
|
624
|
+
81: fanSpeedStatus === 'quiet',
|
|
625
|
+
82: fanSpeedStatus === '1',
|
|
626
|
+
83: fanSpeedStatus === '2',
|
|
627
|
+
84: fanSpeedStatus === '3',
|
|
628
|
+
85: fanSpeedStatus === '4',
|
|
629
|
+
86: fanSpeedStatus === '5',
|
|
630
630
|
|
|
631
631
|
90: operationMode !== 'auto',
|
|
632
|
-
91:
|
|
633
|
-
92:
|
|
634
|
-
93:
|
|
635
|
-
94:
|
|
632
|
+
91: operationModeStatus === 'auto_fan',
|
|
633
|
+
92: operationModeStatus === 'auto_heat',
|
|
634
|
+
93: operationModeStatus === 'auto_cool',
|
|
635
|
+
94: operationModeStatus === 'auto_leader',
|
|
636
636
|
};
|
|
637
637
|
|
|
638
638
|
if (mode in sensorStates) {
|
|
@@ -665,12 +665,12 @@ class MiElHvac extends EventEmitter {
|
|
|
665
665
|
if (!this.disableLogInfo) {
|
|
666
666
|
this.emit('info', `Power: ${power ? 'ON' : 'OFF'}`);
|
|
667
667
|
const info = power ? this.emit('info', `Target operation mode: ${operationMode.toUpperCase()}`) : false;
|
|
668
|
-
const info1 = power ? this.emit('info', `Current operation mode: ${
|
|
668
|
+
const info1 = power ? this.emit('info', `Current operation mode: ${operationModeStatus.toUpperCase()}`) : false;
|
|
669
669
|
const info2 = power ? this.emit('info', `Target temperature: ${setTemperature}${temperatureUnit}`) : false;
|
|
670
670
|
const info3 = power ? this.emit('info', `Current temperature: ${roomTemperature}${temperatureUnit}`) : false;
|
|
671
671
|
const info4 = power && outdoorTemperature !== null ? this.emit('info', `Outdoor temperature: ${outdoorTemperature}${temperatureUnit}`) : false;
|
|
672
672
|
const info5 = power && modelSupportsFanSpeed ? this.emit('info', `Target Fan speed: ${fanSpeed.toUpperCase()}`) : false;
|
|
673
|
-
const info6 = power && modelSupportsFanSpeed ? this.emit('info', `Current Fan speed: ${
|
|
673
|
+
const info6 = power && modelSupportsFanSpeed ? this.emit('info', `Current Fan speed: ${fanSpeedStatus.toUpperCase()}`) : false;
|
|
674
674
|
const info7 = power && vaneHorizontalDirection !== 'Unknown' ? this.emit('info', `Vane horizontal: ${MiElHVAC.HorizontalVane[vaneHorizontalDirection] ?? vaneHorizontalDirection}`) : false;
|
|
675
675
|
const info8 = power && vaneVerticalDirection !== 'Unknown' ? this.emit('info', `Vane vertical: ${MiElHVAC.VerticalVane[vaneVerticalDirection] ?? vaneVerticalDirection}`) : false;
|
|
676
676
|
const info9 = power ? this.emit('info', `Swing mode: ${MiElHVAC.SwingMode[swingMode]}`) : false;
|