homebridge-tasmota-control 0.18.3 → 0.19.0
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/CHANGELOG.md +8 -0
- package/README.md +3 -2
- package/config.schema.json +9 -1
- package/package.json +1 -1
- package/src/constants.json +1 -0
- package/src/tasmotadevice.js +24 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.19.0] - (28.10.2024)
|
|
9
|
+
|
|
10
|
+
## Changes
|
|
11
|
+
|
|
12
|
+
- added remote temperature sensor state
|
|
13
|
+
- config.schema update
|
|
14
|
+
- cleanup
|
|
15
|
+
|
|
8
16
|
## [0.18.1] - (24.10.2024)
|
|
9
17
|
|
|
10
18
|
## Changes
|
package/README.md
CHANGED
|
@@ -98,8 +98,9 @@ Homebridge plugin for Tasmota flashed devices.
|
|
|
98
98
|
| `miElHvac.heatDryFanMode` | Here select the operatiing mode for `Heat`, only for Mitsubishio AC. |
|
|
99
99
|
| `miElHvac.coolDryFanMode` | Here select the operatiing mode for `Cool`, only for Mitsubishio AC. |
|
|
100
100
|
| `miElHvac.autoDryFanMode` | Here select the operatiing mode for `Auto`, only for Mitsubishio AC. |
|
|
101
|
-
| `miElHvac.temperatureSensor` | This enable extra `Room` temperature
|
|
102
|
-
| `miElHvac.temperatureSensorOutdoor` | This enable extra `Outdoor` temperature
|
|
101
|
+
| `miElHvac.temperatureSensor` | This enable extra `Room` temperature sensor to use with automations in HomeKit app. |
|
|
102
|
+
| `miElHvac.temperatureSensorOutdoor` | This enable extra `Outdoor` temperature sensor to use with automations in HomeKit app. |
|
|
103
|
+
| `miElHvac.remoteTemperatureStateSensor` | This enable extra `Remote` temperature state sensor to use with automations in HomeKit app. |
|
|
103
104
|
| `miElHvac.presets` | Array of presets sensors. |
|
|
104
105
|
| `miElHvac.presets.name` | Here You can schange the `Preset Name` which is exposed to the `Homebridge/HomeKit`. |
|
|
105
106
|
| `miElHvac.presets.mode` | Here set the operation mode. |
|
package/config.schema.json
CHANGED
|
@@ -176,6 +176,13 @@
|
|
|
176
176
|
"description": "This enable extra outdoor temperature sensor to use with automations in HomeKit app.",
|
|
177
177
|
"required": false
|
|
178
178
|
},
|
|
179
|
+
"remoteTemperatureStateSensor": {
|
|
180
|
+
"title": "Remote",
|
|
181
|
+
"type": "boolean",
|
|
182
|
+
"default": false,
|
|
183
|
+
"description": "This enable extra remote temperature sensor state to use with automations in HomeKit app.",
|
|
184
|
+
"required": false
|
|
185
|
+
},
|
|
179
186
|
"presets": {
|
|
180
187
|
"title": "Presets",
|
|
181
188
|
"type": "array",
|
|
@@ -923,7 +930,8 @@
|
|
|
923
930
|
"expanded": false,
|
|
924
931
|
"items": [
|
|
925
932
|
"devices[].miElHvac.temperatureSensor",
|
|
926
|
-
"devices[].miElHvac.temperatureSensorOutdoor"
|
|
933
|
+
"devices[].miElHvac.temperatureSensorOutdoor",
|
|
934
|
+
"devices[].miElHvac.remoteTemperatureStateSensor"
|
|
927
935
|
],
|
|
928
936
|
"description": "In this section You can enable extra temperature sensors."
|
|
929
937
|
},
|
package/package.json
CHANGED
package/src/constants.json
CHANGED
package/src/tasmotadevice.js
CHANGED
|
@@ -39,6 +39,7 @@ class TasmotaDevice extends EventEmitter {
|
|
|
39
39
|
this.autoDryFanMode = miElHvac.autoDryFanMode || 1; //NONE, COOL, DRY, FAN
|
|
40
40
|
this.temperatureSensor = miElHvac.temperatureSensor || false;
|
|
41
41
|
this.temperatureSensorOutdoor = miElHvac.temperatureSensorOutdoor || false;
|
|
42
|
+
this.remoteTemperatureStateSensor = miElHvac.remoteTemperatureStateSensor || false;
|
|
42
43
|
this.presets = miElHvac.presets || [];
|
|
43
44
|
this.buttons = miElHvac.buttonsSensors || [];
|
|
44
45
|
|
|
@@ -271,6 +272,7 @@ class TasmotaDevice extends EventEmitter {
|
|
|
271
272
|
const swingMode = vaneVerticalDirection === 'swing' && vaneHorizontalDirection === 'swing' ? 1 : 0;
|
|
272
273
|
const defaultCoolingSetTemperature = parseFloat(await this.readData(this.defaultCoolingSetTemperatureFile));
|
|
273
274
|
const defaultHeatingSetTemperature = parseFloat(await this.readData(this.defaultHeatingSetTemperatureFile));
|
|
275
|
+
const remoteTemperatureSensor = miElHvac.RemoteTemperatureSensor ?? false; //ON, OFF
|
|
274
276
|
|
|
275
277
|
const modelSupportsHeat = true;
|
|
276
278
|
const modelSupportsDry = true;
|
|
@@ -304,6 +306,7 @@ class TasmotaDevice extends EventEmitter {
|
|
|
304
306
|
operationEnergy: operationEnergy,
|
|
305
307
|
defaultCoolingSetTemperature: defaultCoolingSetTemperature,
|
|
306
308
|
defaultHeatingSetTemperature: defaultHeatingSetTemperature,
|
|
309
|
+
remoteTemperatureSensor: remoteTemperatureSensor,
|
|
307
310
|
modelSupportsHeat: modelSupportsHeat,
|
|
308
311
|
modelSupportsDry: modelSupportsDry,
|
|
309
312
|
modelSupportsCool: modelSupportsCool,
|
|
@@ -435,6 +438,11 @@ class TasmotaDevice extends EventEmitter {
|
|
|
435
438
|
.updateCharacteristic(Characteristic.CurrentTemperature, outdoorTemperature)
|
|
436
439
|
};
|
|
437
440
|
|
|
441
|
+
if (this.remoteTemperatureStateSensorService) {
|
|
442
|
+
this.remoteTemperatureStateSensorService
|
|
443
|
+
.updateCharacteristic(Characteristic.ContactSensorState, remoteTemperatureSensor)
|
|
444
|
+
};
|
|
445
|
+
|
|
438
446
|
//update presets state
|
|
439
447
|
if (this.presetsConfigured.length > 0) {
|
|
440
448
|
for (let i = 0; i < this.presetsConfigured.length; i++) {
|
|
@@ -1095,7 +1103,7 @@ class TasmotaDevice extends EventEmitter {
|
|
|
1095
1103
|
//temperature sensor services
|
|
1096
1104
|
if (this.temperatureSensor && this.accessory.roomTemperature !== null) {
|
|
1097
1105
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare room temperature sensor service`) : false;
|
|
1098
|
-
this.roomTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Room`, `Room Temperature Sensor
|
|
1106
|
+
this.roomTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Room`, `Room Temperature Sensor`);
|
|
1099
1107
|
this.roomTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1100
1108
|
this.roomTemperatureSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Room`);
|
|
1101
1109
|
this.roomTemperatureSensorService.getCharacteristic(Characteristic.CurrentTemperature)
|
|
@@ -1111,9 +1119,9 @@ class TasmotaDevice extends EventEmitter {
|
|
|
1111
1119
|
accessory.addService(this.roomTemperatureSensorService);
|
|
1112
1120
|
};
|
|
1113
1121
|
|
|
1114
|
-
if (this.temperatureSensorOutdoor && hasOutdoorTemperature && this.accessory.outdoorTemperature !== null) {
|
|
1122
|
+
if (this.temperatureSensorOutdoor && this.accessory.hasOutdoorTemperature && this.accessory.outdoorTemperature !== null) {
|
|
1115
1123
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare outdoor temperature sensor service`) : false;
|
|
1116
|
-
this.outdoorTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Outdoor`, `Outdoor Temperature Sensor
|
|
1124
|
+
this.outdoorTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Outdoor`, `Outdoor Temperature Sensor`);
|
|
1117
1125
|
this.outdoorTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1118
1126
|
this.outdoorTemperatureSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Outdoor`);
|
|
1119
1127
|
this.outdoorTemperatureSensorService.getCharacteristic(Characteristic.CurrentTemperature)
|
|
@@ -1129,6 +1137,19 @@ class TasmotaDevice extends EventEmitter {
|
|
|
1129
1137
|
accessory.addService(this.outdoorTemperatureSensorService);
|
|
1130
1138
|
};
|
|
1131
1139
|
|
|
1140
|
+
if (this.remoteTemperatureStateSensor) {
|
|
1141
|
+
const debug = this.enableDebugMode ? this.emit('debug', `Prepare remote temperature state sensor service`) : false;
|
|
1142
|
+
this.remoteTemperatureStateSensorService = new Service.ContactSensor(`${serviceName} Remote Sensor State`, `Remote Temperature State Sensor`);
|
|
1143
|
+
this.remoteTemperatureStateSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1144
|
+
this.remoteTemperatureStateSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Remote Sensor State`);
|
|
1145
|
+
this.remoteTemperatureStateSensorService.getCharacteristic(Characteristic.ContactSensorState)
|
|
1146
|
+
.onGet(async () => {
|
|
1147
|
+
const state = this.accessory.remoteTemperatureSensor;
|
|
1148
|
+
return state;
|
|
1149
|
+
})
|
|
1150
|
+
accessory.addService(this.remoteTemperatureStateSensorService);
|
|
1151
|
+
};
|
|
1152
|
+
|
|
1132
1153
|
//presets services
|
|
1133
1154
|
if (this.presetsConfiguredCount > 0) {
|
|
1134
1155
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare presets services`) : false;
|