@switchbot/homebridge-switchbot 1.7.0 → 1.7.1-beta.11

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 (97) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/config.schema.json +101 -33
  3. package/dist/devices/bots.d.ts +9 -5
  4. package/dist/devices/bots.d.ts.map +1 -1
  5. package/dist/devices/bots.js +144 -77
  6. package/dist/devices/bots.js.map +1 -1
  7. package/dist/devices/colorbulb.d.ts +9 -4
  8. package/dist/devices/colorbulb.d.ts.map +1 -1
  9. package/dist/devices/colorbulb.js +40 -37
  10. package/dist/devices/colorbulb.js.map +1 -1
  11. package/dist/devices/contact.d.ts +10 -2
  12. package/dist/devices/contact.d.ts.map +1 -1
  13. package/dist/devices/contact.js +92 -51
  14. package/dist/devices/contact.js.map +1 -1
  15. package/dist/devices/curtains.d.ts +10 -3
  16. package/dist/devices/curtains.d.ts.map +1 -1
  17. package/dist/devices/curtains.js +52 -34
  18. package/dist/devices/curtains.js.map +1 -1
  19. package/dist/devices/humidifiers.d.ts +8 -2
  20. package/dist/devices/humidifiers.d.ts.map +1 -1
  21. package/dist/devices/humidifiers.js +28 -35
  22. package/dist/devices/humidifiers.js.map +1 -1
  23. package/dist/devices/meters.d.ts +14 -12
  24. package/dist/devices/meters.d.ts.map +1 -1
  25. package/dist/devices/meters.js +63 -103
  26. package/dist/devices/meters.js.map +1 -1
  27. package/dist/devices/motion.d.ts +10 -3
  28. package/dist/devices/motion.d.ts.map +1 -1
  29. package/dist/devices/motion.js +114 -68
  30. package/dist/devices/motion.js.map +1 -1
  31. package/dist/devices/plugs.d.ts +3 -1
  32. package/dist/devices/plugs.d.ts.map +1 -1
  33. package/dist/devices/plugs.js +8 -1
  34. package/dist/devices/plugs.js.map +1 -1
  35. package/dist/irdevices/airconditioners.d.ts +1 -0
  36. package/dist/irdevices/airconditioners.d.ts.map +1 -1
  37. package/dist/irdevices/airconditioners.js +6 -0
  38. package/dist/irdevices/airconditioners.js.map +1 -1
  39. package/dist/irdevices/airpurifiers.d.ts +1 -0
  40. package/dist/irdevices/airpurifiers.d.ts.map +1 -1
  41. package/dist/irdevices/airpurifiers.js +6 -0
  42. package/dist/irdevices/airpurifiers.js.map +1 -1
  43. package/dist/irdevices/cameras.d.ts +1 -0
  44. package/dist/irdevices/cameras.d.ts.map +1 -1
  45. package/dist/irdevices/cameras.js +6 -0
  46. package/dist/irdevices/cameras.js.map +1 -1
  47. package/dist/irdevices/fans.d.ts +1 -0
  48. package/dist/irdevices/fans.d.ts.map +1 -1
  49. package/dist/irdevices/fans.js +6 -0
  50. package/dist/irdevices/fans.js.map +1 -1
  51. package/dist/irdevices/lights.d.ts +1 -0
  52. package/dist/irdevices/lights.d.ts.map +1 -1
  53. package/dist/irdevices/lights.js +6 -0
  54. package/dist/irdevices/lights.js.map +1 -1
  55. package/dist/irdevices/others.d.ts +1 -0
  56. package/dist/irdevices/others.d.ts.map +1 -1
  57. package/dist/irdevices/others.js +6 -0
  58. package/dist/irdevices/others.js.map +1 -1
  59. package/dist/irdevices/tvs.d.ts +1 -0
  60. package/dist/irdevices/tvs.d.ts.map +1 -1
  61. package/dist/irdevices/tvs.js +6 -0
  62. package/dist/irdevices/tvs.js.map +1 -1
  63. package/dist/irdevices/vacuumcleaners.d.ts +1 -0
  64. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  65. package/dist/irdevices/vacuumcleaners.js +6 -0
  66. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  67. package/dist/irdevices/waterheaters.d.ts +1 -0
  68. package/dist/irdevices/waterheaters.d.ts.map +1 -1
  69. package/dist/irdevices/waterheaters.js +6 -0
  70. package/dist/irdevices/waterheaters.js.map +1 -1
  71. package/dist/platform.d.ts +2 -1
  72. package/dist/platform.d.ts.map +1 -1
  73. package/dist/platform.js +14 -1
  74. package/dist/platform.js.map +1 -1
  75. package/dist/settings.d.ts +14 -0
  76. package/dist/settings.d.ts.map +1 -1
  77. package/dist/settings.js.map +1 -1
  78. package/package.json +71 -71
  79. package/src/devices/bots.ts +140 -74
  80. package/src/devices/colorbulb.ts +46 -40
  81. package/src/devices/contact.ts +99 -55
  82. package/src/devices/curtains.ts +60 -36
  83. package/src/devices/humidifiers.ts +36 -36
  84. package/src/devices/meters.ts +79 -113
  85. package/src/devices/motion.ts +125 -74
  86. package/src/devices/plugs.ts +11 -2
  87. package/src/irdevices/airconditioners.ts +7 -0
  88. package/src/irdevices/airpurifiers.ts +7 -0
  89. package/src/irdevices/cameras.ts +7 -0
  90. package/src/irdevices/fans.ts +7 -0
  91. package/src/irdevices/lights.ts +7 -0
  92. package/src/irdevices/others.ts +7 -0
  93. package/src/irdevices/tvs.ts +7 -0
  94. package/src/irdevices/vacuumcleaners.ts +7 -0
  95. package/src/irdevices/waterheaters.ts +7 -0
  96. package/src/platform.ts +14 -1
  97. package/src/settings.ts +15 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
