node-switchbot 1.6.0-beta.3 → 1.6.0-beta.5

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.
@@ -267,7 +267,7 @@ class SwitchbotAdvertising {
267
267
  let led = (byte5 & 0b00100000) >> 5;
268
268
  let iot = (byte5 & 0b00010000) >> 4;
269
269
  let sense_distance = (byte5 & 0b00001100) >> 2;
270
- let light_intensity = byte5 & 0b00000011;
270
+ let lightLevel = byte5 & 0b00000011;
271
271
  let is_light = byte5 & 0b00000010 ? true : false;
272
272
 
273
273
  let data = {
@@ -279,7 +279,8 @@ class SwitchbotAdvertising {
279
279
  led: led,
280
280
  iot: iot,
281
281
  sense_distance: sense_distance,
282
- light_intensity: light_intensity,
282
+ lightLevel:
283
+ lightLevel == 1 ? "dark" : lightLevel == 2 ? "bright" : "unknown",
283
284
  is_light: is_light,
284
285
  };
285
286
 
@@ -307,7 +308,7 @@ class SwitchbotAdvertising {
307
308
  let battery = byte2 & 0b01111111; // %
308
309
  let contact_open = byte3 & 0b00000010 == 0b00000010;
309
310
  let contact_timeout = byte3 & 0b00000100 == 0b00000100;
310
- let is_light = byte3 & 0b00000001 ? true : false;
311
+ let lightLevel = byte3 & 0b00000001;
311
312
  let button_count = byte8 & 0b00001111;
312
313
 
313
314
  let data = {
@@ -318,9 +319,14 @@ class SwitchbotAdvertising {
318
319
  battery: battery,
319
320
  contact_open: contact_open,
320
321
  contact_timeout: contact_timeout,
321
- is_light: is_light,
322
+ lightLevel: lightLevel == 0 ? "dark" : "bright",
322
323
  button_count: button_count,
323
- hallState: hallState,
324
+ doorState:
325
+ hallState == 0
326
+ ? "close"
327
+ : hallState == 1
328
+ ? "open"
329
+ : "timeout no closed",
324
330
  };
325
331
 
326
332
  return data;
@@ -343,7 +349,8 @@ class SwitchbotAdvertising {
343
349
  let calibration = byte1 & 0b01000000 ? true : false; // Whether the calibration is completed
344
350
  let battery = byte2 & 0b01111111; // %
345
351
  let inMotion = byte3 & 0b10000000 ? true : false;
346
- let currPosition = max(min(byte3 & 0b01111111, 100), 0) //byte3 & 0b01111111; // current positon %
352
+ let currPosition = byte3 & 0b01111111; // current positon %
353
+ //let currPosition = max(min(byte3 & 0b01111111, 100), 0) //byte3 & 0b01111111; // current positon %
347
354
  let lightLevel = (byte4 >> 4) & 0b00001111; // light sensor level (1-10)
348
355
  let deviceChain = byte4 & 0b00000111;
349
356
 
@@ -371,23 +378,23 @@ class SwitchbotAdvertising {
371
378
  return null;
372
379
  }
373
380
 
374
- const byte6 = buf.readUInt8(6);
375
- const byte7 = buf.readUInt8(7);
376
- const byte8 = buf.readUInt8(8);
377
- const byte9 = buf.readUInt8(9);
378
- const byte10 = buf.readUInt8(10);
381
+ let byte6 = buf.readUInt8(6);
382
+ let byte7 = buf.readUInt8(7);
383
+ let byte8 = buf.readUInt8(8);
384
+ let byte9 = buf.readUInt8(9);
385
+ let byte10 = buf.readUInt8(10);
379
386
 
380
387
 
381
- const sequence_number = byte6;
382
- const state = byte7 & 0b01111111 ? true : false;
383
- const brightness = byte7 & 0b01111111;
384
- const delay = byte8 & 0b10000000;
385
- const preset = byte8 & 0b00001000;
386
- const color_mode = byte8 & 0b00000111;
387
- const speed = byte9 & 0b01111111;
388
- const loop_index = byte10 & 0b11111110;
388
+ let sequence_number = byte6;
389
+ let state = byte7 & 0b01111111 ? true : false;
390
+ let brightness = byte7 & 0b01111111;
391
+ let delay = byte8 & 0b10000000;
392
+ let preset = byte8 & 0b00001000;
393
+ let color_mode = byte8 & 0b00000111;
394
+ let speed = byte9 & 0b01111111;
395
+ let loop_index = byte10 & 0b11111110;
389
396
 
390
- const data = {
397
+ let data = {
391
398
  model: "u",
392
399
  modelName: "WoBulb",
393
400
  sequence_number: sequence_number,
@@ -412,22 +419,22 @@ class SwitchbotAdvertising {
412
419
  }
413
420
  return null;
414
421
  }
415
- const byte9 = buf.readUInt8(9); // byte9: plug mini state; 0x00=off, 0x80=on
416
- const byte10 = buf.readUInt8(10); // byte10: bit0: 0=no delay,1=delay, bit1:0=no timer, 1=timer; bit2:0=no sync time, 1=sync'ed time
417
- const byte11 = buf.readUInt8(11); // byte11: wifi rssi
418
- const byte12 = buf.readUInt8(12); // byte12: bit7: overload?
419
- const byte13 = buf.readUInt8(13); // byte12[bit0~6] + byte13: current power value
420
-
421
- const state = byte9 === 0x00 ? "off" : byte9 === 0x80 ? "on" : null;
422
- const delay = !!(byte10 & 0b00000001);
423
- const timer = !!(byte10 & 0b00000010);
424
- const syncUtcTime = !!(byte10 & 0b00000100);
425
- const wifiRssi = byte11;
426
- const overload = !!(byte12 & 0b10000000);
427
- const currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
422
+ let byte9 = buf.readUInt8(9); // byte9: plug mini state; 0x00=off, 0x80=on
423
+ let byte10 = buf.readUInt8(10); // byte10: bit0: 0=no delay,1=delay, bit1:0=no timer, 1=timer; bit2:0=no sync time, 1=sync'ed time
424
+ let byte11 = buf.readUInt8(11); // byte11: wifi rssi
425
+ let byte12 = buf.readUInt8(12); // byte12: bit7: overload?
426
+ let byte13 = buf.readUInt8(13); // byte12[bit0~6] + byte13: current power value
427
+
428
+ let state = byte9 === 0x00 ? "off" : byte9 === 0x80 ? "on" : null;
429
+ let delay = !!(byte10 & 0b00000001);
430
+ let timer = !!(byte10 & 0b00000010);
431
+ let syncUtcTime = !!(byte10 & 0b00000100);
432
+ let wifiRssi = byte11;
433
+ let overload = !!(byte12 & 0b10000000);
434
+ let currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
428
435
  // TODO: voltage ???
429
436
 
430
- const data = {
437
+ let data = {
431
438
  model: "g",
432
439
  modelName: "WoPlugMini",
433
440
  state: state,
@@ -451,22 +458,22 @@ class SwitchbotAdvertising {
451
458
  }
452
459
  return null;
453
460
  }
454
- const byte9 = buf.readUInt8(9); // byte9: plug mini state; 0x00=off, 0x80=on
455
- const byte10 = buf.readUInt8(10); // byte10: bit0: 0=no delay,1=delay, bit1:0=no timer, 1=timer; bit2:0=no sync time, 1=sync'ed time
456
- const byte11 = buf.readUInt8(11); // byte11: wifi rssi
457
- const byte12 = buf.readUInt8(12); // byte12: bit7: overload?
458
- const byte13 = buf.readUInt8(13); // byte12[bit0~6] + byte13: current power value
459
-
460
- const state = byte9 === 0x00 ? "off" : byte9 === 0x80 ? "on" : null;
461
- const delay = !!(byte10 & 0b00000001);
462
- const timer = !!(byte10 & 0b00000010);
463
- const syncUtcTime = !!(byte10 & 0b00000100);
464
- const wifiRssi = byte11;
465
- const overload = !!(byte12 & 0b10000000);
466
- const currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
461
+ let byte9 = buf.readUInt8(9); // byte9: plug mini state; 0x00=off, 0x80=on
462
+ let byte10 = buf.readUInt8(10); // byte10: bit0: 0=no delay,1=delay, bit1:0=no timer, 1=timer; bit2:0=no sync time, 1=sync'ed time
463
+ let byte11 = buf.readUInt8(11); // byte11: wifi rssi
464
+ let byte12 = buf.readUInt8(12); // byte12: bit7: overload?
465
+ let byte13 = buf.readUInt8(13); // byte12[bit0~6] + byte13: current power value
466
+
467
+ let state = byte9 === 0x00 ? "off" : byte9 === 0x80 ? "on" : null;
468
+ let delay = !!(byte10 & 0b00000001);
469
+ let timer = !!(byte10 & 0b00000010);
470
+ let syncUtcTime = !!(byte10 & 0b00000100);
471
+ let wifiRssi = byte11;
472
+ let overload = !!(byte12 & 0b10000000);
473
+ let currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
467
474
  // TODO: voltage ???
468
475
 
469
- const data = {
476
+ let data = {
470
477
  model: "j",
471
478
  modelName: "WoPlugMini",
472
479
  state: state,
@@ -550,24 +557,24 @@ class SwitchbotAdvertising {
550
557
  return null;
551
558
  }
552
559
 
553
- const byte7 = buf.readUInt8(7);
554
- const byte8 = buf.readUInt8(8);
555
- const byte9 = buf.readUInt8(9);
556
- const byte10 = buf.readUInt8(10);
560
+ let byte7 = buf.readUInt8(7);
561
+ let byte8 = buf.readUInt8(8);
562
+ let byte9 = buf.readUInt8(9);
563
+ let byte10 = buf.readUInt8(10);
557
564
 
558
- const state = byte7 & 0b10000000 ? true : false;
559
- const lightLevel = byte7 & 0b01111111;
560
- const delay = byte8 & 0b10000000;
561
- const preset = byte8 & 0b00001000;
562
- const color_mode = byte8 & 0b00000111;
563
- const speed = byte9 & 0b01111111;
564
- const loop_index = byte10 & 0b11111110;
565
+ let state = byte7 & 0b10000000 ? true : false;
566
+ let brightness = byte7 & 0b01111111;
567
+ let delay = byte8 & 0b10000000;
568
+ let preset = byte8 & 0b00001000;
569
+ let color_mode = byte8 & 0b00000111;
570
+ let speed = byte9 & 0b01111111;
571
+ let loop_index = byte10 & 0b11111110;
565
572
 
566
- const data = {
573
+ let data = {
567
574
  model: "r",
568
575
  modelName: "WoStrip",
569
576
  state: state,
570
- lightLevel: lightLevel,
577
+ brightness: brightness,
571
578
  delay: delay,
572
579
  preset: preset,
573
580
  color_mode: color_mode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-switchbot",
3
- "version": "1.6.0-beta.3",
3
+ "version": "1.6.0-beta.5",
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": [