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.
Files changed (100) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/AC_ori.lua +5150 -0
  3. package/CHANGELOG.md +9 -1
  4. package/README.md +1 -0
  5. package/config.schema.json +26 -56
  6. package/dist/accessory/AccessoryFactory.d.ts +12 -11
  7. package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
  8. package/dist/accessory/AccessoryFactory.js +31 -28
  9. package/dist/accessory/AccessoryFactory.js.map +1 -1
  10. package/dist/accessory/AirConditionerAccessory.d.ts +89 -86
  11. package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
  12. package/dist/accessory/AirConditionerAccessory.js +584 -560
  13. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  14. package/dist/accessory/BaseAccessory.d.ts +11 -11
  15. package/dist/accessory/BaseAccessory.js +21 -21
  16. package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
  17. package/dist/accessory/DehumidifierAccessory.d.ts.map +1 -1
  18. package/dist/accessory/DehumidifierAccessory.js +345 -343
  19. package/dist/accessory/DehumidifierAccessory.js.map +1 -1
  20. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
  21. package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
  22. package/dist/accessory/FanAccessory.d.ts +39 -39
  23. package/dist/accessory/FanAccessory.js +123 -123
  24. package/dist/accessory/FrontLoadWasherAccessory.d.ts +31 -0
  25. package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +1 -0
  26. package/dist/accessory/FrontLoadWasherAccessory.js +61 -0
  27. package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -0
  28. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
  29. package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
  30. package/dist/core/MideaCloud.d.ts +35 -35
  31. package/dist/core/MideaCloud.js +350 -350
  32. package/dist/core/MideaConstants.d.ts +49 -48
  33. package/dist/core/MideaConstants.d.ts.map +1 -1
  34. package/dist/core/MideaConstants.js +57 -56
  35. package/dist/core/MideaConstants.js.map +1 -1
  36. package/dist/core/MideaDevice.d.ts +76 -76
  37. package/dist/core/MideaDevice.d.ts.map +1 -1
  38. package/dist/core/MideaDevice.js +411 -411
  39. package/dist/core/MideaDiscover.d.ts +35 -35
  40. package/dist/core/MideaDiscover.js +212 -212
  41. package/dist/core/MideaMessage.d.ts +75 -75
  42. package/dist/core/MideaMessage.js +184 -184
  43. package/dist/core/MideaPacketBuilder.d.ts +10 -10
  44. package/dist/core/MideaPacketBuilder.js +60 -60
  45. package/dist/core/MideaSecurity.d.ts +63 -63
  46. package/dist/core/MideaSecurity.d.ts.map +1 -1
  47. package/dist/core/MideaSecurity.js +251 -242
  48. package/dist/core/MideaSecurity.js.map +1 -1
  49. package/dist/core/MideaUtils.d.ts +32 -32
  50. package/dist/core/MideaUtils.js +181 -181
  51. package/dist/devices/DeviceFactory.d.ts +12 -11
  52. package/dist/devices/DeviceFactory.d.ts.map +1 -1
  53. package/dist/devices/DeviceFactory.js +33 -30
  54. package/dist/devices/DeviceFactory.js.map +1 -1
  55. package/dist/devices/a1/MideaA1Device.d.ts +76 -76
  56. package/dist/devices/a1/MideaA1Device.js +136 -136
  57. package/dist/devices/a1/MideaA1Message.d.ts +40 -40
  58. package/dist/devices/a1/MideaA1Message.js +198 -198
  59. package/dist/devices/ac/MideaACDevice.d.ts +100 -100
  60. package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
  61. package/dist/devices/ac/MideaACDevice.js +381 -370
  62. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  63. package/dist/devices/ac/MideaACMessage.d.ts +92 -92
  64. package/dist/devices/ac/MideaACMessage.js +589 -589
  65. package/dist/devices/db/MideaDBDevice.d.ts +30 -0
  66. package/dist/devices/db/MideaDBDevice.d.ts.map +1 -0
  67. package/dist/devices/db/MideaDBDevice.js +90 -0
  68. package/dist/devices/db/MideaDBDevice.js.map +1 -0
  69. package/dist/devices/db/MideaDBMessage.d.ts +33 -0
  70. package/dist/devices/db/MideaDBMessage.d.ts.map +1 -0
  71. package/dist/devices/db/MideaDBMessage.js +102 -0
  72. package/dist/devices/db/MideaDBMessage.js.map +1 -0
  73. package/dist/devices/e2/MideaE2Device.d.ts +44 -44
  74. package/dist/devices/e2/MideaE2Device.js +119 -119
  75. package/dist/devices/e2/MideaE2Message.d.ts +33 -33
  76. package/dist/devices/e2/MideaE2Message.js +132 -132
  77. package/dist/devices/e3/MideaE3Device.d.ts +43 -43
  78. package/dist/devices/e3/MideaE3Device.js +125 -125
  79. package/dist/devices/e3/MideaE3Message.d.ts +51 -51
  80. package/dist/devices/e3/MideaE3Message.js +136 -136
  81. package/dist/devices/fa/MideaFADevice.d.ts +36 -36
  82. package/dist/devices/fa/MideaFADevice.js +92 -92
  83. package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
  84. package/dist/devices/fa/MideaFAMessage.js +98 -98
  85. package/dist/index.d.ts +6 -6
  86. package/dist/index.js +6 -6
  87. package/dist/platform.d.ts +60 -60
  88. package/dist/platform.d.ts.map +1 -1
  89. package/dist/platform.js +212 -213
  90. package/dist/platform.js.map +1 -1
  91. package/dist/platformUtils.d.ts +99 -97
  92. package/dist/platformUtils.d.ts.map +1 -1
  93. package/dist/platformUtils.js +97 -95
  94. package/dist/platformUtils.js.map +1 -1
  95. package/dist/settings.d.ts +8 -8
  96. package/dist/settings.js +11 -11
  97. package/docs/ac.md +2 -0
  98. package/docs/db.md +3 -0
  99. package/homebridge-ui/server.js +30 -26
  100. package/package.json +1 -1
