homebridge-midea-platform 1.1.0-beta.4 → 1.1.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.
Files changed (72) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/CHANGELOG.md +3 -0
  3. package/config.schema.json +8 -1
  4. package/dist/accessory/AccessoryFactory.d.ts +11 -11
  5. package/dist/accessory/AccessoryFactory.js +28 -28
  6. package/dist/accessory/AirConditionerAccessory.d.ts +86 -86
  7. package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
  8. package/dist/accessory/AirConditionerAccessory.js +560 -561
  9. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  10. package/dist/accessory/BaseAccessory.d.ts +11 -11
  11. package/dist/accessory/BaseAccessory.js +21 -21
  12. package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
  13. package/dist/accessory/DehumidifierAccessory.js +343 -343
  14. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
  15. package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
  16. package/dist/accessory/FanAccessory.d.ts +39 -39
  17. package/dist/accessory/FanAccessory.js +123 -123
  18. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
  19. package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
  20. package/dist/core/MideaCloud.d.ts +35 -35
  21. package/dist/core/MideaCloud.js +350 -350
  22. package/dist/core/MideaConstants.d.ts +48 -48
  23. package/dist/core/MideaConstants.js +56 -56
  24. package/dist/core/MideaDevice.d.ts +76 -76
  25. package/dist/core/MideaDevice.js +409 -409
  26. package/dist/core/MideaDiscover.d.ts +35 -35
  27. package/dist/core/MideaDiscover.js +212 -212
  28. package/dist/core/MideaMessage.d.ts +75 -75
  29. package/dist/core/MideaMessage.js +184 -184
  30. package/dist/core/MideaPacketBuilder.d.ts +10 -10
  31. package/dist/core/MideaPacketBuilder.js +60 -60
  32. package/dist/core/MideaSecurity.d.ts +63 -63
  33. package/dist/core/MideaSecurity.js +242 -242
  34. package/dist/core/MideaUtils.d.ts +32 -32
  35. package/dist/core/MideaUtils.js +181 -181
  36. package/dist/devices/DeviceFactory.d.ts +11 -11
  37. package/dist/devices/DeviceFactory.js +30 -30
  38. package/dist/devices/a1/MideaA1Device.d.ts +76 -76
  39. package/dist/devices/a1/MideaA1Device.js +136 -136
  40. package/dist/devices/a1/MideaA1Message.d.ts +40 -40
  41. package/dist/devices/a1/MideaA1Message.js +198 -198
  42. package/dist/devices/ac/MideaACDevice.d.ts +100 -98
  43. package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
  44. package/dist/devices/ac/MideaACDevice.js +370 -357
  45. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  46. package/dist/devices/ac/MideaACMessage.d.ts +92 -92
  47. package/dist/devices/ac/MideaACMessage.js +589 -589
  48. package/dist/devices/e2/MideaE2Device.d.ts +44 -44
  49. package/dist/devices/e2/MideaE2Device.js +119 -119
  50. package/dist/devices/e2/MideaE2Message.d.ts +33 -33
  51. package/dist/devices/e2/MideaE2Message.js +132 -132
  52. package/dist/devices/e3/MideaE3Device.d.ts +43 -43
  53. package/dist/devices/e3/MideaE3Device.js +125 -125
  54. package/dist/devices/e3/MideaE3Message.d.ts +51 -51
  55. package/dist/devices/e3/MideaE3Message.js +136 -136
  56. package/dist/devices/fa/MideaFADevice.d.ts +36 -36
  57. package/dist/devices/fa/MideaFADevice.js +92 -92
  58. package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
  59. package/dist/devices/fa/MideaFAMessage.js +98 -98
  60. package/dist/index.d.ts +6 -6
  61. package/dist/index.js +6 -6
  62. package/dist/platform.d.ts +60 -60
  63. package/dist/platform.js +213 -213
  64. package/dist/platformUtils.d.ts +97 -96
  65. package/dist/platformUtils.d.ts.map +1 -1
  66. package/dist/platformUtils.js +95 -94
  67. package/dist/platformUtils.js.map +1 -1
  68. package/dist/settings.d.ts +8 -8
  69. package/dist/settings.js +11 -11
  70. package/docs/ac.md +2 -0
  71. package/docs/fa.md +3 -0
  72. package/package.json +1 -1