4
4
 
5
+ ## [Beta - Version 1.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.8.0) (2022-01-XX)
6
+
7
+ ## What's Changed
8
+ * Added option to display Bot a Stateful Programmable Switch.
9
+ * This will only Works in 3rd Party Home App, Like [Eve](https://apps.apple.com/us/app/eve-for-homekit/id917695792) or [Home+ 5](https://apps.apple.com/us/app/home-5/id995994352)
10
+ * Add option to Hide Motion Sensor's Light Sensor.
11
+ * Add option to Set Motion Sensor's Light Sensor `set_minLux` and `set_maxLux`.
12
+ * Fixed Bug: Where BLE config would show for devices that don't support BLE.
13
+ * Fixed Bug: Contact Sensors's Motion Sensor and Light Sensor showing undefined values.
14
+ * Fixed Bug: Motion Sensors's Light Sensor showing undefined values.
15
+ * Fixed Bug: Battery Service wouldn't be removed from Curtain, Contact Sensor, or Motion Sensor when switching from BLE to OpenAPI.
16
+ * Enhancments: Made some improvemnt on the switch from BLE to OpenAPI when BLE connection fails.
17
+ * Enhancments: Made Optional Switchbot Device Settings and Optional IR Device Settings more managable by using Tabs.
18
+ * Housekeeping and updated dependencies.
19
+
20
+ **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.7.0...v1.8.0
21
+
5
22
  ## [Version 1.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.7.0) (2022-01-05)
6
23
 
7
24
  ## What's Changed
@@ -11,8 +11,7 @@
11
11
  "name": {
12
12
  "type": "string",
13
13
  "title": "Name",
14
- "default": "SwitchBot",
15
- "required": true
14
+ "default": "SwitchBot"
16
15
  },
17
16
  "credentials": {
18
17
  "type": "object",
@@ -20,7 +19,6 @@
20
19
  "openToken": {
21
20
  "title": "Token",
22
21
  "type": "string",
23
- "required": true,
24
22
  "x-schema-form": {
25
23
  "type": "password"
26
24
  }
@@ -28,10 +26,13 @@
28
26
  "notice": {
29
27
  "title": "Notice",
30
28
  "type": "string",
31
- "required": true,
32
29
  "default": "Keep your token a secret!"
33
30
  }
34
- }
31
+ },
32
+ "required": [
33
+ "openToken",
34
+ "notice"
35
+ ]
35
36
  },
36
37
  "options": {
37
38
  "type": "object",
@@ -52,7 +53,7 @@
52
53
  "type": "string",
53
54
  "placeholder": "SwitchBot",
54
55
  "condition": {
55
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && model.options.devices[arrayIndices].ble && !model.options.devices[arrayIndices].hide_device);"
56
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId);"
56
57
  }
57
58
  },
58
59
  "hide_device": {
@@ -137,11 +138,11 @@
137
138
  "title": "Enable Bluetooth Low Energy (BLE) Connection",
138
139
  "type": "boolean",
139
140
  "condition": {
140
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
141
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && (model.options.devices[arrayIndices].configDeviceType === 'Humidifier' || model.options.devices[arrayIndices].configDeviceType === 'Meter' || model.options.devices[arrayIndices].configDeviceType === 'Curtain' || model.options.devices[arrayIndices].configDeviceType === 'Bot'));"
141
142
  }
142
143
  },
143
144
  "scanDuration": {
144
- "title": "Scan Duration (Default is 1 Second)",
145
+ "title": "BLE Scan Duration (Default is 1 Second)",
145
146
  "type": "number",
146
147
  "placeholder": 1,
147
148
  "condition": {
@@ -224,6 +225,12 @@
224
225
  "windowcovering"
225
226
  ]
226
227
  },
228
+ {
229
+ "title": "Stateful Programmable Switch (Only Works in 3rd Party Home Apps)",
230
+ "enum": [
231
+ "stateful"
232
+ ]
233
+ },
227
234
  {
228
235
  "title": "Switch",
229
236
  "enum": [
@@ -367,6 +374,22 @@
367
374
  "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Contact Sensor' && model.options.devices[arrayIndices].deviceId);"
368
375
  }
369
376
  },
377
+ "set_minlux": {
378
+ "title": "Set Min Lux",
379
+ "type": "number",
380
+ "placeholder": "1",
381
+ "condition": {
382
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Contact Sensor' && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].contact.hide_lightsensor);"
383
+ }
384
+ },
385
+ "set_maxlux": {
386
+ "title": "Set Max Lux",
387
+ "type": "number",
388
+ "placeholder": "6001",
389
+ "condition": {
390
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Contact Sensor' && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].contact.hide_lightsensor);"
391
+ }
392
+ },
370
393
  "hide_motionsensor": {
371
394
  "title": "Hide Contact Sensor's Motion Sensor",
372
395
  "type": "boolean",
@@ -376,6 +399,34 @@
376
399
  }
377
400
  }
378
401
  },
402
+ "motion": {
403
+ "type": "object",
404
+ "properties": {
405
+ "hide_lightsensor": {
406
+ "title": "Hide Motion Sensor's Light Sensor",
407
+ "type": "boolean",
408
+ "condition": {
409
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Motion Sensor' && model.options.devices[arrayIndices].deviceId);"
410
+ }
411
+ },
412
+ "set_minlux": {
413
+ "title": "Set Min Lux",
414
+ "type": "number",
415
+ "placeholder": "1",
416
+ "condition": {
417
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Motion Sensor' && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].motion.hide_lightsensor);"
418
+ }
419
+ },
420
+ "set_maxlux": {
421
+ "title": "Set Max Lux",
422
+ "type": "number",
423
+ "placeholder": "6001",
424
+ "condition": {
425
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Motion Sensor' && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].motion.hide_lightsensor);"
426
+ }
427
+ }
428
+ }
429
+ },
379
430
  "colorbulb": {
380
431
  "type": "object",
381
432
  "properties": {
@@ -405,7 +456,7 @@
405
456
  "placeholder": 360,
406
457
  "description": "Indicates the number of seconds between polls of SwitchBot API.",
407
458
  "condition": {
408
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
459
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
409
460
  }
410
461
  },
411
462
  "logging": {
@@ -432,11 +483,17 @@
432
483
  }
433
484
  ],
434
485
  "condition": {
435
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
486
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
436
487
  }
437
488
  }
438
- }
439
- }
489
+ },
490
+ "required": [
491
+ "deviceId",
492
+ "configDeviceType",
493
+ "configDeviceName"
494
+ ]
495
+ },
496
+ "uniqueItems": true
440
497
  },
441
498
  "irdevices": {
442
499
  "type": "array",
@@ -754,11 +811,16 @@
754
811
  }
755
812
  ],
756
813
  "condition": {
757
- "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device);"
814
+ "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device && model.options.irdevices[arrayIndices].configRemoteType);"
758
815
  }
759
816
  }
760
- }
761
- }
817
+ },
818
+ "required": [
819
+ "deviceId",
820
+ "configRemoteType"
821
+ ]
822
+ },
823
+ "uniqueItems": true
762
824
  },
763
825
  "refreshRate": {
764
826
  "title": "Refresh Rate",
@@ -799,7 +861,10 @@
799
861
  }
800
862
  }
801
863
  }
802
- }
864
+ },
865
+ "required": [
866
+ "name"
867
+ ]
803
868
  },
804
869
  "layout": [
805
870
  {
@@ -812,28 +877,27 @@
812
877
  ]
813
878
  },
814
879
  {
815
- "key": "options.devices",
816
- "notitle": false,
817
- "add": "Add Another Device",
818
880
  "type": "fieldset",
819
881
  "title": "Optional SwitchBot Device Settings",
820
882
  "expandable": true,
821
883
  "expanded": false,
822
- "orderable": false,
823
- "buttonText": "Add Device",
824
884
  "items": [
825
885
  {
826
- "type": "div",
827
- "displayFlex": true,
828
- "flex-direction": "column",
886
+ "key": "options.devices",
887
+ "notitle": false,
888
+ "type": "tabarray",
889
+ "title": "{{ value.configDeviceName || value.deviceId || 'New SwitchBot Device' }}",
890
+ "expandable": true,
891
+ "expanded": false,
892
+ "orderable": false,
829
893
  "items": [
830
894
  "options.devices[].configDeviceName",
831
895
  "options.devices[].deviceId",
832
896
  "options.devices[].hide_device",
897
+ "options.devices[].configDeviceType",
833
898
  "options.devices[].offline",
834
899
  "options.devices[].ble",
835
900
  "options.devices[].scanDuration",
836
- "options.devices[].configDeviceType",
837
901
  "options.devices[].bot.mode",
838
902
  "options.devices[].bot.deviceType",
839
903
  "options.devices[].bot.doublePress",
@@ -850,7 +914,12 @@
850
914
  "options.devices[].curtain.set_minlux",
851
915
  "options.devices[].curtain.set_maxlux",
852
916
  "options.devices[].contact.hide_lightsensor",
917
+ "options.devices[].contact.set_minlux",
918
+ "options.devices[].contact.set_maxlux",
853
919
  "options.devices[].contact.hide_motionsensor",
920
+ "options.devices[].motion.hide_lightsensor",
921
+ "options.devices[].motion.set_minlux",
922
+ "options.devices[].motion.set_maxlux",
854
923
  "options.devices[].colorbulb.set_minStep",
855
924
  "options.devices[].colorbulb.adaptiveLightingShift",
856
925
  "options.devices[].refreshRate",
@@ -860,20 +929,19 @@
860
929
  ]
861
930
  },
862
931
  {
863
- "key": "options.irdevices",
864
- "notitle": false,
865
- "add": "Add Another IR Device",
866
932
  "type": "fieldset",
867
933
  "title": "Optional IR Device Settings",
868
934
  "expandable": true,
869
935
  "expanded": false,
870
- "orderable": false,
871
- "buttonText": "Add IR Device",
872
936
  "items": [
873
937
  {
874
- "type": "div",
875
- "displayFlex": true,
876
- "flex-direction": "column",
938
+ "key": "options.irdevices",
939
+ "notitle": false,
940
+ "type": "tabarray",
941
+ "title": "{{ value.configDeviceName || value.deviceId || 'New IR Device' }}",
942
+ "expandable": true,
943
+ "expanded": false,
944
+ "orderable": false,
877
945
  "items": [
878
946
  "options.irdevices[].deviceId",
879
947
  "options.irdevices[].hide_device",
@@ -1,7 +1,7 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { SwitchBotPlatform } from '../platform';
3
3
  import { PlatformAccessory, CharacteristicValue } from 'homebridge';
4
- import { device, devicesConfig, serviceData, switchbot, deviceStatusResponse } from '../settings';
4
+ import { device, devicesConfig, serviceData, switchbot, deviceStatusResponse, deviceStatus } from '../settings';
5
5
  /**
6
6
  * Platform Accessory
7
7
  * An instance of this class is created for each accessory your platform registers
@@ -21,13 +21,16 @@ export declare class Bot {
21
21
  private batteryService?;
22
22
  private garageDoorService?;
23
23
  private windowCoveringService?;
24
+ private statefulProgrammableSwitchService?;
24
25
  On: CharacteristicValue;
25
26
  OnCached: CharacteristicValue;
26
27
  BatteryLevel: CharacteristicValue;
27
28
  StatusLowBattery: CharacteristicValue;
29
+ power: deviceStatus['power'];
28
30
  deviceStatus: deviceStatusResponse;
29
31
  connected?: boolean;
30
32
  switchbot: switchbot;
33
+ SwitchToOpenAPI?: boolean;
31
34
  serviceData: serviceData;
32
35
  mode: serviceData['mode'];
33
36
  state: serviceData['state'];
@@ -48,10 +51,12 @@ export declare class Bot {
48
51
  removeFanService(accessory: PlatformAccessory): void;
49
52
  removeWindowService(accessory: PlatformAccessory): void;
50
53
  removeWindowCoveringService(accessory: PlatformAccessory): void;
54
+ removeStatefulProgrammableSwitchService(accessory: PlatformAccessory): void;
51
55
  removeSwitchService(accessory: PlatformAccessory): void;
52
- refreshRate(): void;
53
- scan(): void;
54
- logs(): void;
56
+ scan(device: device & devicesConfig): void;
57
+ config(device: device & devicesConfig): void;
58
+ refreshRate(device: device & devicesConfig): void;
59
+ logs(device: device & devicesConfig): void;
55
60
  PressOrSwitch(): void;
56
61
  /**
57
62
  * Parse the device status from the SwitchBot api
@@ -63,7 +68,6 @@ export declare class Bot {
63
68
  * Asks the SwitchBot API for the latest device information
64
69
  */
65
70
  refreshStatus(): Promise<void>;
66
- connectBLE(): Promise<any>;
67
71
  private BLERefreshStatus;
68
72
  private openAPIRefreshStatus;
69
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bots.d.ts","sourceRoot":"","sources":["../../src/devices/bots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bots.d.ts","sourceRoot":"","sources":["../../src/devices/bots.ts"],"names":[],"mappings":"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"}