homebridge-melcloud-control 4.3.0-beta.38 → 4.3.0-beta.39

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.3.0-beta.38",
4
+ "version": "4.3.0-beta.39",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -146,15 +146,22 @@ class MelCloudAta extends EventEmitter {
146
146
  const messageType = parsedMessage[0].messageType;
147
147
  switch (messageType) {
148
148
  case 'unitStateChanged':
149
- const settings = Object.fromEntries(messageData.settings.map(s => [s.name, s.value]));
149
+ const settings = Object.fromEntries(messageData.map(({ name, value }) => {
150
+ let parsedValue = value;
151
+ if (value === "True") parsedValue = true;
152
+ else if (value === "False") parsedValue = false;
153
+ else if (!isNaN(value) && value !== "") parsedValue = Number(value);
154
+ return [name, parsedValue];
155
+ }));
156
+
150
157
  Object.assign(deviceData.Device, settings);
151
158
 
152
- if (!this.logDebug) this.emit('warn', `Updated state ${JSON.stringify(deviceData, null, 2)}`);
153
159
  this.emit('deviceState', deviceData);
154
160
  break;
155
161
  case 'unitWiFiChanged':
156
162
  const state = Object.fromEntries(messageData.settings.map(s => [s.name, s.value]));
157
163
  Object.assign(deviceData.Device, state);
164
+
158
165
  this.emit('deviceState', deviceData);
159
166
  break;
160
167
  }