node-switchbot 1.8.0-beta.2 → 1.8.0-beta.3

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.
@@ -94,7 +94,7 @@ class SwitchbotAdvertising {
94
94
  sd = this._parseServiceDataForWoContact(buf, onlog);//WoContact
95
95
  } else if (model === "c") {
96
96
  sd = this._parseServiceDataForWoCurtain(buf, onlog);// WoCurtain
97
- } else if (model === "x") {
97
+ } else if (model === "x" || 'X') {
98
98
  sd = this._parseServiceDataForWoBlindTilt(buf, onlog);// WoBlindTilt
99
99
  } else if (model === "u") {
100
100
  sd = this._parseServiceDataForWoBulb(manufacturerData, onlog);// WoBulb
@@ -378,15 +378,12 @@ class SwitchbotAdvertising {
378
378
  }
379
379
  let byte1 = buf.readUInt8(1);
380
380
  let byte2 = buf.readUInt8(2);
381
- let byte3 = buf.readUInt8(3);
382
- let byte4 = buf.readUInt8(4);
383
381
 
384
- let calibration = byte1 & 0b01000000 ? true : false; // Whether the calibration is completed
382
+ let calibration = byte1 & 0b00000001 ? true : false; // Whether the calibration is completed
385
383
  let battery = byte2 & 0b01111111; // %
386
- let inMotion = byte3 & 0b10000000 ? true : false;
387
- let currPosition = byte3 & 0b01111111; // current positon %
388
- let lightLevel = (byte4 >> 4) & 0b00001111; // light sensor level (1-10)
389
- let deviceChain = byte4 & 0b00000111;
384
+ let inMotion = byte2 & 0b10000000 ? true : false;
385
+ let tilt = byte2 & 0b01111111; // current tilt % (100 - _tilt) if reverse else _tilt,
386
+ let lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
390
387
 
391
388
  let data = {
392
389
  model: "x",
@@ -394,9 +391,8 @@ class SwitchbotAdvertising {
394
391
  calibration: calibration,
395
392
  battery: battery,
396
393
  inMotion: inMotion,
397
- position: currPosition,
394
+ tilt: tilt,
398
395
  lightLevel: lightLevel,
399
- deviceChain: deviceChain,
400
396
  };
401
397
 
402
398
  return data;
package/lib/switchbot.js CHANGED
@@ -107,6 +107,7 @@ class Switchbot {
107
107
  "i",
108
108
  "r",
109
109
  "x",
110
+ "X",
110
111
  ],
111
112
  },
112
113
  id: { required: false, type: "string", min: 12, max: 17 },
@@ -245,6 +246,7 @@ class Switchbot {
245
246
  device = new SwitchbotDeviceWoCurtain(peripheral, this.noble);
246
247
  break;
247
248
  case "x":
249
+ case "X":
248
250
  device = new SwitchbotDeviceWoBlindTilt(peripheral, this.noble);
249
251
  break;
250
252
  case "u":
@@ -355,7 +357,22 @@ class Switchbot {
355
357
  model: {
356
358
  required: false,
357
359
  type: "string",
358
- enum: ["H", "T", "e", "s", "d", "c", "u", "g", "j", "o", "i", "r", "x"],
360
+ enum: [
361
+ "H",
362
+ "T",
363
+ "e",
364
+ "s",
365
+ "d",
366
+ "c",
367
+ "u",
368
+ "g",
369
+ "j",
370
+ "o",
371
+ "i",
372
+ "r",
373
+ "x",
374
+ "X",
375
+ ],
359
376
  },
360
377
  id: { required: false, type: "string", min: 12, max: 17 },
361
378
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-switchbot",
3
- "version": "1.8.0-beta.2",
3
+ "version": "1.8.0-beta.3",
4
4
  "description": "The node-switchbot is a Node.js module which allows you to control your Switchbot Devices through Bluetooth (BLE).",
5
5
  "main": "./lib/switchbot.js",
6
6
  "files": [