@@ -1,95 +1,96 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultDeviceConfig = exports.WaterTankSensor = exports.SwingAngle = exports.SwingMode = exports.defaultConfig = void 0;
4
- exports.defaultConfig = {
5
- refreshInterval: 30,
6
- heartbeatInterval: 10,
7
- verbose: false,
8
- logRecoverableErrors: true,
9
- uiDebug: false,
10
- devices: [],
11
- };
12
- var SwingMode;
13
- (function (SwingMode) {
14
- SwingMode["NONE"] = "None";
15
- SwingMode["VERTICAL"] = "Vertical";
16
- SwingMode["HORIZONTAL"] = "Horizontal";
17
- SwingMode["BOTH"] = "Both";
18
- })(SwingMode = exports.SwingMode || (exports.SwingMode = {}));
19
- var SwingAngle;
20
- (function (SwingAngle) {
21
- SwingAngle["VERTICAL"] = "Vertical";
22
- SwingAngle["HORIZONTAL"] = "Horizontal";
23
- })(SwingAngle = exports.SwingAngle || (exports.SwingAngle = {}));
24
- var WaterTankSensor;
25
- (function (WaterTankSensor) {
26
- WaterTankSensor["NONE"] = "None";
27
- WaterTankSensor["LEAK_SENSOR"] = "Leak Sensor";
28
- WaterTankSensor["CONTACT_SENSOR"] = "Contact Sensor";
29
- })(WaterTankSensor = exports.WaterTankSensor || (exports.WaterTankSensor = {}));
30
- exports.defaultDeviceConfig = {
31
- id: 0,
32
- type: '',
33
- advanced_options: {
34
- ip: '',
35
- token: '',
36
- key: '',
37
- verbose: false,
38
- logRecoverableErrors: true,
39
- registerIfOffline: false,
40
- },
41
- AC_options: {
42
- swing: {
43
- mode: SwingMode.NONE,
44
- angleAccessory: false,
45
- angleMainControl: SwingAngle.VERTICAL,
46
- },
47
- heatingCapable: true,
48
- displaySwitch: {
49
- flag: true,
50
- command: false,
51
- },
52
- minTemp: 16,
53
- maxTemp: 30,
54
- tempStep: 1,
55
- fahrenheit: false,
56
- fanOnlyModeSwitch: false,
57
- fanAccessory: false,
58
- ecoSwitch: false,
59
- outDoorTemp: false,
60
- breezeAwaySwitch: false,
61
- auxHeatingSwitches: false,
62
- dryModeSwitch: false,
63
- audioFeedback: false,
64
- },
65
- A1_options: {
66
- temperatureSensor: false,
67
- fanAccessory: false,
68
- humiditySensor: false,
69
- pumpSwitch: false,
70
- waterTankSensor: WaterTankSensor.NONE,
71
- minHumidity: 35,
72
- maxHumidity: 85,
73
- humidityStep: 5,
74
- },
75
- E2_options: {
76
- protocol: 'auto',
77
- minTemp: 30,
78
- maxTemp: 75,
79
- tempStep: 1,
80
- variableHeatingSwitch: false,
81
- wholeTankHeatingSwitch: false,
82
- },
83
- E3_options: {
84
- precisionHalves: false,
85
- minTemp: 35,
86
- maxTemp: 65,
87
- tempStep: 1,
88
- burningStateSensor: false,
89
- protectionSensor: false,
90
- zeroColdWaterSwitch: false,
91
- zeroColdPulseSwitch: false,
92
- smartVolumeSwitch: false,
93
- },
94
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultDeviceConfig = exports.WaterTankSensor = exports.SwingAngle = exports.SwingMode = exports.defaultConfig = void 0;
4
+ exports.defaultConfig = {
5
+ refreshInterval: 30,
6
+ heartbeatInterval: 10,
7
+ verbose: false,
8
+ logRecoverableErrors: true,
9
+ uiDebug: false,
10
+ devices: [],
11
+ };
12
+ var SwingMode;
13
+ (function (SwingMode) {
14
+ SwingMode["NONE"] = "None";
15
+ SwingMode["VERTICAL"] = "Vertical";
16
+ SwingMode["HORIZONTAL"] = "Horizontal";
17
+ SwingMode["BOTH"] = "Both";
18
+ })(SwingMode = exports.SwingMode || (exports.SwingMode = {}));
19
+ var SwingAngle;
20
+ (function (SwingAngle) {
21
+ SwingAngle["VERTICAL"] = "Vertical";
22
+ SwingAngle["HORIZONTAL"] = "Horizontal";
23
+ })(SwingAngle = exports.SwingAngle || (exports.SwingAngle = {}));
24
+ var WaterTankSensor;
25
+ (function (WaterTankSensor) {
26
+ WaterTankSensor["NONE"] = "None";
27
+ WaterTankSensor["LEAK_SENSOR"] = "Leak Sensor";
28
+ WaterTankSensor["CONTACT_SENSOR"] = "Contact Sensor";
29
+ })(WaterTankSensor = exports.WaterTankSensor || (exports.WaterTankSensor = {}));
30
+ exports.defaultDeviceConfig = {
31
+ id: 0,
32
+ type: '',
33
+ advanced_options: {
34
+ ip: '',
35
+ token: '',
36
+ key: '',
37
+ verbose: false,
38
+ logRecoverableErrors: true,
39
+ registerIfOffline: false,
40
+ },
41
+ AC_options: {
42
+ swing: {
43
+ mode: SwingMode.NONE,
44
+ angleAccessory: false,
45
+ angleMainControl: SwingAngle.VERTICAL,
46
+ },
47
+ heatingCapable: true,
48
+ outDoorTemp: false,
49
+ audioFeedback: false,
50
+ screenOff: false,
51
+ ecoSwitch: false,
52
+ dryModeSwitch: false,
53
+ breezeAwaySwitch: false,
54
+ displaySwitch: {
55
+ flag: true,
56
+ command: false,
57
+ },
58
+ auxHeatingSwitches: false,
59
+ minTemp: 16,
60
+ maxTemp: 30,
61
+ tempStep: 1,
62
+ fahrenheit: false,
63
+ fanOnlyModeSwitch: false,
64
+ fanAccessory: false,
65
+ },
66
+ A1_options: {
67
+ temperatureSensor: false,
68
+ fanAccessory: false,
69
+ humiditySensor: false,
70
+ pumpSwitch: false,
71
+ waterTankSensor: WaterTankSensor.NONE,
72
+ minHumidity: 35,
73
+ maxHumidity: 85,
74
+ humidityStep: 5,
75
+ },
76
+ E2_options: {
77
+ protocol: 'auto',
78
+ minTemp: 30,
79
+ maxTemp: 75,
80
+ tempStep: 1,
81
+ variableHeatingSwitch: false,
82
+ wholeTankHeatingSwitch: false,
83
+ },
84
+ E3_options: {
85
+ precisionHalves: false,
86
+ minTemp: 35,
87
+ maxTemp: 65,
88
+ tempStep: 1,
89
+ burningStateSensor: false,
90
+ protectionSensor: false,
91
+ zeroColdWaterSwitch: false,
92
+ zeroColdPulseSwitch: false,
93
+ smartVolumeSwitch: false,
94
+ },
95
+ };
95
96
  //# sourceMappingURL=platformUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":";;;AASa,QAAA,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAoBF,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8CAA2B,CAAA;IAC3B,oDAAiC,CAAA;AACnC,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AA2DY,QAAA,mBAAmB,GAAiB;IAC/C,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE;QAChB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,KAAK;QACd,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,UAAU,CAAC,QAAQ;SACtC;QACD,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,KAAK;KACrB;IACD,UAAU,EAAE;QACV,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,eAAe,CAAC,IAAI;QACrC,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,KAAK;KACzB;CACF,CAAC"}
1
+ {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":";;;AASa,QAAA,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAoBF,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8CAA2B,CAAA;IAC3B,oDAAiC,CAAA;AACnC,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AA4DY,QAAA,mBAAmB,GAAiB;IAC/C,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE;QAChB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,KAAK;QACd,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,UAAU,CAAC,QAAQ;SACtC;QACD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf;QACD,kBAAkB,EAAE,KAAK;QACzB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,eAAe,CAAC,IAAI;QACrC,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,KAAK;KACzB;CACF,CAAC"}
@@ -1,9 +1,9 @@
1
- /**
2
- * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
3
- */
4
- export declare const PLATFORM_NAME = "midea-platform";
5
- /**
6
- * This must match the name of your plugin as defined the package.json
7
- */
8
- export declare const PLUGIN_NAME = "homebridge-midea-platform";
1
+ /**
2
+ * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
3
+ */
4
+ export declare const PLATFORM_NAME = "midea-platform";
5
+ /**
6
+ * This must match the name of your plugin as defined the package.json
7
+ */
8
+ export declare const PLUGIN_NAME = "homebridge-midea-platform";
9
9
  //# sourceMappingURL=settings.d.ts.map
package/dist/settings.js CHANGED
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
4
- /**
5
- * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
6
- */
7
- exports.PLATFORM_NAME = 'midea-platform';
8
- /**
9
- * This must match the name of your plugin as defined the package.json
10
- */
11
- exports.PLUGIN_NAME = 'homebridge-midea-platform';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
4
+ /**
5
+ * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
6
+ */
7
+ exports.PLATFORM_NAME = 'midea-platform';
8
+ /**
9
+ * This must match the name of your plugin as defined the package.json
10
+ */
11
+ exports.PLUGIN_NAME = 'homebridge-midea-platform';
12
12
  //# sourceMappingURL=settings.js.map
package/docs/ac.md CHANGED
@@ -12,6 +12,7 @@ Providing air conditioner settings is optional and the whole section or individu
12
12
  "heatingCapable": true,
13
13
  "outDoorTemp": false,
14
14
  "audioFeedback": false,
15
+ "screenOff": false,
15
16
  "ecoSwitch": false,
16
17
  "dryModeSwitch": false,
17
18
  "breezeAwaySwitch": false,
@@ -36,6 +37,7 @@ Providing air conditioner settings is optional and the whole section or individu
36
37
  - **heatingCapable** *(optional)*: Toggles if the unit is capable of heating. Default is `true`.
37
38
  - **outDoorTemp** *(optional)*: Toggles if the outdoor temperature sensor is created with the accessory. Default is `false`.
38
39
  - **audioFeedback** *(optional)*: Toggles if the unit beeps when a command is sent, default is false.
40
+ - **screenOff** *(optional)*: Toggles if the screen is turned off by default when the unit is turned on. Default is `false`.
39
41
  - **ecoSwitch** *(optional)*: Toggles if the eco switch is created with the accessory. Default is `false`.
40
42
  - **dryModeSwitch** *(optional)*: Toggles if the dry mode switch is created with the accessory. Default is `false`.
41
43
  - **breezeAwaySwitch** *(optional)*: Toggles if the breeze away switch is created with the accessory. Default is `false`.
package/docs/fa.md ADDED
@@ -0,0 +1,3 @@
1
+ # Fan
2
+
3
+ Fan currently does not have any available options.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Midea Platform",
3
3
  "name": "homebridge-midea-platform",
4
- "version": "1.1.0-beta.4",
4
+ "version": "1.1.0",
5
5
  "description": "Homebridge plugin for Midea devices",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {