homebridge-gree-ac 2.0.0 → 2.0.2
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 +18 -0
- package/README.md +29 -9
- package/config.schema.json +86 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +30 -8
- package/dist/platform.js.map +1 -1
- package/dist/platformAccessory.d.ts +1 -0
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +96 -32
- package/dist/platformAccessory.js.map +1 -1
- package/dist/settings.d.ts +8 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +13 -1
- package/dist/settings.js.map +1 -1
- package/package.json +3 -3
- package/uiconfig.jpg +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.2] - 2024-06-04
|
|
4
|
+
|
|
5
|
+
### New features
|
|
6
|
+
|
|
7
|
+
- Override default fixed vertical swing position to a predefined position
|
|
8
|
+
|
|
9
|
+
### Fixes
|
|
10
|
+
|
|
11
|
+
- Fixed registration problem of unsupported devices (Unsupported devices were registered successfully
|
|
12
|
+
but Homebridge could not control them. Unsupported devices won't be registered any more.)
|
|
13
|
+
- Valid port value verification
|
|
14
|
+
|
|
15
|
+
## [2.0.1] - 2024-04-21
|
|
16
|
+
|
|
17
|
+
- Fixed error on setting Threshold Temperature minimum and maximum values
|
|
18
|
+
- Improved debug logging
|
|
19
|
+
- Updated dependencies (Homebridge 1.8.0 or later required)
|
|
20
|
+
|
|
3
21
|
## [2.0.0] - 2023-10-26
|
|
4
22
|
|
|
5
23
|
Homebridge platform plugin. **_homebridge-gee-ac_**
|
package/README.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
1
2
|
[](https://www.npmjs.com/package/homebridge-gree-ac)
|
|
2
3
|
[](https://www.npmjs.com/package/homebridge-gree-ac)
|
|
3
4
|
[](https://paypal.me/eibenp)
|
|
@@ -22,23 +23,35 @@ xFan function is also supported, but it works automatically if enabled in Homebr
|
|
|
22
23
|
|
|
23
24
|
Temperature display units of the physical device can be controlled using the Home App. (Configuration settings are required to be specified always in Degrees Celsius, independently from the display units.)
|
|
24
25
|
|
|
25
|
-
Vertical swing mode can be turned on/off, but special swing settings can't be controlled using the Home App.
|
|
26
|
+
Vertical swing mode can be turned on/off, but special swing settings can't be controlled using the Home App. If device default vertical swing position is not acceptable in disabled swing mode it can be overridden to a pre selected position by configuration settings. (Only default position is overridden when this feature is enabled. Other positions selected by remote control are kept and not modified by Home App.)
|
|
26
27
|
|
|
27
28
|
This plugin is designed to be as simple and clear as possible and supports primarily the functions of the Home App's Heater Cooler accessory.
|
|
28
29
|
|
|
29
30
|
## Requirements
|
|
30
31
|
|
|
31
32
|
* Node.js (>= 18.15.0 || >= 20.8.0) with NPM
|
|
32
|
-
* Homebridge (>= 1.
|
|
33
|
+
* Homebridge (>= 1.8.0)
|
|
33
34
|
|
|
34
|
-
You need to specify the local network broadcast address (192.168.1.255 in many home environments) and it
|
|
35
|
+
You need to specify the local network broadcast address (192.168.1.255 in many home environments) and it is also recommended to add the device and specify its MAC address (Serial Number) in the configuration file. Homebridge and all AC units have to be on the same subnet.
|
|
35
36
|
|
|
36
37
|
It is highly recommended to use static IP addresses for connected devices. Using a dynamic IP address may require a restart of the Homebridge service on an address change to reconnect the device. Most routers offer static DHCP leases. (Please look at your router's documentation!)
|
|
37
38
|
|
|
38
39
|
## Supported devices
|
|
39
40
|
|
|
40
|
-
* GREE Air Conditioners with WiFi support
|
|
41
|
-
* May work with other GREE compatible AC units
|
|
41
|
+
* GREE Air Conditioners with WiFi support (hardware version v1.x.x)
|
|
42
|
+
* May work with other GREE compatible AC units (e.g. Sinclair)
|
|
43
|
+
* Successfully tested with Sinclair SIH-13BITW
|
|
44
|
+
> _*** Not all GREE devices are supported ***_
|
|
45
|
+
>
|
|
46
|
+
> There are some newer GREE devices which use a different network protocol (e.g. hardware version v2.0.0 devices). They are not supported. Known unsupported devices:
|
|
47
|
+
> * GREE GRJ532-J14 Wifi Modul
|
|
48
|
+
> * GREE CS532AE Wifi Modul
|
|
49
|
+
> * GREE GWH14QD-K3NNB4D/I
|
|
50
|
+
> * GREE GEH12AA-K6DNA1A
|
|
51
|
+
>
|
|
52
|
+
> If you get _"error:1C80006B:Provider routines::wrong final block length"_ error message then your device is not supported.
|
|
53
|
+
>
|
|
54
|
+
> If you get _"Device not bound:..."_ warning message then your device is not supported.
|
|
42
55
|
|
|
43
56
|
## Known limitations
|
|
44
57
|
|
|
@@ -51,6 +64,8 @@ This plugin was designed to support the Home App's Heater Cooler functionality u
|
|
|
51
64
|
* GREE AC units are not able to display decimals of temperature values (if set to half a degree, e.g. 21.5 °C, then unit display may not be in sync with temperature set in Home App).
|
|
52
65
|
* Not all half a degree values are supported in °C mode (GREE AC units are designed to support only integer °C and °F values). Unsupported values are automatically updated to the nearest supported values.
|
|
53
66
|
* There is no way to get current heating-cooling state from the AC unit in auto mode, so displayed state in the Home App is based on temperature measurement, but internal sensor is not precise enough to always display the correct state.
|
|
67
|
+
* Cooling / Heating temperature threshold limits (minimum and maximum values) can only be set in active cooling / heating mode. So the gauge in Home App may show invalid minimum and maximum values for the first use of cooling and heating modes. If so please restart Home App. Next time the correct values will be displayed.
|
|
68
|
+
* Homebridge and AC unit on different subnets is a not supported configuration.
|
|
54
69
|
|
|
55
70
|
## Installation instructions
|
|
56
71
|
|
|
@@ -83,8 +98,8 @@ _Only the relevant part of the configuration file is displayed:_
|
|
|
83
98
|
"platform": "GREEAirConditioner",
|
|
84
99
|
"port": 7002,
|
|
85
100
|
"scanAddress": "192.168.1.255",
|
|
86
|
-
"scanCount":
|
|
87
|
-
"scanTimeout":
|
|
101
|
+
"scanCount": 5,
|
|
102
|
+
"scanTimeout": 10,
|
|
88
103
|
"devices": [
|
|
89
104
|
{
|
|
90
105
|
"mac": "502cc6000000",
|
|
@@ -97,6 +112,8 @@ _Only the relevant part of the configuration file is displayed:_
|
|
|
97
112
|
"maximumTargetTemperature": 30,
|
|
98
113
|
"xFanEnabled": true,
|
|
99
114
|
"temperatureSensor": "disabled",
|
|
115
|
+
"overrideDefaultVerticalSwing": 2,
|
|
116
|
+
"defaultVerticalSwing": 0,
|
|
100
117
|
"disabled": false
|
|
101
118
|
}
|
|
102
119
|
]
|
|
@@ -105,7 +122,7 @@ _Only the relevant part of the configuration file is displayed:_
|
|
|
105
122
|
```
|
|
106
123
|
* name - Unique name of the platform plugin
|
|
107
124
|
* platform - **GREEAirConditioner** (fixed name, it identifies the plugin)
|
|
108
|
-
* port - free UDP port (homebridge will use this port for network communication; it is recommended to select a port which is not used and the next 256 ports are also available because devices will be bound to a separate port based on the last part of the device's IPv4 address and the port specified in the configuration)
|
|
125
|
+
* port - free UDP port (homebridge will use this port for network communication; it is recommended to select a port which is not used and the next 256 ports are also available because devices will be bound to a separate port based on the last part of the device's IPv4 address and the port specified in the configuration; valid values: 1025 - 65279)
|
|
109
126
|
* scanAddress - local network broadcast address (some network knowledge is required to determine this address; in many cases its default value is 192.168.1.255)
|
|
110
127
|
* scanCount - number of retries for locating devices on the network (minimum 3 retries have to be specified)
|
|
111
128
|
* scanTimeout - time period in seconds between device query retries
|
|
@@ -120,6 +137,8 @@ _Only the relevant part of the configuration file is displayed:_
|
|
|
120
137
|
* maximumTargetTemperature - maximum target temperature accepted by the device (default is 30 °C, must be specified in Degrees Celsius, valid values: 16-30)
|
|
121
138
|
* xFanEnabled - automatically turn on xFan functionality in supported device modes (xFan actual setting is not modified by the Home App if disabled)
|
|
122
139
|
* temperatureSensor - control additional temperature sensor accessory in Home App (disabled = do not add to Home App / child = add as a child accessory / separate = add as a separate (independent) accessory)
|
|
140
|
+
* overrideDefaultVerticalSwing - by default this plugin does not change the vertical swing position of the AC unit but some devices do not keep the original vertical position set by the remote control if controlled from Homebridge and return back to device default position; this setting allows to override the default position -> if AC unit is set to default vertical swing position Homebridge modifies it to a predefined position (set by defaultVerticalSwing) (Never (0) = turn off override, let device use default / After power on (1) = override default position on each power on / After power on and swing disable (2) = override default position on each power on and each time when swing is switched to disabled)
|
|
141
|
+
* defaultVerticalSwing - specify the vertical swing position to be used instead of device default when overriding is enabled (Device default (0) = use device default, same position as used by device by default without overriding / one of the following 5 positions: fixed Highest (2), fixed Higher (3), fixed Middle (4), fixed Lower (5), fixed Lowest (6))
|
|
123
142
|
* disabled - set to true if you do not want to control this device in the Home App (old devices can be removed using this parameter)
|
|
124
143
|
|
|
125
144
|

|
|
@@ -150,6 +169,7 @@ ipconfig
|
|
|
150
169
|
# Subnet Mask . . . . . . . . . . . : 255.255.255.0
|
|
151
170
|
# Default Gateway . . . . . . . . . : 192.168.1.254
|
|
152
171
|
```
|
|
172
|
+
You have to calculate the broadcast address from the IP address and the Subnet mask.
|
|
153
173
|
|
|
154
174
|
### Device settings
|
|
155
175
|
|
|
@@ -177,4 +197,4 @@ Special thanks to [tomikaa87](https://github.com/tomikaa87) and [kongkx](https:/
|
|
|
177
197
|
- [gree-remote](https://github.com/tomikaa87/gree-remote)
|
|
178
198
|
- [homebridge-gree-heatercooler](https://github.com/ddenisyuk/homebridge-gree-heatercooler)
|
|
179
199
|
- [Homebridge API](https://developers.homebridge.io/)
|
|
180
|
-
- [Homebridge Platform Plugin Template](https://github.com/homebridge/homebridge-plugin-template)
|
|
200
|
+
- [Homebridge Platform Plugin Template](https://github.com/homebridge/homebridge-plugin-template)
|
package/config.schema.json
CHANGED
|
@@ -125,6 +125,74 @@
|
|
|
125
125
|
},
|
|
126
126
|
"disabled": {
|
|
127
127
|
"type": "boolean"
|
|
128
|
+
},
|
|
129
|
+
"overrideDefaultVerticalSwing": {
|
|
130
|
+
"type": "integer",
|
|
131
|
+
"required": true,
|
|
132
|
+
"default": 0,
|
|
133
|
+
"oneOf": [
|
|
134
|
+
{
|
|
135
|
+
"title": "Never",
|
|
136
|
+
"enum": [
|
|
137
|
+
0
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"title": "After power on",
|
|
142
|
+
"enum": [
|
|
143
|
+
1
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"title": "After power on and swing disable",
|
|
148
|
+
"enum": [
|
|
149
|
+
2
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"defaultVerticalSwing": {
|
|
155
|
+
"type": "integer",
|
|
156
|
+
"required": true,
|
|
157
|
+
"default": 0,
|
|
158
|
+
"oneOf": [
|
|
159
|
+
{
|
|
160
|
+
"title": "Device default",
|
|
161
|
+
"enum": [
|
|
162
|
+
0
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"title": "fixed Highest",
|
|
167
|
+
"enum": [
|
|
168
|
+
2
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"title": "fixed Higher",
|
|
173
|
+
"enum": [
|
|
174
|
+
3
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"title": "fixed Middle",
|
|
179
|
+
"enum": [
|
|
180
|
+
4
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"title": "fixed Lower",
|
|
185
|
+
"enum": [
|
|
186
|
+
5
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"title": "fixed Lowest",
|
|
191
|
+
"enum": [
|
|
192
|
+
6
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
]
|
|
128
196
|
}
|
|
129
197
|
}
|
|
130
198
|
}
|
|
@@ -268,6 +336,24 @@
|
|
|
268
336
|
"condition": {
|
|
269
337
|
"functionBody": "return (model.devices && model.devices[arrayIndices] && model.devices[arrayIndices].mac && /^[a-f0-9]{12}$/.test(model.devices[arrayIndices].mac) && model.devices[arrayIndices].disabled !== true);"
|
|
270
338
|
}
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"key": "devices[].overrideDefaultVerticalSwing",
|
|
342
|
+
"flex": "1 1 50%",
|
|
343
|
+
"title": "Override default vertical position:",
|
|
344
|
+
"description": "When to override vertical swing position",
|
|
345
|
+
"condition": {
|
|
346
|
+
"functionBody": "return (model.devices && model.devices[arrayIndices] && model.devices[arrayIndices].mac && /^[a-f0-9]{12}$/.test(model.devices[arrayIndices].mac) && model.devices[arrayIndices].disabled !== true);"
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"key": "devices[].defaultVerticalSwing",
|
|
351
|
+
"flex": "1 1 50%",
|
|
352
|
+
"title": "Vertical position:",
|
|
353
|
+
"description": "Default vertical swing position to be used istead of what device considers a default",
|
|
354
|
+
"condition": {
|
|
355
|
+
"functionBody": "return (model.devices && model.devices[arrayIndices] && model.devices[arrayIndices].mac && /^[a-f0-9]{12}$/.test(model.devices[arrayIndices].mac) && model.devices[arrayIndices].disabled !== true && model.devices[arrayIndices].overrideDefaultVerticalSwing !== 0);"
|
|
356
|
+
}
|
|
271
357
|
}
|
|
272
358
|
]
|
|
273
359
|
}
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAGxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAGxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;GAIG;AACH,qBAAa,cAAe,YAAW,qBAAqB;aAaxC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAd1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAGR,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAqB1B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAgB/C;;;OAGG;IACH,eAAe;IAyCf,aAAa,iCAoBX;IAEF,cAAc,sDA6FZ;IAEF,aAAa;CASd"}
|
package/dist/platform.js
CHANGED
|
@@ -9,6 +9,7 @@ const crypto_1 = __importDefault(require("./crypto"));
|
|
|
9
9
|
const settings_1 = require("./settings");
|
|
10
10
|
const platformAccessory_1 = require("./platformAccessory");
|
|
11
11
|
const tsAccessory_1 = require("./tsAccessory");
|
|
12
|
+
const commands_1 = __importDefault(require("./commands"));
|
|
12
13
|
/**
|
|
13
14
|
* HomebridgePlatform
|
|
14
15
|
* This class is the main constructor for your plugin, this is where you should
|
|
@@ -26,9 +27,11 @@ class GreeACPlatform {
|
|
|
26
27
|
try {
|
|
27
28
|
const message = JSON.parse(msg.toString());
|
|
28
29
|
if (message.i !== 1 || message.t !== 'pack') {
|
|
30
|
+
this.log.debug('handleMessage - unknown response');
|
|
29
31
|
return;
|
|
30
32
|
}
|
|
31
33
|
const pack = crypto_1.default.decrypt(message.pack);
|
|
34
|
+
this.log.debug('handleMessage - Package -> %j', pack);
|
|
32
35
|
if (pack.t === 'dev') {
|
|
33
36
|
this.registerDevice({
|
|
34
37
|
...pack,
|
|
@@ -38,7 +41,7 @@ class GreeACPlatform {
|
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
43
|
catch (err) {
|
|
41
|
-
this.log.error('handleMessage
|
|
44
|
+
this.log.error('handleMessage', err);
|
|
42
45
|
}
|
|
43
46
|
};
|
|
44
47
|
this.registerDevice = (deviceInfo) => {
|
|
@@ -56,6 +59,12 @@ class GreeACPlatform {
|
|
|
56
59
|
...(devcfg.maximumTargetTemperature && (devcfg.maximumTargetTemperature < settings_1.DEFAULT_DEVICE_CONFIG.minimumTargetTemperature ||
|
|
57
60
|
devcfg.maximumTargetTemperature > settings_1.DEFAULT_DEVICE_CONFIG.maximumTargetTemperature) ?
|
|
58
61
|
{ maximumTargetTemperature: settings_1.DEFAULT_DEVICE_CONFIG.maximumTargetTemperature } : {}),
|
|
62
|
+
...((devcfg.defaultVerticalSwing && [commands_1.default.swingVertical.value.default, commands_1.default.swingVertical.value.fixedHighest,
|
|
63
|
+
commands_1.default.swingVertical.value.fixedHigher, commands_1.default.swingVertical.value.fixedMiddle, commands_1.default.swingVertical.value.fixedLower,
|
|
64
|
+
commands_1.default.swingVertical.value.fixedLowest].includes(devcfg.defaultVerticalSwing)) ?
|
|
65
|
+
{ defaultVerticalSwing: devcfg.defaultVerticalSwing } : {}),
|
|
66
|
+
...((devcfg.overrideDefaultVerticalSwing && Object.entries(settings_1.OVERRIDE_DEFAULT_SWING).includes(devcfg.overrideDefaultVerticalSwing)) ?
|
|
67
|
+
{ overrideDefaultVerticalSwing: devcfg.overrideDefaultVerticalSwing } : {}),
|
|
59
68
|
};
|
|
60
69
|
Object.entries(settings_1.DEFAULT_DEVICE_CONFIG).forEach(([key, value]) => {
|
|
61
70
|
if (deviceConfig[key] === undefined) {
|
|
@@ -115,6 +124,8 @@ class GreeACPlatform {
|
|
|
115
124
|
// mark devices as initialized
|
|
116
125
|
accessory.context.device = deviceInfo;
|
|
117
126
|
accessory.context.deviceType = 'HeaterCooler';
|
|
127
|
+
accessory.context.accessory_ts = accessory_ts;
|
|
128
|
+
accessory.context.bound = false;
|
|
118
129
|
this.initializedDevices[accessory.UUID] = true;
|
|
119
130
|
return new platformAccessory_1.GreeAirConditioner(this, accessory, deviceConfig, this.config.port, tsService);
|
|
120
131
|
}
|
|
@@ -142,7 +153,7 @@ class GreeACPlatform {
|
|
|
142
153
|
*/
|
|
143
154
|
configureAccessory(accessory) {
|
|
144
155
|
var _a;
|
|
145
|
-
this.log.
|
|
156
|
+
this.log.debug('Loading accessory from cache: ', accessory.displayName, accessory.context.device);
|
|
146
157
|
// add the restored accessory to the accessories cache so we can track if it has already been registered
|
|
147
158
|
if ((_a = accessory.context.device) === null || _a === void 0 ? void 0 : _a.mac) {
|
|
148
159
|
if (accessory.context.deviceType === undefined || accessory.context.deviceType === 'HeaterCooler') {
|
|
@@ -161,7 +172,7 @@ class GreeACPlatform {
|
|
|
161
172
|
*/
|
|
162
173
|
discoverDevices() {
|
|
163
174
|
if (this.config.port !== undefined && typeof this.config.port === 'number' && this.config.port === this.config.port &&
|
|
164
|
-
this.config.port >= 0 && this.config.port <=
|
|
175
|
+
this.config.port >= 0 && this.config.port <= 65279) {
|
|
165
176
|
this.socket.bind(this.config.port, () => {
|
|
166
177
|
this.log.info(`UDP server bind to port ${this.config.port}`);
|
|
167
178
|
this.socket.setBroadcast(true);
|
|
@@ -171,11 +182,22 @@ class GreeACPlatform {
|
|
|
171
182
|
this.log.info('Scan finished.');
|
|
172
183
|
clearInterval(this.timer);
|
|
173
184
|
this.socket.close();
|
|
174
|
-
// remove accessories not found on network
|
|
185
|
+
// remove accessories not found on network or not responsing to bind request
|
|
175
186
|
Object.entries(this.devices).forEach(([key, value]) => {
|
|
176
|
-
if (!this.initializedDevices[value.UUID]
|
|
187
|
+
if (value && !value.context.bound && this.initializedDevices[value.UUID] &&
|
|
188
|
+
(value.context.deviceType === 'HeaterCooler' || value.context.deviceType === undefined)) {
|
|
189
|
+
this.log.warn('Warning: Device not bound: %s [%s -- %s:%s]', value.context.device.mac, value.displayName, value.context.device.address, value.context.device.port);
|
|
190
|
+
if (value.context.accessory_ts) {
|
|
191
|
+
this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [value.context.accessory_ts]);
|
|
192
|
+
delete this.initializedDevices[value.context.accessory_ts.UUID];
|
|
193
|
+
delete this.devices[value.context.accessory_ts.context.device.mac + '_ts'];
|
|
194
|
+
}
|
|
195
|
+
this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [value]);
|
|
196
|
+
delete this.initializedDevices[value.UUID];
|
|
197
|
+
}
|
|
198
|
+
if (value && !this.initializedDevices[value.UUID]) {
|
|
177
199
|
this.log.debug('Cleanup -> Remove', value.displayName, key, value.UUID);
|
|
178
|
-
delete this.
|
|
200
|
+
delete this.devices[key];
|
|
179
201
|
}
|
|
180
202
|
});
|
|
181
203
|
}
|
|
@@ -186,7 +208,7 @@ class GreeACPlatform {
|
|
|
186
208
|
});
|
|
187
209
|
}
|
|
188
210
|
else {
|
|
189
|
-
this.log.warn('Warning: Port is missing or misconfigured');
|
|
211
|
+
this.log.warn('Warning: Port is missing or misconfigured (Valid port values: 1025~65279)');
|
|
190
212
|
}
|
|
191
213
|
}
|
|
192
214
|
broadcastScan() {
|
|
@@ -194,7 +216,7 @@ class GreeACPlatform {
|
|
|
194
216
|
this.socket.send(message, 0, message.length, settings_1.UDP_SCAN_PORT, this.config.scanAddress, (error) => {
|
|
195
217
|
this.log.debug(`Broadcast '${message}' ${this.config.scanAddress}:${settings_1.UDP_SCAN_PORT}`);
|
|
196
218
|
if (error) {
|
|
197
|
-
this.log.error('
|
|
219
|
+
this.log.error('broadcastScan', error.message);
|
|
198
220
|
}
|
|
199
221
|
});
|
|
200
222
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,sDAA8B;AAG9B,yCAA8F;AAC9F,2DAAyD;AACzD,+CAAqD;AAErD;;;;GAIG;AACH,MAAa,cAAc;IAYzB,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAdV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAuFpF,kBAAa,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,IAAI;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3C,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE;oBAC3C,OAAO;iBACR;gBACD,MAAM,IAAI,GAAG,gBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;oBACpB,IAAI,CAAC,cAAc,CAAC;wBAClB,GAAG,IAAI;wBACP,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;iBACJ;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,UAAU,EAAE,EAAE;;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACrF,MAAM,YAAY,GAAG;gBACnB,GAAG,MAAM;gBACT,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;oBACxG,EAAC,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAE,MAAM,CAAC,iBAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;oBAChI,EAAC,iBAAiB,EAAG,MAAM,CAAC,iBAA4B,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC,CAAC,EAAC,iBAAiB,EAAE,UAAU,EAAC,CAAC;gBAC5G,GAAG,CAAC,MAAM,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,wBAAwB,GAAG,gCAAqB,CAAC,wBAAwB;oBACtH,MAAM,CAAC,wBAAwB,GAAG,gCAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBACnF,EAAE,wBAAwB,EAAE,gCAAqB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,MAAM,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,wBAAwB,GAAG,gCAAqB,CAAC,wBAAwB;oBACtH,MAAM,CAAC,wBAAwB,GAAG,gCAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBACnF,EAAE,wBAAwB,EAAE,gCAAqB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,gCAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7D,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;oBACnC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;YAExD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACtE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;oBACrD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC5C;gBACD,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChF,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;iBACvC;gBACD,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;oBACnF,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;iBAC/C;gBACD,OAAO;aACR;YAED,IAAI,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACxD,qBAAqB;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,UAAU,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,GAAG,cAAc,UAAU,KAAK,CAAC,CAAC;gBAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxD,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,sCAA6B,CAAC;gBAEzF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;aAC/E;YAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,iBAAiB,KAAK,UAAU,EAAE;gBAClE,MAAM,aAAa,GAAG,uBAAuB,GAAG,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,GAAG,cAAc,aAAa,KAAK,CAAC,CAAC;gBAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;gBAChE,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,6BAAoB,CAAC;gBAEtF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;gBACpD,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;aAClF;YAED,IAAI,YAAY,IAAI,YAAY,CAAC,iBAAiB,KAAK,UAAU,EAAE;gBACjE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;gBACnF,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;aAC/C;YAED,IAAI,SAAS,CAAC;YACd,IAAI,YAAY,IAAI,YAAY,CAAC,iBAAiB,KAAK,UAAU,EAAE;gBACjE,iDAAiD;gBACjD,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;gBACzC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,mBAAmB,CAAC;gBACtD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAClD,SAAS,GAAG,IAAI,kCAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;aACxE;YAED,IAAI,SAAS,EAAE;gBACb,8BAA8B;gBAC9B,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;gBACtC,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAC/C,OAAO,IAAI,sCAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAc,EAAE,SAAS,CAAC,CAAC;aACrG;QACH,CAAC,CAAC;QAjLA,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpE,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,yCAAyC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,oEAAoE;YACpE,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAA4B;;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjG,wGAAwG;QACxG,IAAI,MAAA,SAAS,CAAC,OAAO,CAAC,MAAM,0CAAE,GAAG,EAAE;YACjC,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,EAAE;gBACjG,6BAA6B;gBAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;aACxD;YACD,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK,mBAAmB,EAAE;gBACxD,iCAAiC;gBACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;aAChE;SACF;IACH,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI;YACjH,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;oBACpB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE;wBACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBAChC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,0CAA0C;wBAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;4BACpD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gCACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gCACxE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;6BACjC;wBACH,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;gBACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,yBAAyB;YAC/D,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;SAC5D;IACH,CAAC;IA6GD,aAAa;QACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,wBAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAa,EAAE,CAAC,CAAC;YACrF,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA7MD,wCA6MC"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ export declare class GreeAirConditioner {
|
|
|
56
56
|
getTemperatureDisplayUnits(): Promise<CharacteristicValue>;
|
|
57
57
|
getSwingMode(): Promise<CharacteristicValue>;
|
|
58
58
|
getRotationSpeed(): Promise<CharacteristicValue>;
|
|
59
|
+
initThresholdTemperature(HeaterCoolerState: number): void;
|
|
59
60
|
getDeviceLabel(): string;
|
|
60
61
|
getCols(): string[];
|
|
61
62
|
getKeyName(obj: any, value: any, subkey?: any): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,12 +27,15 @@ class GreeAirConditioner {
|
|
|
27
27
|
const message = JSON.parse(msg.toString());
|
|
28
28
|
this.platform.log.debug(`[${this.getDeviceLabel()}] handleMessage -> %j`, message);
|
|
29
29
|
const pack = crypto_1.default.decrypt(message.pack, message.i === 1 ? undefined : this.key);
|
|
30
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] handleMessage - Package -> %j`, pack);
|
|
30
31
|
switch (pack.t) {
|
|
31
32
|
case 'bindok': // package type is binding confirmation
|
|
33
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Device binding`);
|
|
32
34
|
this.key = pack.key;
|
|
33
35
|
this.bound = true;
|
|
34
|
-
this.
|
|
35
|
-
this.platform.log.info(`[${this.getDeviceLabel()}] Device is bound -> ${
|
|
36
|
+
this.accessory.context.bound = true;
|
|
37
|
+
this.platform.log.info(`[${this.getDeviceLabel()}] Device is bound -> ${pack.mac}`);
|
|
38
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Device key -> ${this.key}`);
|
|
36
39
|
if (this.updateTimer) {
|
|
37
40
|
clearInterval(this.updateTimer);
|
|
38
41
|
}
|
|
@@ -44,7 +47,7 @@ class GreeAirConditioner {
|
|
|
44
47
|
pack.cols.forEach((col, i) => {
|
|
45
48
|
this.status[col] = pack.dat[i];
|
|
46
49
|
});
|
|
47
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}]
|
|
50
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Device status -> %j`, this.status);
|
|
48
51
|
if (!pack.cols.includes(commands_1.default.temperature.code) &&
|
|
49
52
|
pack.cols.includes(commands_1.default.targetTemperature.code)) {
|
|
50
53
|
// temperature is not accessible -> use targetTemperature
|
|
@@ -60,7 +63,7 @@ class GreeAirConditioner {
|
|
|
60
63
|
break;
|
|
61
64
|
case 'res': // package type is response
|
|
62
65
|
if (this.bound) {
|
|
63
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}]
|
|
66
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Device response`);
|
|
64
67
|
const updatedParams = [];
|
|
65
68
|
pack.opt.forEach((opt, i) => {
|
|
66
69
|
const value = pack.p !== undefined ? pack.p[i] : pack.val[i];
|
|
@@ -77,6 +80,7 @@ class GreeAirConditioner {
|
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
82
|
};
|
|
83
|
+
this.accessory.context.bound = false;
|
|
80
84
|
this.platform.log.debug(`[${this.getDeviceLabel()}] deviceConfig -> %j`, deviceConfig);
|
|
81
85
|
// set accessory information
|
|
82
86
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
@@ -101,7 +105,7 @@ class GreeAirConditioner {
|
|
|
101
105
|
}
|
|
102
106
|
else {
|
|
103
107
|
const ts = this.accessory.getService(this.platform.Service.TemperatureSensor);
|
|
104
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Temperature Sensor child service not allowed
|
|
108
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Temperature Sensor child service not allowed%s`, (ts === null || ts === void 0 ? void 0 : ts.displayName) !== undefined ? ' (' + (ts === null || ts === void 0 ? void 0 : ts.displayName) + ')' : '');
|
|
105
109
|
if (ts !== undefined) {
|
|
106
110
|
this.platform.log.debug(`[${this.getDeviceLabel()}] Remove Temperature Sensor child service (%s)`, ts.displayName);
|
|
107
111
|
this.accessory.removeService(ts);
|
|
@@ -127,21 +131,15 @@ class GreeAirConditioner {
|
|
|
127
131
|
.onGet(this.getCurrentTemperature.bind(this, 'Heater Cooler'));
|
|
128
132
|
(_c = this.TemperatureSensor) === null || _c === void 0 ? void 0 : _c.getCharacteristic(this.platform.Characteristic.CurrentTemperature).onGet(this.getCurrentTemperature.bind(this, 'Temperature Sensor'));
|
|
129
133
|
// register handlers for the Cooling Threshold Temperature Characteristic
|
|
134
|
+
// (minValue and maxValue can't be set here, they need an active accessory in cooling sate to set)
|
|
130
135
|
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature)
|
|
131
|
-
.setProps({
|
|
132
|
-
minValue: this.deviceConfig.minimumTargetTemperature,
|
|
133
|
-
maxValue: this.deviceConfig.maximumTargetTemperature,
|
|
134
|
-
minStep: 0.5
|
|
135
|
-
})
|
|
136
|
+
.setProps({ minStep: 0.5 })
|
|
136
137
|
.onGet(this.getTargetTemperature.bind(this, 'CoolingThresholdTemperature'))
|
|
137
138
|
.onSet(this.setTargetTemperature.bind(this));
|
|
138
139
|
// register handlers for the Heating Threshold Temperature Characteristic
|
|
140
|
+
// (minValue and maxValue can't be set here, they need an active accessory in heating sate to set)
|
|
139
141
|
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
|
|
140
|
-
.setProps({
|
|
141
|
-
minValue: this.deviceConfig.minimumTargetTemperature,
|
|
142
|
-
maxValue: this.deviceConfig.maximumTargetTemperature,
|
|
143
|
-
minStep: 0.5
|
|
144
|
-
})
|
|
142
|
+
.setProps({ minStep: 0.5 })
|
|
145
143
|
.onGet(this.getTargetTemperature.bind(this, 'HeatingThresholdTemperature'))
|
|
146
144
|
.onSet(this.setTargetTemperature.bind(this));
|
|
147
145
|
// register handlers for the Temperature Display Units Characteristic
|
|
@@ -166,7 +164,7 @@ class GreeAirConditioner {
|
|
|
166
164
|
this.bound = false;
|
|
167
165
|
this.socket = dgram_1.default.createSocket({ type: 'udp4', reuseAddr: true });
|
|
168
166
|
this.socket.on('error', (err) => {
|
|
169
|
-
this.platform.log.error(`[${this.getDeviceLabel()}] Network
|
|
167
|
+
this.platform.log.error(`[${this.getDeviceLabel()}] Network`, err.message);
|
|
170
168
|
});
|
|
171
169
|
this.socket.on('message', this.handleMessage);
|
|
172
170
|
this.socket.bind(this.port + parseInt(this.accessory.context.device.address.split('.')[3]) + 1, '0.0.0.0', () => {
|
|
@@ -213,7 +211,8 @@ class GreeAirConditioner {
|
|
|
213
211
|
const logValue = (value === this.platform.Characteristic.SwingMode.SWING_ENABLED) ? 'ENABLED' : 'DISABLED';
|
|
214
212
|
this.platform.log.debug(`[${this.getDeviceLabel()}] Set SwingMode ->`, logValue);
|
|
215
213
|
this.swingMode = (value === this.platform.Characteristic.SwingMode.SWING_ENABLED) ?
|
|
216
|
-
commands_1.default.swingVertical.value.full :
|
|
214
|
+
commands_1.default.swingVertical.value.full : (this.deviceConfig.overrideDefaultVerticalSwing === settings_1.OVERRIDE_DEFAULT_SWING.always) ?
|
|
215
|
+
this.deviceConfig.defaultVerticalSwing : commands_1.default.swingVertical.value.default;
|
|
217
216
|
}
|
|
218
217
|
async setRotationSpeed(value) {
|
|
219
218
|
switch (value) {
|
|
@@ -296,41 +295,45 @@ class GreeAirConditioner {
|
|
|
296
295
|
if (this.power) {
|
|
297
296
|
switch (this.mode) {
|
|
298
297
|
case commands_1.default.mode.value.cool:
|
|
299
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
298
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> COOLING`);
|
|
299
|
+
setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.COOLING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
|
|
300
300
|
return this.platform.Characteristic.CurrentHeaterCoolerState.COOLING;
|
|
301
301
|
case commands_1.default.mode.value.heat:
|
|
302
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
302
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> HEATING`);
|
|
303
|
+
setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.HEATING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
|
|
303
304
|
return this.platform.Characteristic.CurrentHeaterCoolerState.HEATING;
|
|
304
305
|
case commands_1.default.mode.value.fan:
|
|
305
306
|
case commands_1.default.mode.value.dry:
|
|
306
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
307
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> IDLE`);
|
|
307
308
|
return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
|
|
308
309
|
case commands_1.default.mode.value.auto:
|
|
309
310
|
if (this.currentTemperature > this.status[commands_1.default.targetTemperature.code]) {
|
|
310
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
311
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> COOLING`);
|
|
312
|
+
setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.COOLING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
|
|
311
313
|
return this.platform.Characteristic.CurrentHeaterCoolerState.COOLING;
|
|
312
314
|
}
|
|
313
315
|
if (this.currentTemperature < this.status[commands_1.default.targetTemperature.code]) {
|
|
314
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
316
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> HEATING`);
|
|
317
|
+
setTimeout(() => this.initThresholdTemperature(this.platform.Characteristic.CurrentHeaterCoolerState.HEATING), settings_1.INIT_TEMP_TRESHOLD_TIMEOUT);
|
|
315
318
|
return this.platform.Characteristic.CurrentHeaterCoolerState.HEATING;
|
|
316
319
|
}
|
|
317
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
320
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> IDLE`);
|
|
318
321
|
return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
|
|
319
322
|
}
|
|
320
323
|
}
|
|
321
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState
|
|
324
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get CurrentHeaterCoolerState -> INACTIVE`);
|
|
322
325
|
return this.platform.Characteristic.CurrentHeaterCoolerState.INACTIVE;
|
|
323
326
|
}
|
|
324
327
|
async getTargetHeaterCoolerState() {
|
|
325
328
|
switch (this.mode) {
|
|
326
329
|
case commands_1.default.mode.value.cool:
|
|
327
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState
|
|
330
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> COOL`);
|
|
328
331
|
return this.platform.Characteristic.TargetHeaterCoolerState.COOL;
|
|
329
332
|
case commands_1.default.mode.value.heat:
|
|
330
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState
|
|
333
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> HEAT`);
|
|
331
334
|
return this.platform.Characteristic.TargetHeaterCoolerState.HEAT;
|
|
332
335
|
}
|
|
333
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState
|
|
336
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get TargetHeaterCoolerState -> AUTO`);
|
|
334
337
|
return this.platform.Characteristic.TargetHeaterCoolerState.AUTO;
|
|
335
338
|
}
|
|
336
339
|
async getCurrentTemperature(service) {
|
|
@@ -357,10 +360,10 @@ class GreeAirConditioner {
|
|
|
357
360
|
case commands_1.default.swingVertical.value.fixedMiddle:
|
|
358
361
|
case commands_1.default.swingVertical.value.fixedLower:
|
|
359
362
|
case commands_1.default.swingVertical.value.fixedLowest:
|
|
360
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode
|
|
363
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode -> DISABLED`);
|
|
361
364
|
return this.platform.Characteristic.SwingMode.SWING_DISABLED;
|
|
362
365
|
}
|
|
363
|
-
this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode
|
|
366
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Get SwingMode -> ENABLED`);
|
|
364
367
|
return this.platform.Characteristic.SwingMode.SWING_ENABLED;
|
|
365
368
|
}
|
|
366
369
|
async getRotationSpeed() {
|
|
@@ -400,6 +403,36 @@ class GreeAirConditioner {
|
|
|
400
403
|
return value;
|
|
401
404
|
}
|
|
402
405
|
// helper functions
|
|
406
|
+
initThresholdTemperature(HeaterCoolerState) {
|
|
407
|
+
switch (HeaterCoolerState) {
|
|
408
|
+
case this.platform.Characteristic.CurrentHeaterCoolerState.COOLING:
|
|
409
|
+
if (this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.minValue !==
|
|
410
|
+
this.deviceConfig.minimumTargetTemperature ||
|
|
411
|
+
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.maxValue !==
|
|
412
|
+
this.deviceConfig.maximumTargetTemperature) {
|
|
413
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Set CoolingThresholdTemperature minValue -> %i, maxValue -> %i`, this.deviceConfig.minimumTargetTemperature, this.deviceConfig.maximumTargetTemperature);
|
|
414
|
+
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature)
|
|
415
|
+
.setProps({
|
|
416
|
+
minValue: this.deviceConfig.minimumTargetTemperature,
|
|
417
|
+
maxValue: this.deviceConfig.maximumTargetTemperature
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
break;
|
|
421
|
+
case this.platform.Characteristic.CurrentHeaterCoolerState.HEATING:
|
|
422
|
+
if (this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.minValue !==
|
|
423
|
+
this.deviceConfig.minimumTargetTemperature ||
|
|
424
|
+
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.maxValue !==
|
|
425
|
+
this.deviceConfig.maximumTargetTemperature) {
|
|
426
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] Set HeatingThresholdTemperature minValue -> %i, maxValue -> %i`, this.deviceConfig.minimumTargetTemperature, this.deviceConfig.maximumTargetTemperature);
|
|
427
|
+
this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
|
|
428
|
+
.setProps({
|
|
429
|
+
minValue: this.deviceConfig.minimumTargetTemperature,
|
|
430
|
+
maxValue: this.deviceConfig.maximumTargetTemperature
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
break;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
403
436
|
getDeviceLabel() {
|
|
404
437
|
return `${this.accessory.displayName} -- ${this.accessory.context.device.address}:${this.accessory.context.device.port}`;
|
|
405
438
|
}
|
|
@@ -506,6 +539,12 @@ class GreeAirConditioner {
|
|
|
506
539
|
}
|
|
507
540
|
break;
|
|
508
541
|
}
|
|
542
|
+
if ([settings_1.OVERRIDE_DEFAULT_SWING.always, settings_1.OVERRIDE_DEFAULT_SWING.powerOn].includes(this.deviceConfig.overrideDefaultVerticalSwing ||
|
|
543
|
+
settings_1.OVERRIDE_DEFAULT_SWING.never) && this.swingMode !== undefined) {
|
|
544
|
+
const value = (this.swingMode === commands_1.default.swingVertical.value.default) ? this.deviceConfig.defaultVerticalSwing : this.swingMode;
|
|
545
|
+
command[commands_1.default.swingVertical.code] = value;
|
|
546
|
+
logValue += ', swingVertical -> ' + this.getKeyName(commands_1.default.swingVertical.value, value);
|
|
547
|
+
}
|
|
509
548
|
}
|
|
510
549
|
this.platform.log.info(`[${this.getDeviceLabel()}]`, logValue);
|
|
511
550
|
this.sendCommand(command);
|
|
@@ -525,6 +564,12 @@ class GreeAirConditioner {
|
|
|
525
564
|
logValue += ', xFan -> ' + this.getKeyName(commands_1.default.xFan.value, commands_1.default.xFan.value.on);
|
|
526
565
|
command[commands_1.default.xFan.code] = commands_1.default.xFan.value.on;
|
|
527
566
|
}
|
|
567
|
+
if ([settings_1.OVERRIDE_DEFAULT_SWING.always, settings_1.OVERRIDE_DEFAULT_SWING.powerOn].includes(this.deviceConfig.overrideDefaultVerticalSwing ||
|
|
568
|
+
settings_1.OVERRIDE_DEFAULT_SWING.never) && this.swingMode !== undefined) {
|
|
569
|
+
const value = (this.swingMode === commands_1.default.swingVertical.value.default) ? this.deviceConfig.defaultVerticalSwing : this.swingMode;
|
|
570
|
+
command[commands_1.default.swingVertical.code] = value;
|
|
571
|
+
logValue += ', swingVertical -> ' + this.getKeyName(commands_1.default.swingVertical.value, value);
|
|
572
|
+
}
|
|
528
573
|
this.platform.log.info(`[${this.getDeviceLabel()}]`, logValue);
|
|
529
574
|
this.sendCommand(command);
|
|
530
575
|
}
|
|
@@ -532,7 +577,19 @@ class GreeAirConditioner {
|
|
|
532
577
|
return this.status[commands_1.default.temperature.code] - (this.deviceConfig.sensorOffset) || 25;
|
|
533
578
|
}
|
|
534
579
|
get targetTemperature() {
|
|
535
|
-
|
|
580
|
+
let minValue = this.deviceConfig.minimumTargetTemperature;
|
|
581
|
+
let maxValue = this.deviceConfig.maximumTargetTemperature;
|
|
582
|
+
switch (this.status[commands_1.default.mode.code]) {
|
|
583
|
+
case commands_1.default.mode.value.cool:
|
|
584
|
+
minValue = Math.max(this.deviceConfig.minimumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.minValue || 10);
|
|
585
|
+
maxValue = Math.min(this.deviceConfig.maximumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.CoolingThresholdTemperature).props.maxValue || 35);
|
|
586
|
+
break;
|
|
587
|
+
case commands_1.default.mode.value.heat:
|
|
588
|
+
minValue = Math.max(this.deviceConfig.minimumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.minValue || 0);
|
|
589
|
+
maxValue = Math.min(this.deviceConfig.maximumTargetTemperature, this.HeaterCooler.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature).props.maxValue || 25);
|
|
590
|
+
break;
|
|
591
|
+
}
|
|
592
|
+
return Math.max(Math.min(this.getTargetTempFromDevice(this.status[commands_1.default.targetTemperature.code] || 25, this.status[commands_1.default.temperatureOffset.code] || 0), (maxValue)), (minValue));
|
|
536
593
|
}
|
|
537
594
|
set targetTemperature(value) {
|
|
538
595
|
if (value === this.targetTemperature) {
|
|
@@ -764,6 +821,10 @@ class GreeAirConditioner {
|
|
|
764
821
|
case commands_1.default.swingVertical.value.fixedLowest:
|
|
765
822
|
swing = this.platform.Characteristic.SwingMode.SWING_DISABLED;
|
|
766
823
|
logValue = 'DISABLED';
|
|
824
|
+
if ([settings_1.OVERRIDE_DEFAULT_SWING.always, settings_1.OVERRIDE_DEFAULT_SWING.powerOn].includes(this.deviceConfig.overrideDefaultVerticalSwing ||
|
|
825
|
+
settings_1.OVERRIDE_DEFAULT_SWING.never)) {
|
|
826
|
+
logValue += ' (' + this.getKeyName(commands_1.default.swingVertical.value, this.swingMode) + ')';
|
|
827
|
+
}
|
|
767
828
|
break;
|
|
768
829
|
}
|
|
769
830
|
this.platform.log.debug(`[${this.getDeviceLabel()}] updateStatus (Swing Mode) ->`, logValue);
|
|
@@ -818,6 +879,7 @@ class GreeAirConditioner {
|
|
|
818
879
|
}
|
|
819
880
|
}
|
|
820
881
|
sendMessage(message) {
|
|
882
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] sendMessage - Package -> %j`, message);
|
|
821
883
|
const pack = crypto_1.default.encrypt(message, this.key);
|
|
822
884
|
const payload = {
|
|
823
885
|
cid: 'app',
|
|
@@ -828,10 +890,12 @@ class GreeAirConditioner {
|
|
|
828
890
|
pack,
|
|
829
891
|
};
|
|
830
892
|
try {
|
|
831
|
-
|
|
893
|
+
const msg = JSON.stringify(payload);
|
|
894
|
+
this.platform.log.debug(`[${this.getDeviceLabel()}] sendMessage`, msg);
|
|
895
|
+
this.socket.send(msg, this.accessory.context.device.port, this.accessory.context.device.address);
|
|
832
896
|
}
|
|
833
897
|
catch (err) {
|
|
834
|
-
this.platform.log.error('
|
|
898
|
+
this.platform.log.error('sendMessage', err.message);
|
|
835
899
|
}
|
|
836
900
|
}
|
|
837
901
|
sendBindRequest() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export declare const PLATFORM_NAME = "GREEAirConditioner";
|
|
|
6
6
|
* This must match the name of your plugin as defined the package.json
|
|
7
7
|
*/
|
|
8
8
|
export declare const PLUGIN_NAME = "homebridge-gree-ac";
|
|
9
|
+
export declare const OVERRIDE_DEFAULT_SWING: {
|
|
10
|
+
never: number;
|
|
11
|
+
powerOn: number;
|
|
12
|
+
always: number;
|
|
13
|
+
};
|
|
9
14
|
export interface DeviceConfig {
|
|
10
15
|
name?: string;
|
|
11
16
|
model?: string;
|
|
@@ -17,6 +22,8 @@ export interface DeviceConfig {
|
|
|
17
22
|
xFanEnabled: boolean;
|
|
18
23
|
temperatureSensor: string;
|
|
19
24
|
disabled?: boolean;
|
|
25
|
+
defaultVerticalSwing?: number;
|
|
26
|
+
overrideDefaultVerticalSwing?: number;
|
|
20
27
|
}
|
|
21
28
|
export declare const DEFAULT_DEVICE_CONFIG: DeviceConfig;
|
|
22
29
|
export declare const UDP_SCAN_PORT = 7000;
|
|
@@ -48,4 +55,5 @@ export declare const TEMPERATURE_TABLE: {
|
|
|
48
55
|
'29,1': number;
|
|
49
56
|
'30,0': number;
|
|
50
57
|
};
|
|
58
|
+
export declare const INIT_TEMP_TRESHOLD_TIMEOUT = 100;
|
|
51
59
|
//# sourceMappingURL=settings.d.ts.map
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,eAAO,MAAM,qBAAqB,EAAE,YAUnC,CAAC;AAEF,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAM,CAAC"}
|
package/dist/settings.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TEMPERATURE_TABLE = exports.UDP_SCAN_PORT = exports.DEFAULT_DEVICE_CONFIG = exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
|
|
6
|
+
exports.INIT_TEMP_TRESHOLD_TIMEOUT = exports.TEMPERATURE_TABLE = exports.UDP_SCAN_PORT = exports.DEFAULT_DEVICE_CONFIG = exports.OVERRIDE_DEFAULT_SWING = exports.PLUGIN_NAME = exports.PLATFORM_NAME = void 0;
|
|
7
|
+
const commands_1 = __importDefault(require("./commands"));
|
|
4
8
|
/**
|
|
5
9
|
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
6
10
|
*/
|
|
@@ -9,6 +13,11 @@ exports.PLATFORM_NAME = 'GREEAirConditioner';
|
|
|
9
13
|
* This must match the name of your plugin as defined the package.json
|
|
10
14
|
*/
|
|
11
15
|
exports.PLUGIN_NAME = 'homebridge-gree-ac';
|
|
16
|
+
exports.OVERRIDE_DEFAULT_SWING = {
|
|
17
|
+
never: 0,
|
|
18
|
+
powerOn: 1,
|
|
19
|
+
always: 2,
|
|
20
|
+
};
|
|
12
21
|
exports.DEFAULT_DEVICE_CONFIG = {
|
|
13
22
|
speedSteps: 5,
|
|
14
23
|
statusUpdateInterval: 10,
|
|
@@ -17,6 +26,8 @@ exports.DEFAULT_DEVICE_CONFIG = {
|
|
|
17
26
|
maximumTargetTemperature: 30,
|
|
18
27
|
xFanEnabled: true,
|
|
19
28
|
temperatureSensor: 'disabled',
|
|
29
|
+
defaultVerticalSwing: commands_1.default.swingVertical.value.default,
|
|
30
|
+
overrideDefaultVerticalSwing: exports.OVERRIDE_DEFAULT_SWING.never,
|
|
20
31
|
};
|
|
21
32
|
exports.UDP_SCAN_PORT = 7000;
|
|
22
33
|
exports.TEMPERATURE_TABLE = {
|
|
@@ -47,4 +58,5 @@ exports.TEMPERATURE_TABLE = {
|
|
|
47
58
|
'29,1': 29.5,
|
|
48
59
|
'30,0': 30,
|
|
49
60
|
};
|
|
61
|
+
exports.INIT_TEMP_TRESHOLD_TIMEOUT = 100;
|
|
50
62
|
//# sourceMappingURL=settings.js.map
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC;;GAEG;AACU,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD;;GAEG;AACU,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAEnC,QAAA,sBAAsB,GAAG;IACpC,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;CACV,CAAC;AAiBW,QAAA,qBAAqB,GAAiB;IACjD,UAAU,EAAE,CAAC;IACb,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE,EAAE;IAChB,wBAAwB,EAAE,EAAE;IAC5B,wBAAwB,EAAE,EAAE;IAC5B,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,UAAU;IAC7B,oBAAoB,EAAE,kBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO;IAC1D,4BAA4B,EAAE,8BAAsB,CAAC,KAAK;CAC3D,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,CAAC;AAErB,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,EAAE;CACX,CAAC;AAEW,QAAA,0BAA0B,GAAG,GAAG,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"private": false,
|
|
3
3
|
"displayName": "GREE Air Conditioner",
|
|
4
4
|
"name": "homebridge-gree-ac",
|
|
5
|
-
"version": "2.0.
|
|
5
|
+
"version": "2.0.2",
|
|
6
6
|
"description": "Control GREE Air Conditioners from Homebridge",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/eibenp/homebridge-gree-airconditioner.git"
|
|
10
|
+
"url": "git+https://github.com/eibenp/homebridge-gree-airconditioner.git"
|
|
11
11
|
},
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/eibenp/homebridge-gree-airconditioner/issues"
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": "^18.15.0 || ^20.8.0",
|
|
17
|
-
"homebridge": "^1.
|
|
17
|
+
"homebridge": "^1.8.0"
|
|
18
18
|
},
|
|
19
19
|
"main": "dist/index.js",
|
|
20
20
|
"scripts": {
|
package/uiconfig.jpg
CHANGED
|
Binary file
|