homebridge-midea-platform 1.1.1 → 1.1.2-beta.10
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/.husky/pre-commit +0 -0
- package/AC_ori.lua +5150 -0
- package/CHANGELOG.md +9 -1
- package/README.md +1 -0
- package/config.schema.json +26 -56
- package/dist/accessory/AccessoryFactory.d.ts +12 -11
- package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
- package/dist/accessory/AccessoryFactory.js +31 -28
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.d.ts +89 -86
- package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
- package/dist/accessory/AirConditionerAccessory.js +584 -560
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts +11 -11
- package/dist/accessory/BaseAccessory.js +21 -21
- package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
- package/dist/accessory/DehumidifierAccessory.d.ts.map +1 -1
- package/dist/accessory/DehumidifierAccessory.js +345 -343
- package/dist/accessory/DehumidifierAccessory.js.map +1 -1
- package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
- package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
- package/dist/accessory/FanAccessory.d.ts +39 -39
- package/dist/accessory/FanAccessory.js +123 -123
- package/dist/accessory/FrontLoadWasherAccessory.d.ts +31 -0
- package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +1 -0
- package/dist/accessory/FrontLoadWasherAccessory.js +61 -0
- package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -0
- package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
- package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
- package/dist/core/MideaCloud.d.ts +35 -35
- package/dist/core/MideaCloud.js +350 -350
- package/dist/core/MideaConstants.d.ts +49 -48
- package/dist/core/MideaConstants.d.ts.map +1 -1
- package/dist/core/MideaConstants.js +57 -56
- package/dist/core/MideaConstants.js.map +1 -1
- package/dist/core/MideaDevice.d.ts +76 -76
- package/dist/core/MideaDevice.d.ts.map +1 -1
- package/dist/core/MideaDevice.js +411 -411
- package/dist/core/MideaDiscover.d.ts +35 -35
- package/dist/core/MideaDiscover.js +212 -212
- package/dist/core/MideaMessage.d.ts +75 -75
- package/dist/core/MideaMessage.js +184 -184
- package/dist/core/MideaPacketBuilder.d.ts +10 -10
- package/dist/core/MideaPacketBuilder.js +60 -60
- package/dist/core/MideaSecurity.d.ts +63 -63
- package/dist/core/MideaSecurity.d.ts.map +1 -1
- package/dist/core/MideaSecurity.js +251 -242
- package/dist/core/MideaSecurity.js.map +1 -1
- package/dist/core/MideaUtils.d.ts +32 -32
- package/dist/core/MideaUtils.js +181 -181
- package/dist/devices/DeviceFactory.d.ts +12 -11
- package/dist/devices/DeviceFactory.d.ts.map +1 -1
- package/dist/devices/DeviceFactory.js +33 -30
- package/dist/devices/DeviceFactory.js.map +1 -1
- package/dist/devices/a1/MideaA1Device.d.ts +76 -76
- package/dist/devices/a1/MideaA1Device.js +136 -136
- package/dist/devices/a1/MideaA1Message.d.ts +40 -40
- package/dist/devices/a1/MideaA1Message.js +198 -198
- package/dist/devices/ac/MideaACDevice.d.ts +100 -100
- package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
- package/dist/devices/ac/MideaACDevice.js +381 -370
- package/dist/devices/ac/MideaACDevice.js.map +1 -1
- package/dist/devices/ac/MideaACMessage.d.ts +92 -92
- package/dist/devices/ac/MideaACMessage.js +589 -589
- package/dist/devices/db/MideaDBDevice.d.ts +30 -0
- package/dist/devices/db/MideaDBDevice.d.ts.map +1 -0
- package/dist/devices/db/MideaDBDevice.js +90 -0
- package/dist/devices/db/MideaDBDevice.js.map +1 -0
- package/dist/devices/db/MideaDBMessage.d.ts +33 -0
- package/dist/devices/db/MideaDBMessage.d.ts.map +1 -0
- package/dist/devices/db/MideaDBMessage.js +102 -0
- package/dist/devices/db/MideaDBMessage.js.map +1 -0
- package/dist/devices/e2/MideaE2Device.d.ts +44 -44
- package/dist/devices/e2/MideaE2Device.js +119 -119
- package/dist/devices/e2/MideaE2Message.d.ts +33 -33
- package/dist/devices/e2/MideaE2Message.js +132 -132
- package/dist/devices/e3/MideaE3Device.d.ts +43 -43
- package/dist/devices/e3/MideaE3Device.js +125 -125
- package/dist/devices/e3/MideaE3Message.d.ts +51 -51
- package/dist/devices/e3/MideaE3Message.js +136 -136
- package/dist/devices/fa/MideaFADevice.d.ts +36 -36
- package/dist/devices/fa/MideaFADevice.js +92 -92
- package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
- package/dist/devices/fa/MideaFAMessage.js +98 -98
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/platform.d.ts +60 -60
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +212 -213
- package/dist/platform.js.map +1 -1
- package/dist/platformUtils.d.ts +99 -97
- package/dist/platformUtils.d.ts.map +1 -1
- package/dist/platformUtils.js +97 -95
- package/dist/platformUtils.js.map +1 -1
- package/dist/settings.d.ts +8 -8
- package/dist/settings.js +11 -11
- package/docs/ac.md +2 -0
- package/docs/db.md +3 -0
- package/homebridge-ui/server.js +30 -26
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
# v1.1.2
|
|
4
|
+
## 2024-08-20
|
|
5
|
+
- feat: added support for `Front Load Washers` (fixes #87)
|
|
6
|
+
- feat: added possibility to add custom humidity offset for `Dehumidifiers` (fixes #98)
|
|
7
|
+
- feat: added possibility to toggle boost/turbo mode switch creation for `Air Conditioners` (fixes #102)
|
|
8
|
+
- fix: explicitly set the power when changing the mode for `Air Conditioners` (fixes #99)
|
|
9
|
+
- fix: QoL improvements and bug fixes (TCP key error, etc.)
|
|
10
|
+
|
|
3
11
|
# v1.1.0
|
|
4
12
|
## 2024-07-13
|
|
5
13
|
- BREAKING CHANGE: `Air Conditioner` configuration changed: there is now a possibility to create an accessory which can be used to control the slats on the unit. THe configuration structure has changed. Please check [AC docs](/docs/ac.md) for more information (or just save the configuration again in the plugin settings to get the new structure).
|
|
@@ -15,4 +23,4 @@
|
|
|
15
23
|
## 2024-06-15
|
|
16
24
|
- BREAKING CHANGE: there is a new conifguration option `fanOnlyModeSwitch` which will only turn on fan only mode. There is a possiblity to create an accessory to manage fan only mode using option `fanAccessory`. Setting fan to auto mode can be done from the fan accessory
|
|
17
25
|
- fix: NetHome Plus login
|
|
18
|
-
- minor quality of life improvements
|
|
26
|
+
- minor quality of life improvements
|
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@ Currently supports the following devices:
|
|
|
22
22
|
|--------|----|------|
|
|
23
23
|
| Air Conditioner | AC | [link](/docs/ac.md) |
|
|
24
24
|
| Dehumidifier | A1 | [link](/docs/a1.md) |
|
|
25
|
+
| Front Load Washer | DB | [link](/docs/db.md) |
|
|
25
26
|
| Electric Water Heater | E2 | [link](/docs/e2.md) |
|
|
26
27
|
| Gas Water Heater | E3 | [link](/docs/e3.md) |
|
|
27
28
|
| Fan | FA | [link](/docs/fa.md) |
|
package/config.schema.json
CHANGED
|
@@ -46,13 +46,7 @@
|
|
|
46
46
|
"title": "Device Type",
|
|
47
47
|
"type": "string",
|
|
48
48
|
"required": true,
|
|
49
|
-
"enum": [
|
|
50
|
-
"Air Conditioner",
|
|
51
|
-
"Dehumidifier",
|
|
52
|
-
"Electric Water Heater",
|
|
53
|
-
"Gas Water Heater",
|
|
54
|
-
"Fan"
|
|
55
|
-
],
|
|
49
|
+
"enum": ["Air Conditioner", "Dehumidifier", "Front Load Washer", "Electric Water Heater", "Gas Water Heater", "Fan"],
|
|
56
50
|
"description": "Select the type of device you are adding."
|
|
57
51
|
},
|
|
58
52
|
"name": {
|
|
@@ -132,11 +126,7 @@
|
|
|
132
126
|
"description": "Creates a water tank sensor accessory which can be used to trigger automations when the tank is full. The sensor will show as `Leak Sensor` or `Contact Sensor` depending on this setting.",
|
|
133
127
|
"type": "string",
|
|
134
128
|
"required": true,
|
|
135
|
-
"enum": [
|
|
136
|
-
"None",
|
|
137
|
-
"Leak Sensor",
|
|
138
|
-
"Contact Sensor"
|
|
139
|
-
]
|
|
129
|
+
"enum": ["None", "Leak Sensor", "Contact Sensor"]
|
|
140
130
|
},
|
|
141
131
|
"minHumidity": {
|
|
142
132
|
"title": "Minimum Relative Humidity",
|
|
@@ -154,10 +144,13 @@
|
|
|
154
144
|
"title": "Humidity Step",
|
|
155
145
|
"type": "number",
|
|
156
146
|
"required": true,
|
|
157
|
-
"enum": [
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
147
|
+
"enum": [5, 10]
|
|
148
|
+
},
|
|
149
|
+
"humidityOffset": {
|
|
150
|
+
"title": "Humidity Offset",
|
|
151
|
+
"description": "Offset for the humidity sensor. This is useful if the humidity sensor is not accurate or if you want to adjust the humidity value.",
|
|
152
|
+
"type": "number",
|
|
153
|
+
"required": true
|
|
161
154
|
}
|
|
162
155
|
}
|
|
163
156
|
},
|
|
@@ -177,12 +170,7 @@
|
|
|
177
170
|
"description": "Set swing mode of the unit. If your unit does not support this feature then leave it on None.",
|
|
178
171
|
"type": "string",
|
|
179
172
|
"required": true,
|
|
180
|
-
"enum": [
|
|
181
|
-
"None",
|
|
182
|
-
"Vertical",
|
|
183
|
-
"Horizontal",
|
|
184
|
-
"Both"
|
|
185
|
-
]
|
|
173
|
+
"enum": ["None", "Vertical", "Horizontal", "Both"]
|
|
186
174
|
},
|
|
187
175
|
"angleAccessory": {
|
|
188
176
|
"title": "Swing Angle Accessory",
|
|
@@ -194,10 +182,7 @@
|
|
|
194
182
|
"description": "If `mode` property is Both and the swing angle accessory is enabled, this property will be used to determine which direction will be controlled by the main position bar of the accessory.",
|
|
195
183
|
"type": "string",
|
|
196
184
|
"required": true,
|
|
197
|
-
"enum": [
|
|
198
|
-
"Vertical",
|
|
199
|
-
"Horizontal"
|
|
200
|
-
]
|
|
185
|
+
"enum": ["Vertical", "Horizontal"]
|
|
201
186
|
}
|
|
202
187
|
}
|
|
203
188
|
},
|
|
@@ -231,6 +216,11 @@
|
|
|
231
216
|
"description": "Toggles if the dry mode switch is created with the accessory.",
|
|
232
217
|
"type": "boolean"
|
|
233
218
|
},
|
|
219
|
+
"boostModeSwitch": {
|
|
220
|
+
"title": "Boost/Turbo Mode Switch",
|
|
221
|
+
"description": "Toggles if the boost/turbo mode switch is created with the accessory.",
|
|
222
|
+
"type": "boolean"
|
|
223
|
+
},
|
|
234
224
|
"breezeAwaySwitch": {
|
|
235
225
|
"title": "Breeze Away Mode",
|
|
236
226
|
"description": "Toggles if the breeze away mode swtich is created with the accessory.",
|
|
@@ -268,10 +258,7 @@
|
|
|
268
258
|
"title": "Temperature Step (°C)",
|
|
269
259
|
"type": "number",
|
|
270
260
|
"required": true,
|
|
271
|
-
"enum": [
|
|
272
|
-
0.5,
|
|
273
|
-
1
|
|
274
|
-
]
|
|
261
|
+
"enum": [0.5, 1]
|
|
275
262
|
},
|
|
276
263
|
"fahrenheit": {
|
|
277
264
|
"title": "Fahrenheit",
|
|
@@ -302,11 +289,7 @@
|
|
|
302
289
|
"description": "Selects the protocol type of the water heater. Default to 'auto' which will try to detect the protocol automatically. Try to set this to 'old' or 'new' if the plugin is unable to communicate with the water heater.",
|
|
303
290
|
"type": "string",
|
|
304
291
|
"required": true,
|
|
305
|
-
"enum": [
|
|
306
|
-
"auto",
|
|
307
|
-
"old",
|
|
308
|
-
"new"
|
|
309
|
-
]
|
|
292
|
+
"enum": ["auto", "old", "new"]
|
|
310
293
|
},
|
|
311
294
|
"minTemp": {
|
|
312
295
|
"title": "Minimum Temperature (°C)",
|
|
@@ -320,10 +303,7 @@
|
|
|
320
303
|
"title": "Temperature Step (°C)",
|
|
321
304
|
"type": "number",
|
|
322
305
|
"required": true,
|
|
323
|
-
"enum": [
|
|
324
|
-
0.5,
|
|
325
|
-
1
|
|
326
|
-
]
|
|
306
|
+
"enum": [0.5, 1]
|
|
327
307
|
},
|
|
328
308
|
"variableHeatingSwitch": {
|
|
329
309
|
"title": "Variable Heating Switch",
|
|
@@ -361,10 +341,7 @@
|
|
|
361
341
|
"title": "Temperature Step (°C)",
|
|
362
342
|
"type": "number",
|
|
363
343
|
"required": true,
|
|
364
|
-
"enum": [
|
|
365
|
-
0.5,
|
|
366
|
-
1
|
|
367
|
-
]
|
|
344
|
+
"enum": [0.5, 1]
|
|
368
345
|
},
|
|
369
346
|
"burningStateSensor": {
|
|
370
347
|
"title": "Burning State Sensor",
|
|
@@ -407,13 +384,7 @@
|
|
|
407
384
|
"expandable": true,
|
|
408
385
|
"expanded": false,
|
|
409
386
|
"title": "Optional Settings",
|
|
410
|
-
"items": [
|
|
411
|
-
"refreshInterval",
|
|
412
|
-
"heartbeatInterval",
|
|
413
|
-
"verbose",
|
|
414
|
-
"logRecoverableErrors",
|
|
415
|
-
"uiDebug"
|
|
416
|
-
]
|
|
387
|
+
"items": ["refreshInterval", "heartbeatInterval", "verbose", "logRecoverableErrors", "uiDebug"]
|
|
417
388
|
},
|
|
418
389
|
{
|
|
419
390
|
"key": "devices",
|
|
@@ -448,7 +419,8 @@
|
|
|
448
419
|
"devices[].A1_options.waterTankSensor",
|
|
449
420
|
"devices[].A1_options.minHumidity",
|
|
450
421
|
"devices[].A1_options.maxHumidity",
|
|
451
|
-
"devices[].A1_options.humidityStep"
|
|
422
|
+
"devices[].A1_options.humidityStep",
|
|
423
|
+
"devices[].A1_options.humidityOffset"
|
|
452
424
|
]
|
|
453
425
|
},
|
|
454
426
|
{
|
|
@@ -471,13 +443,11 @@
|
|
|
471
443
|
"devices[].AC_options.ecoSwitch",
|
|
472
444
|
"devices[].AC_options.breezeAwaySwitch",
|
|
473
445
|
"devices[].AC_options.dryModeSwitch",
|
|
446
|
+
"devices[].AC_options.boostModeSwitch",
|
|
474
447
|
"devices[].AC_options.auxHeatingSwitches",
|
|
475
448
|
{
|
|
476
449
|
"key": "devices[].AC_options.displaySwitch",
|
|
477
|
-
"items": [
|
|
478
|
-
"devices[].AC_options.displaySwitch.flag",
|
|
479
|
-
"devices[].AC_options.displaySwitch.command"
|
|
480
|
-
]
|
|
450
|
+
"items": ["devices[].AC_options.displaySwitch.flag", "devices[].AC_options.displaySwitch.command"]
|
|
481
451
|
},
|
|
482
452
|
"devices[].AC_options.minTemp",
|
|
483
453
|
"devices[].AC_options.maxTemp",
|
|
@@ -521,4 +491,4 @@
|
|
|
521
491
|
]
|
|
522
492
|
}
|
|
523
493
|
]
|
|
524
|
-
}
|
|
494
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
2
|
-
import AirConditionerAccessory from './AirConditionerAccessory';
|
|
3
|
-
import DehumidifierAccessory from './DehumidifierAccessory';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
2
|
+
import AirConditionerAccessory from './AirConditionerAccessory';
|
|
3
|
+
import DehumidifierAccessory from './DehumidifierAccessory';
|
|
4
|
+
import FrontLoadWasherAccessory from './FrontLoadWasherAccessory';
|
|
5
|
+
import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
|
|
6
|
+
import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
|
|
7
|
+
import FanAccessory from './FanAccessory';
|
|
8
|
+
import MideaDevice from '../core/MideaDevice';
|
|
9
|
+
import { DeviceConfig } from '../platformUtils';
|
|
10
|
+
export default class AccessoryFactory {
|
|
11
|
+
static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | FrontLoadWasherAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | undefined;
|
|
12
|
+
}
|
|
12
13
|
//# sourceMappingURL=AccessoryFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAShD,MAAM,CAAC,OAAO,OAAO,gBAAgB;WACrB,eAAe,CAAC,CAAC,SAAS,WAAW,EACjD,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,YAAY;CAiB1B"}
|
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const MideaConstants_1 = require("../core/MideaConstants");
|
|
7
|
-
const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
|
|
8
|
-
const DehumidifierAccessory_1 = __importDefault(require("./DehumidifierAccessory"));
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const MideaConstants_1 = require("../core/MideaConstants");
|
|
7
|
+
const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
|
|
8
|
+
const DehumidifierAccessory_1 = __importDefault(require("./DehumidifierAccessory"));
|
|
9
|
+
const FrontLoadWasherAccessory_1 = __importDefault(require("./FrontLoadWasherAccessory"));
|
|
10
|
+
const ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
|
|
11
|
+
const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
|
|
12
|
+
const FanAccessory_1 = __importDefault(require("./FanAccessory"));
|
|
13
|
+
class AccessoryFactory {
|
|
14
|
+
static createAccessory(platform, accessory, device, configDev) {
|
|
15
|
+
switch (device.type) {
|
|
16
|
+
case MideaConstants_1.DeviceType.AIR_CONDITIONER:
|
|
17
|
+
return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
|
|
18
|
+
case MideaConstants_1.DeviceType.DEHUMIDIFIER:
|
|
19
|
+
return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
|
|
20
|
+
case MideaConstants_1.DeviceType.FRONT_LOAD_WASHER:
|
|
21
|
+
return new FrontLoadWasherAccessory_1.default(platform, accessory, device, configDev);
|
|
22
|
+
case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
|
|
23
|
+
return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
|
|
24
|
+
case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
|
|
25
|
+
return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
|
|
26
|
+
case MideaConstants_1.DeviceType.FAN:
|
|
27
|
+
return new FanAccessory_1.default(platform, accessory, device, configDev);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = AccessoryFactory;
|
|
29
32
|
//# sourceMappingURL=AccessoryFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AAEpD,wFAAgE;AAChE,oFAA4D;AAC5D,kGAA0E;AAC1E,wFAAgE;AAChE,kEAA0C;
|
|
1
|
+
{"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AAEpD,wFAAgE;AAChE,oFAA4D;AAC5D,0FAAkE;AAClE,kGAA0E;AAC1E,wFAAgE;AAChE,kEAA0C;AAY1C,MAAqB,gBAAgB;IAC5B,MAAM,CAAC,eAAe,CAC3B,QAAuB,EACvB,SAAyB,EACzB,MAAS,EACT,SAAuB;QAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,2BAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,2BAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,+BAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACvG,KAAK,2BAAU,CAAC,iBAAiB;gBAC/B,OAAO,IAAI,kCAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC1G,KAAK,2BAAU,CAAC,qBAAqB;gBACnC,OAAO,IAAI,sCAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC9G,KAAK,2BAAU,CAAC,gBAAgB;gBAC9B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,2BAAU,CAAC,GAAG;gBACjB,OAAO,IAAI,sBAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;SAC/F;IACH,CAAC;CACF;AAtBD,mCAsBC"}
|
|
@@ -1,87 +1,90 @@
|
|
|
1
|
-
/***********************************************************************
|
|
2
|
-
* Midea Platform Air Conditioner Accessory class
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
5
|
-
*
|
|
6
|
-
* Based on https://github.com/homebridge/homebridge-plugin-template
|
|
7
|
-
*
|
|
8
|
-
* An instance of this class is created for each accessory the platform registers.
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
import { CharacteristicValue } from 'homebridge';
|
|
12
|
-
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
13
|
-
import BaseAccessory from './BaseAccessory';
|
|
14
|
-
import { DeviceConfig } from '../platformUtils';
|
|
15
|
-
import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice';
|
|
16
|
-
export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
|
|
17
|
-
protected readonly device: MideaACDevice;
|
|
18
|
-
protected readonly configDev: DeviceConfig;
|
|
19
|
-
private service;
|
|
20
|
-
private outDoorTemperatureService?;
|
|
21
|
-
private displayService?;
|
|
22
|
-
private fanOnlyService?;
|
|
23
|
-
private fanService?;
|
|
24
|
-
private ecoModeService?;
|
|
25
|
-
private breezeAwayService?;
|
|
26
|
-
private dryModeService?;
|
|
27
|
-
private
|
|
28
|
-
private
|
|
29
|
-
private
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
1
|
+
/***********************************************************************
|
|
2
|
+
* Midea Platform Air Conditioner Accessory class
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
5
|
+
*
|
|
6
|
+
* Based on https://github.com/homebridge/homebridge-plugin-template
|
|
7
|
+
*
|
|
8
|
+
* An instance of this class is created for each accessory the platform registers.
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
import { CharacteristicValue } from 'homebridge';
|
|
12
|
+
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
13
|
+
import BaseAccessory from './BaseAccessory';
|
|
14
|
+
import { DeviceConfig } from '../platformUtils';
|
|
15
|
+
import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice';
|
|
16
|
+
export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
|
|
17
|
+
protected readonly device: MideaACDevice;
|
|
18
|
+
protected readonly configDev: DeviceConfig;
|
|
19
|
+
private service;
|
|
20
|
+
private outDoorTemperatureService?;
|
|
21
|
+
private displayService?;
|
|
22
|
+
private fanOnlyService?;
|
|
23
|
+
private fanService?;
|
|
24
|
+
private ecoModeService?;
|
|
25
|
+
private breezeAwayService?;
|
|
26
|
+
private dryModeService?;
|
|
27
|
+
private boostModeService?;
|
|
28
|
+
private auxService?;
|
|
29
|
+
private auxHeatingService?;
|
|
30
|
+
private swingAngleService?;
|
|
31
|
+
private swingAngleMainControl;
|
|
32
|
+
/*********************************************************************
|
|
33
|
+
* Constructor registers all the service types with Homebridge, registers
|
|
34
|
+
* a callback function with the MideaDevice class, and requests device status.
|
|
35
|
+
*/
|
|
36
|
+
constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
|
|
37
|
+
/*********************************************************************
|
|
38
|
+
* Callback function called by MideaDevice whenever there is a change to
|
|
39
|
+
* any attribute value.
|
|
40
|
+
*/
|
|
41
|
+
protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
|
|
42
|
+
/*********************************************************************
|
|
43
|
+
* Callback functions for each Homebridge/HomeKit service
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
getActive(): CharacteristicValue;
|
|
47
|
+
setActive(value: CharacteristicValue): Promise<void>;
|
|
48
|
+
getTemperatureDisplayUnits(): CharacteristicValue;
|
|
49
|
+
setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
|
|
50
|
+
getCurrentHeaterCoolerState(): CharacteristicValue;
|
|
51
|
+
getTargetHeaterCoolerState(): CharacteristicValue;
|
|
52
|
+
setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
|
|
53
|
+
getCurrentTemperature(): CharacteristicValue;
|
|
54
|
+
getTargetTemperature(): CharacteristicValue;
|
|
55
|
+
getFanOnlyMode(): CharacteristicValue;
|
|
56
|
+
setFanOnlyMode(value: CharacteristicValue): Promise<void>;
|
|
57
|
+
getFanState(): CharacteristicValue;
|
|
58
|
+
setFanState(value: CharacteristicValue): Promise<void>;
|
|
59
|
+
setTargetTemperature(value: CharacteristicValue): Promise<void>;
|
|
60
|
+
getSwingMode(): CharacteristicValue;
|
|
61
|
+
setSwingMode(value: CharacteristicValue): Promise<void>;
|
|
62
|
+
getRotationSpeed(): CharacteristicValue;
|
|
63
|
+
setRotationSpeed(value: CharacteristicValue): Promise<void>;
|
|
64
|
+
getOutdoorTemperature(): CharacteristicValue;
|
|
65
|
+
getDisplayActive(): CharacteristicValue;
|
|
66
|
+
setDisplayActive(value: CharacteristicValue): Promise<void>;
|
|
67
|
+
getEcoMode(): CharacteristicValue;
|
|
68
|
+
setEcoMode(value: CharacteristicValue): Promise<void>;
|
|
69
|
+
getBreezeAway(): CharacteristicValue;
|
|
70
|
+
setBreezeAway(value: CharacteristicValue): Promise<void>;
|
|
71
|
+
getDryMode(): CharacteristicValue;
|
|
72
|
+
setDryMode(value: CharacteristicValue): Promise<void>;
|
|
73
|
+
getBoostMode(): CharacteristicValue;
|
|
74
|
+
setBoostMode(value: CharacteristicValue): Promise<void>;
|
|
75
|
+
getAux(): CharacteristicValue;
|
|
76
|
+
setAux(value: CharacteristicValue): Promise<void>;
|
|
77
|
+
getAuxHeating(): CharacteristicValue;
|
|
78
|
+
setAuxHeating(value: CharacteristicValue): Promise<void>;
|
|
79
|
+
getSwingAngleCurrentPosition(): CharacteristicValue;
|
|
80
|
+
getSwingAngleTargetPosition(): CharacteristicValue;
|
|
81
|
+
setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
|
|
82
|
+
getSwingAnglePositionState(): CharacteristicValue;
|
|
83
|
+
getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
|
|
84
|
+
getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
|
|
85
|
+
setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
|
|
86
|
+
getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
|
|
87
|
+
getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
|
|
88
|
+
setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
|
|
89
|
+
}
|
|
87
90
|
//# sourceMappingURL=AirConditionerAccessory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,mBAAmB,EAAW,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAyB,MAAM,kBAAkB,CAAC;AACvE,OAAO,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"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"}
|