homebridge-melcloud-control 4.3.0-beta.15 → 4.3.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/melcloudata.js +16 -1
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.15",
4
+ "version": "4.3.0-beta.17",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -110,7 +110,7 @@ class MelCloudAta extends EventEmitter {
110
110
  if (!this.logDebug) this.emit('warn', `Socket send heartbeat`);
111
111
  socket.ping();
112
112
  }
113
- }, 5000);
113
+ }, 10000);
114
114
  })
115
115
  .on('pong', () => {
116
116
  if (!this.logDebug) this.emit('warn', `Socket received heartbeat`);
@@ -127,9 +127,24 @@ class MelCloudAta extends EventEmitter {
127
127
  switch (unitId) {
128
128
  case this.deviceId:
129
129
  const settings = messageData.settings[0];
130
+ const settingsObject = Object.fromEntries(
131
+ settings.map(({ name, value }) => {
132
+ let parsedValue = value;
133
+ if (value === "True") parsedValue = true;
134
+ else if (value === "False") parsedValue = false;
135
+ else if (!isNaN(value) && value !== "") parsedValue = Number(value);
136
+
137
+ const key = name.charAt(0).toUpperCase() + name.slice(1);
138
+ return [key, parsedValue];
139
+ })
140
+ );
141
+ if (!this.logDebug) this.emit('warn', `Settings:', ${settingsObject}`);
130
142
  const name = settings.name;
131
143
  const value = settings.value;
132
144
  deviceData.Device[name] = value;
145
+
146
+ //emit state
147
+ this.emit('deviceState', deviceData);
133
148
  break;
134
149
  }
135
150
  });