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 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
+ [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
1
2
  [![npm](https://badgen.net/npm/v/homebridge-gree-ac/latest?icon=npm&label)](https://www.npmjs.com/package/homebridge-gree-ac)
2
3
  [![npm](https://badgen.net/npm/dt/homebridge-gree-ac?label=downloads)](https://www.npmjs.com/package/homebridge-gree-ac)
3
4
  [![Donate](https://badgen.net/badge/donate/paypal/yellow)](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.6.0)
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's also recommended to add the device and specify its MAC address (Serial Number) in the configuration file.
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": 10,
87
- "scanTimeout": 5,
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
  ![Homebridge UI](./uiconfig.jpg)
@@ -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)
@@ -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
  }
@@ -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;AAGzD;;;;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;IA6Bf,aAAa,iCAkBX;IAEF,cAAc,sDAqFZ;IAEF,aAAa;CASd"}
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 Error:', err);
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.info('Loading accessory from cache: ', accessory.displayName, accessory.context.device);
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 <= 65535) {
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.config.devices[key];
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('Error:', error.message);
219
+ this.log.error('broadcastScan', error.message);
198
220
  }
199
221
  });
200
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
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,EAAqB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD;;;;GAIG;AACH,qBAAa,kBAAkB;IAW3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAd9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAA6B;gBAG7B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB;IAoHpD;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAMpC,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAiBrD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAK/C,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAOrD,YAAY,CAAC,KAAK,EAAE,mBAAmB;IAOvC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAyDjD;;;;;;;;;;;;;;;MAeE;IACI,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQzC,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqC3D,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAgB1D,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOpE,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOlE,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQ1D,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAe5C,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAwCtD,cAAc;IAId,OAAO;IAOP,UAAU,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,MAAM,CAAC,KAAA,GAAG,MAAM;IAuBvC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1C,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY5C,uBAAuB,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,GAAG,MAAM;IAoB7C,IAAI,KAAK,YAER;IAED,IAAI,KAAK,CAAC,KAAK,SAAA,EAoCd;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,KAAK,KAAA,EAcb;IAED,IAAI,kBAAkB,WAErB;IAED,IAAI,iBAAiB,WAIpB;IAED,IAAI,iBAAiB,CAAC,KAAK,QAAA,EAwB1B;IAED,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAOd;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,CAAC,KAAK,KAAA,EAOlB;IAED,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAWd;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,CAAC,KAAK,KAAA,EAiBlB;IAED,IAAI,YAAY,QAEf;IAED,IAAI,YAAY,CAAC,KAAK,KAAA,EAiBrB;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE;IA8K5B,aAAa,iCA0DX;IAEF,WAAW,CAAC,OAAO,KAAA;IAqBnB,eAAe;IAUf,WAAW,CAAC,GAAG,KAAA;IAYf,mBAAmB;CAQpB"}
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.platform.log.debug(`[${this.getDeviceLabel()}] Package (Device binding) -> %j`, pack);
35
- this.platform.log.info(`[${this.getDeviceLabel()}] Device is bound -> ${this.key}`);
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()}] Package (Device status) -> %j`, pack);
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()}] Package (Device response) -> %j`, pack);
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 (%s)`, ts === null || ts === void 0 ? void 0 : ts.displayName);
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 error:`, err.message);
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 : commands_1.default.swingVertical.value.default;
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 ->`, 'COOLING');
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 ->`, 'HEATING');
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 ->`, 'IDLE');
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 ->`, 'COOLING');
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 ->`, 'HEATING');
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 ->`, 'IDLE');
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 ->`, 'INACTIVE');
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 ->`, 'COOL');
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 ->`, 'HEAT');
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 ->`, 'AUTO');
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 ->`, 'DISABLED');
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 ->`, 'ENABLED');
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
- return Math.max(Math.min(this.getTargetTempFromDevice(this.status[commands_1.default.targetTemperature.code] || 25, this.status[commands_1.default.temperatureOffset.code] || 0), (this.deviceConfig.maximumTargetTemperature)), (this.deviceConfig.minimumTargetTemperature));
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
- this.socket.send(JSON.stringify(payload), this.accessory.context.device.port, this.accessory.context.device.address);
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('Error:', err.message);
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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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD,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;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD;;GAEG;AACU,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAenC,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;CAC9B,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"}
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.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.6.0"
17
+ "homebridge": "^1.8.0"
18
18
  },
19
19
  "main": "dist/index.js",
20
20
  "scripts": {
package/uiconfig.jpg CHANGED
Binary file