@@ -1,98 +1,100 @@
1
- export type Config = {
2
- refreshInterval: number;
3
- heartbeatInterval: number;
4
- verbose: boolean;
5
- logRecoverableErrors: boolean;
6
- uiDebug: boolean;
7
- devices: DeviceConfig[];
8
- };
9
- export declare const defaultConfig: Config;
10
- export type DeviceConfig = {
11
- name?: string;
12
- id: number;
13
- type: string;
14
- advanced_options: {
15
- ip: string;
16
- token: string;
17
- key: string;
18
- verbose: boolean;
19
- logRecoverableErrors: boolean;
20
- registerIfOffline: boolean;
21
- };
22
- AC_options: ACOptions;
23
- A1_options: A1Options;
24
- E2_options: E2Options;
25
- E3_options: E3Options;
26
- };
27
- export declare enum SwingMode {
28
- NONE = "None",
29
- VERTICAL = "Vertical",
30
- HORIZONTAL = "Horizontal",
31
- BOTH = "Both"
32
- }
33
- export declare enum SwingAngle {
34
- VERTICAL = "Vertical",
35
- HORIZONTAL = "Horizontal"
36
- }
37
- export declare enum WaterTankSensor {
38
- NONE = "None",
39
- LEAK_SENSOR = "Leak Sensor",
40
- CONTACT_SENSOR = "Contact Sensor"
41
- }
42
- type ACOptions = {
43
- swing: {
44
- mode: SwingMode;
45
- angleAccessory: boolean;
46
- angleMainControl: SwingAngle;
47
- };
48
- heatingCapable: boolean;
49
- ecoSwitch: boolean;
50
- displaySwitch: {
51
- flag: boolean;
52
- command: boolean;
53
- };
54
- minTemp: number;
55
- maxTemp: number;
56
- tempStep: number;
57
- fahrenheit: boolean;
58
- fanOnlyModeSwitch: boolean;
59
- fanAccessory: boolean;
60
- breezeAwaySwitch: boolean;
61
- dryModeSwitch: boolean;
62
- auxHeatingSwitches: boolean;
63
- outDoorTemp: boolean;
64
- audioFeedback: boolean;
65
- screenOff: boolean;
66
- };
67
- type A1Options = {
68
- temperatureSensor: boolean;
69
- fanAccessory: boolean;
70
- humiditySensor: boolean;
71
- pumpSwitch: boolean;
72
- waterTankSensor: WaterTankSensor;
73
- minHumidity: number;
74
- maxHumidity: number;
75
- humidityStep: number;
76
- };
77
- type E2Options = {
78
- protocol: string;
79
- minTemp: number;
80
- maxTemp: number;
81
- tempStep: number;
82
- variableHeatingSwitch: boolean;
83
- wholeTankHeatingSwitch: boolean;
84
- };
85
- type E3Options = {
86
- precisionHalves: boolean;
87
- minTemp: number;
88
- maxTemp: number;
89
- tempStep: number;
90
- burningStateSensor: boolean;
91
- protectionSensor: boolean;
92
- zeroColdWaterSwitch: boolean;
93
- zeroColdPulseSwitch: boolean;
94
- smartVolumeSwitch: boolean;
95
- };
96
- export declare const defaultDeviceConfig: DeviceConfig;
97
- export {};
1
+ export type Config = {
2
+ refreshInterval: number;
3
+ heartbeatInterval: number;
4
+ verbose: boolean;
5
+ logRecoverableErrors: boolean;
6
+ uiDebug: boolean;
7
+ devices: DeviceConfig[];
8
+ };
9
+ export declare const defaultConfig: Config;
10
+ export type DeviceConfig = {
11
+ name?: string;
12
+ id: number;
13
+ type: string;
14
+ advanced_options: {
15
+ ip: string;
16
+ token: string;
17
+ key: string;
18
+ verbose: boolean;
19
+ logRecoverableErrors: boolean;
20
+ registerIfOffline: boolean;
21
+ };
22
+ AC_options: ACOptions;
23
+ A1_options: A1Options;
24
+ E2_options: E2Options;
25
+ E3_options: E3Options;
26
+ };
27
+ export declare enum SwingMode {
28
+ NONE = "None",
29
+ VERTICAL = "Vertical",
30
+ HORIZONTAL = "Horizontal",
31
+ BOTH = "Both"
32
+ }
33
+ export declare enum SwingAngle {
34
+ VERTICAL = "Vertical",
35
+ HORIZONTAL = "Horizontal"
36
+ }
37
+ export declare enum WaterTankSensor {
38
+ NONE = "None",
39
+ LEAK_SENSOR = "Leak Sensor",
40
+ CONTACT_SENSOR = "Contact Sensor"
41
+ }
42
+ type ACOptions = {
43
+ swing: {
44
+ mode: SwingMode;
45
+ angleAccessory: boolean;
46
+ angleMainControl: SwingAngle;
47
+ };
48
+ heatingCapable: boolean;
49
+ ecoSwitch: boolean;
50
+ displaySwitch: {
51
+ flag: boolean;
52
+ command: boolean;
53
+ };
54
+ minTemp: number;
55
+ maxTemp: number;
56
+ tempStep: number;
57
+ fahrenheit: boolean;
58
+ fanOnlyModeSwitch: boolean;
59
+ fanAccessory: boolean;
60
+ breezeAwaySwitch: boolean;
61
+ dryModeSwitch: boolean;
62
+ boostModeSwitch: boolean;
63
+ auxHeatingSwitches: boolean;
64
+ outDoorTemp: boolean;
65
+ audioFeedback: boolean;
66
+ screenOff: boolean;
67
+ };
68
+ type A1Options = {
69
+ temperatureSensor: boolean;
70
+ fanAccessory: boolean;
71
+ humiditySensor: boolean;
72
+ pumpSwitch: boolean;
73
+ waterTankSensor: WaterTankSensor;
74
+ minHumidity: number;
75
+ maxHumidity: number;
76
+ humidityStep: number;
77
+ humidityOffset: number;
78
+ };
79
+ type E2Options = {
80
+ protocol: string;
81
+ minTemp: number;
82
+ maxTemp: number;
83
+ tempStep: number;
84
+ variableHeatingSwitch: boolean;
85
+ wholeTankHeatingSwitch: boolean;
86
+ };
87
+ type E3Options = {
88
+ precisionHalves: boolean;
89
+ minTemp: number;
90
+ maxTemp: number;
91
+ tempStep: number;
92
+ burningStateSensor: boolean;
93
+ protectionSensor: boolean;
94
+ zeroColdWaterSwitch: boolean;
95
+ zeroColdPulseSwitch: boolean;
96
+ smartVolumeSwitch: boolean;
97
+ };
98
+ export declare const defaultDeviceConfig: DeviceConfig;
99
+ export {};
98
100
  //# sourceMappingURL=platformUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
@@ -1,96 +1,98 @@
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
- };
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
+ boostModeSwitch: false,
54
+ breezeAwaySwitch: false,
55
+ displaySwitch: {
56
+ flag: true,
57
+ command: false,
58
+ },
59
+ auxHeatingSwitches: false,
60
+ minTemp: 16,
61
+ maxTemp: 30,
62
+ tempStep: 1,
63
+ fahrenheit: false,
64
+ fanOnlyModeSwitch: false,
65
+ fanAccessory: false,
66
+ },
67
+ A1_options: {
68
+ temperatureSensor: false,
69
+ fanAccessory: false,
70
+ humiditySensor: false,
71
+ pumpSwitch: false,
72
+ waterTankSensor: WaterTankSensor.NONE,
73
+ minHumidity: 35,
74
+ maxHumidity: 85,
75
+ humidityStep: 5,
76
+ humidityOffset: 0,
77
+ },
78
+ E2_options: {
79
+ protocol: 'auto',
80
+ minTemp: 30,
81
+ maxTemp: 75,
82
+ tempStep: 1,
83
+ variableHeatingSwitch: false,
84
+ wholeTankHeatingSwitch: false,
85
+ },
86
+ E3_options: {
87
+ precisionHalves: false,
88
+ minTemp: 35,
89
+ maxTemp: 65,
90
+ tempStep: 1,
91
+ burningStateSensor: false,
92
+ protectionSensor: false,
93
+ zeroColdWaterSwitch: false,
94
+ zeroColdPulseSwitch: false,
95
+ smartVolumeSwitch: false,
96
+ },
97
+ };
96
98
  //# 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;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
+ {"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;AA8DY,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,eAAe,EAAE,KAAK;QACtB,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;QACf,cAAc,EAAE,CAAC;KAClB;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
@@ -15,6 +15,7 @@ Providing air conditioner settings is optional and the whole section or individu
15
15
  "screenOff": false,
16
16
  "ecoSwitch": false,
17
17
  "dryModeSwitch": false,
18
+ "boostModeSwitch": false,
18
19
  "breezeAwaySwitch": false,
19
20
  "displaySwitch": {
20
21
  "flag": true,
@@ -40,6 +41,7 @@ Providing air conditioner settings is optional and the whole section or individu
40
41
  - **screenOff** *(optional)*: Toggles if the screen is turned off by default when the unit is turned on. Default is `false`.
41
42
  - **ecoSwitch** *(optional)*: Toggles if the eco switch is created with the accessory. Default is `false`.
42
43
  - **dryModeSwitch** *(optional)*: Toggles if the dry mode switch is created with the accessory. Default is `false`.
44
+ - **boostModeSwitch** *(optional)*: Toggles if the boost/turbo mode switch is created with the accessory. Default is `false`.
43
45
  - **breezeAwaySwitch** *(optional)*: Toggles if the breeze away switch is created with the accessory. Default is `false`.
44
46
  - **displaySwitch**:
45
47
  - **flag** *(optional)*: Toggles if a switch, which can turn the display on or off will be created or not. Default is `true`.
package/docs/db.md ADDED
@@ -0,0 +1,3 @@
1
+ # Front Load Washers
2
+
3
+ Front Load Washers currently does not have any available options.
@@ -10,16 +10,16 @@
10
10
  const { HomebridgePluginUiServer, RequestError } = require('@homebridge/plugin-ui-utils');
11
11
  const Discover = require('../dist/core/MideaDiscover.js').default;
12
12
  const CloudFactory = require('../dist/core/MideaCloud.js').default;
13
- const { DeviceType, TCPMessageType, ProtocolVersion, Endianness } = require("../dist/core/MideaConstants.js");
14
- const { LocalSecurity } = require("../dist/core/MideaSecurity.js");
15
- const { PromiseSocket } = require("../dist/core/MideaUtils.js");
13
+ const { DeviceType, TCPMessageType, ProtocolVersion, Endianness } = require('../dist/core/MideaConstants.js');
14
+ const { LocalSecurity } = require('../dist/core/MideaSecurity.js');
15
+ const { PromiseSocket } = require('../dist/core/MideaUtils.js');
16
16
  const { defaultConfig, defaultDeviceConfig } = require('../dist/platformUtils.js');
17
17
 
18
18
  const DEFAULT_ACCOUNT = [
19
- BigInt("39182118275972017797890111985649342047468653967530949796945843010512"),
20
- BigInt("29406100301096535908214728322278519471982973450672552249652548883645"),
21
- BigInt("39182118275972017797890111985649342050088014265865102175083010656997")
22
- ]
19
+ BigInt('39182118275972017797890111985649342047468653967530949796945843010512'),
20
+ BigInt('29406100301096535908214728322278519471982973450672552249652548883645'),
21
+ BigInt('39182118275972017797890111985649342050088014265865102175083010656997'),
22
+ ];
23
23
 
24
24
  var _ = require('lodash');
25
25
 
@@ -29,19 +29,19 @@ var _ = require('lodash');
29
29
  */
30
30
  class Logger {
31
31
  _debug;
32
- _Reset = "\x1b[0m";
33
- _Bright = "\x1b[1m";
34
- _Dim = "\x1b[2m";
32
+ _Reset = '\x1b[0m';
33
+ _Bright = '\x1b[1m';
34
+ _Dim = '\x1b[2m';
35
35
 
36
- _FgBlack = "\x1b[30m";
37
- _FgRed = "\x1b[31m";
38
- _FgGreen = "\x1b[32m";
39
- _FgYellow = "\x1b[33m";
40
- _FgBlue = "\x1b[34m";
41
- _FgMagenta = "\x1b[35m";
42
- _FgCyan = "\x1b[36m";
43
- _FgWhite = "\x1b[37m";
44
- _FgGray = "\x1b[90m";
36
+ _FgBlack = '\x1b[30m';
37
+ _FgRed = '\x1b[31m';
38
+ _FgGreen = '\x1b[32m';
39
+ _FgYellow = '\x1b[33m';
40
+ _FgBlue = '\x1b[34m';
41
+ _FgMagenta = '\x1b[35m';
42
+ _FgCyan = '\x1b[36m';
43
+ _FgWhite = '\x1b[37m';
44
+ _FgGray = '\x1b[90m';
45
45
 
46
46
  constructor(uiDebug = false) {
47
47
  this._debug = uiDebug;
@@ -70,7 +70,6 @@ class Logger {
70
70
  * Main server-side script called when Custom UI client sends requests
71
71
  */
72
72
  class UiServer extends HomebridgePluginUiServer {
73
-
74
73
  cloud;
75
74
  promiseSocket;
76
75
  security;
@@ -92,8 +91,8 @@ class UiServer extends HomebridgePluginUiServer {
92
91
  if (useDefaultProfile) {
93
92
  this.logger.debug(`Using default profile.`);
94
93
  registeredApp = 'Midea SmartHome (MSmartHome)';
95
- username = Buffer.from((DEFAULT_ACCOUNT[0] ^ DEFAULT_ACCOUNT[1]).toString(16), 'hex').toString('ascii')
96
- password = Buffer.from((DEFAULT_ACCOUNT[0] ^ DEFAULT_ACCOUNT[2]).toString(16), 'hex').toString('ascii')
94
+ username = Buffer.from((DEFAULT_ACCOUNT[0] ^ DEFAULT_ACCOUNT[1]).toString(16), 'hex').toString('ascii');
95
+ password = Buffer.from((DEFAULT_ACCOUNT[0] ^ DEFAULT_ACCOUNT[2]).toString(16), 'hex').toString('ascii');
97
96
  }
98
97
  this.cloud = CloudFactory.createCloud(username, password, registeredApp);
99
98
  if (username && password && registeredApp) {
@@ -136,9 +135,7 @@ class UiServer extends HomebridgePluginUiServer {
136
135
  }
137
136
  }
138
137
  this.logger.debug(`All devices:\n${JSON.stringify(devices, null, 2)}`);
139
- return devices
140
- .filter((a) => Object.keys(a).length > 0)
141
- .sort((a, b) => a.ip.localeCompare(b.ip));
138
+ return devices.filter((a) => Object.keys(a).length > 0).sort((a, b) => a.ip.localeCompare(b.ip));
142
139
  } catch (e) {
143
140
  const msg = e instanceof Error ? e.stack : e;
144
141
  throw new RequestError(`Device discovery failed:\n${msg}`);
@@ -199,7 +196,11 @@ class UiServer extends HomebridgePluginUiServer {
199
196
  const response = await this.promiseSocket.read();
200
197
  if (response) {
201
198
  if (response.length < 20) {
202
- this.logger.debug(`[${device.name}] Authenticate error when receiving data from ${device.ip}:${device.port}. (Data length: ${response.length})\n${JSON.stringify(response)}`);
199
+ this.logger.debug(
200
+ `[${device.name}] Authenticate error when receiving data from ${device.ip}:${device.port}. (Data length: ${
201
+ response.length
202
+ })\n${JSON.stringify(response)}`,
203
+ );
203
204
  throw Error(`[${device.name}] Authenticate error when receiving data from ${device.ip}:${device.port}. (Data length mismatch)`);
204
205
  }
205
206
  const resp = response.subarray(8, 72);
@@ -239,6 +240,9 @@ class UiServer extends HomebridgePluginUiServer {
239
240
  case DeviceType.DEHUMIDIFIER:
240
241
  device['displayName'] = 'Dehumidifier';
241
242
  break;
243
+ case DeviceType.FRONT_LOAD_WASHER:
244
+ device['displayName'] = 'Front Load Washer';
245
+ break;
242
246
  case DeviceType.ELECTRIC_WATER_HEATER:
243
247
  device['displayName'] = 'Electric Water Heater';
244
248
  break;
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.1",
4
+ "version": "1.1.2-beta.10",
5
5
  "description": "Homebridge plugin for Midea devices",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {