@switchbot/homebridge-switchbot 1.3.1-beta.9 → 1.4.1-beta.2

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 (103) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/config.schema.json +82 -32
  3. package/dist/devices/bots.d.ts +15 -3
  4. package/dist/devices/bots.d.ts.map +1 -1
  5. package/dist/devices/bots.js +227 -165
  6. package/dist/devices/bots.js.map +1 -1
  7. package/dist/devices/colorbulb.d.ts +14 -3
  8. package/dist/devices/colorbulb.d.ts.map +1 -1
  9. package/dist/devices/colorbulb.js +163 -105
  10. package/dist/devices/colorbulb.js.map +1 -1
  11. package/dist/devices/contact.d.ts +13 -3
  12. package/dist/devices/contact.d.ts.map +1 -1
  13. package/dist/devices/contact.js +102 -63
  14. package/dist/devices/contact.js.map +1 -1
  15. package/dist/devices/curtains.d.ts +14 -5
  16. package/dist/devices/curtains.d.ts.map +1 -1
  17. package/dist/devices/curtains.js +180 -140
  18. package/dist/devices/curtains.js.map +1 -1
  19. package/dist/devices/humidifiers.d.ts +14 -3
  20. package/dist/devices/humidifiers.d.ts.map +1 -1
  21. package/dist/devices/humidifiers.js +173 -133
  22. package/dist/devices/humidifiers.js.map +1 -1
  23. package/dist/devices/meters.d.ts +17 -13
  24. package/dist/devices/meters.d.ts.map +1 -1
  25. package/dist/devices/meters.js +150 -105
  26. package/dist/devices/meters.js.map +1 -1
  27. package/dist/devices/motion.d.ts +13 -3
  28. package/dist/devices/motion.d.ts.map +1 -1
  29. package/dist/devices/motion.js +89 -45
  30. package/dist/devices/motion.js.map +1 -1
  31. package/dist/devices/plugs.d.ts +15 -3
  32. package/dist/devices/plugs.d.ts.map +1 -1
  33. package/dist/devices/plugs.js +115 -53
  34. package/dist/devices/plugs.js.map +1 -1
  35. package/dist/irdevices/airconditioners.d.ts +13 -3
  36. package/dist/irdevices/airconditioners.d.ts.map +1 -1
  37. package/dist/irdevices/airconditioners.js +97 -46
  38. package/dist/irdevices/airconditioners.js.map +1 -1
  39. package/dist/irdevices/airpurifiers.d.ts +13 -3
  40. package/dist/irdevices/airpurifiers.d.ts.map +1 -1
  41. package/dist/irdevices/airpurifiers.js +85 -31
  42. package/dist/irdevices/airpurifiers.js.map +1 -1
  43. package/dist/irdevices/cameras.d.ts +12 -3
  44. package/dist/irdevices/cameras.d.ts.map +1 -1
  45. package/dist/irdevices/cameras.js +73 -24
  46. package/dist/irdevices/cameras.js.map +1 -1
  47. package/dist/irdevices/fans.d.ts +12 -3
  48. package/dist/irdevices/fans.d.ts.map +1 -1
  49. package/dist/irdevices/fans.js +83 -35
  50. package/dist/irdevices/fans.js.map +1 -1
  51. package/dist/irdevices/lights.d.ts +12 -3
  52. package/dist/irdevices/lights.d.ts.map +1 -1
  53. package/dist/irdevices/lights.js +74 -25
  54. package/dist/irdevices/lights.js.map +1 -1
  55. package/dist/irdevices/others.d.ts +12 -3
  56. package/dist/irdevices/others.d.ts.map +1 -1
  57. package/dist/irdevices/others.js +80 -31
  58. package/dist/irdevices/others.js.map +1 -1
  59. package/dist/irdevices/tvs.d.ts +12 -3
  60. package/dist/irdevices/tvs.d.ts.map +1 -1
  61. package/dist/irdevices/tvs.js +90 -42
  62. package/dist/irdevices/tvs.js.map +1 -1
  63. package/dist/irdevices/vacuumcleaners.d.ts +12 -3
  64. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  65. package/dist/irdevices/vacuumcleaners.js +73 -24
  66. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  67. package/dist/irdevices/waterheaters.d.ts +12 -3
  68. package/dist/irdevices/waterheaters.d.ts.map +1 -1
  69. package/dist/irdevices/waterheaters.js +73 -24
  70. package/dist/irdevices/waterheaters.js.map +1 -1
  71. package/dist/platform.d.ts +10 -10
  72. package/dist/platform.d.ts.map +1 -1
  73. package/dist/platform.js +290 -307
  74. package/dist/platform.js.map +1 -1
  75. package/dist/settings.d.ts +9 -6
  76. package/dist/settings.d.ts.map +1 -1
  77. package/dist/settings.js.map +1 -1
  78. package/nodemon.json +1 -1
  79. package/package.json +6 -6
  80. package/src/devices/bots.ts +221 -152
  81. package/src/devices/colorbulb.ts +172 -108
  82. package/src/devices/contact.ts +109 -64
  83. package/src/devices/curtains.ts +190 -146
  84. package/src/devices/humidifiers.ts +181 -135
  85. package/src/devices/meters.ts +156 -105
  86. package/src/devices/motion.ts +95 -45
  87. package/src/devices/plugs.ts +121 -53
  88. package/src/irdevices/airconditioners.ts +102 -46
  89. package/src/irdevices/airpurifiers.ts +91 -31
  90. package/src/irdevices/cameras.ts +79 -24
  91. package/src/irdevices/fans.ts +89 -36
  92. package/src/irdevices/lights.ts +80 -25
  93. package/src/irdevices/others.ts +86 -31
  94. package/src/irdevices/tvs.ts +96 -42
  95. package/src/irdevices/vacuumcleaners.ts +79 -24
  96. package/src/irdevices/waterheaters.ts +79 -24
  97. package/src/platform.ts +285 -302
  98. package/src/settings.ts +10 -6
  99. package/dist/devices/indoorcam.d.ts +0 -64
  100. package/dist/devices/indoorcam.d.ts.map +0 -1
  101. package/dist/devices/indoorcam.js +0 -249
  102. package/dist/devices/indoorcam.js.map +0 -1
  103. package/src/devices/indoorcam.ts +0 -309
package/CHANGELOG.md CHANGED
@@ -2,14 +2,30 @@
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.3.1](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.3.1) (2021-12-XX)
5
+ ## [Beta - Version 2.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v2.0.0) (2021-12-XX)
6
+
7
+ ## What's Changed
8
+ ### * Major Change To Logging:
9
+ * Added the following Logging Options:
10
+ * `Standard`
11
+ * `None`
12
+ * `Debug`
13
+ * Removed Device Logging Option, which was pushed into new logging under debug.
14
+ * Added Device Logging Override for each Device, by using the Device Config.
15
+ ### * Major Changes to `refreshRate`:
16
+ * Added an option to override `refreshRate` for each Device, by using the Device Config.
17
+ * Fixed Bug:
18
+
19
+ ## [Version 1.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.4.0) (2021-12-15)
6
20
 
7
21
  ## What's Changed
8
22
  * Added Status Messages to logs for discoverDevices request.
23
+ * Added Cached Status to IR device, Status will be saved to accessory context and restored on restart.
9
24
  * Added Option `Offline as Off` to be able set the device as off, if API reports offline.
25
+ * Removed Meter Unit Config Option as it was confusing and probably never used.
10
26
  * Housekeeping and updated dependencies.
11
27
 
12
- **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.3.0...v1.3.1
28
+ **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.3.0...v1.4.0
13
29
 
14
30
  ## [Version 1.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.3.0) (2021-12-02)
15
31
 
@@ -67,7 +67,7 @@
67
67
  "title": "Offline as Off",
68
68
  "type": "boolean",
69
69
  "condition": {
70
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId);"
70
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
71
71
  }
72
72
  },
73
73
  "configDeviceType": {
@@ -204,27 +204,6 @@
204
204
  "condition": {
205
205
  "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Meter' && model.options.devices[arrayIndices].deviceId);"
206
206
  }
207
- },
208
- "unit": {
209
- "title": "Convert your Meter's Temperature to Celsius or Fahrenheit",
210
- "type": "number",
211
- "oneOf": [
212
- {
213
- "title": "Celsius",
214
- "enum": [
215
- 0
216
- ]
217
- },
218
- {
219
- "title": "Fahrenheit",
220
- "enum": [
221
- 1
222
- ]
223
- }
224
- ],
225
- "condition": {
226
- "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Meter' && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].meter.hide_temperature);"
227
- }
228
207
  }
229
208
  }
230
209
  },
@@ -360,6 +339,43 @@
360
339
  }
361
340
  }
362
341
  }
342
+ },
343
+ "refreshRate": {
344
+ "title": "Device Refresh Rate",
345
+ "type": "number",
346
+ "minimum": 30,
347
+ "placeholder": 360,
348
+ "description": "Indicates the number of seconds between polls of SwitchBot API.",
349
+ "condition": {
350
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
351
+ }
352
+ },
353
+ "logging": {
354
+ "title": "Device Logging Override Setting",
355
+ "type": "string",
356
+ "oneOf": [
357
+ {
358
+ "title": "Standard Logging",
359
+ "enum": [
360
+ "standard"
361
+ ]
362
+ },
363
+ {
364
+ "title": "No Logging",
365
+ "enum": [
366
+ "none"
367
+ ]
368
+ },
369
+ {
370
+ "title": "Debug Logging",
371
+ "enum": [
372
+ "debug"
373
+ ]
374
+ }
375
+ ],
376
+ "condition": {
377
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
378
+ }
363
379
  }
364
380
  }
365
381
  }
@@ -655,6 +671,33 @@
655
671
  }
656
672
  }
657
673
  }
674
+ },
675
+ "logging": {
676
+ "title": "Device Logging Override Setting",
677
+ "type": "string",
678
+ "oneOf": [
679
+ {
680
+ "title": "Standard Logging",
681
+ "enum": [
682
+ "standard"
683
+ ]
684
+ },
685
+ {
686
+ "title": "No Logging",
687
+ "enum": [
688
+ "none"
689
+ ]
690
+ },
691
+ {
692
+ "title": "Debug Logging",
693
+ "enum": [
694
+ "debug"
695
+ ]
696
+ }
697
+ ],
698
+ "condition": {
699
+ "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device);"
700
+ }
658
701
  }
659
702
  }
660
703
  }
@@ -672,21 +715,26 @@
672
715
  "placeholder": 1,
673
716
  "description": "Indicates the number of seconds between pushes to SwitchBot API."
674
717
  },
675
- "debug": {
718
+ "logging": {
676
719
  "title": "Logging Setting",
677
720
  "type": "string",
678
- "description": "Enable 'Device' or 'Debug' logging.",
679
721
  "oneOf": [
680
722
  {
681
- "title": "Enable Debug Logging",
723
+ "title": "Standard Logging",
682
724
  "enum": [
683
- "debug"
725
+ "standard"
726
+ ]
727
+ },
728
+ {
729
+ "title": "No Logging",
730
+ "enum": [
731
+ "none"
684
732
  ]
685
733
  },
686
734
  {
687
- "title": "Enable Device Logging",
735
+ "title": "Debug Logging",
688
736
  "enum": [
689
- "device"
737
+ "debug"
690
738
  ]
691
739
  }
692
740
  ]
@@ -731,7 +779,6 @@
731
779
  "options.devices[].bot.deviceType",
732
780
  "options.devices[].meter.hide_temperature",
733
781
  "options.devices[].meter.hide_humidity",
734
- "options.devices[].meter.unit",
735
782
  "options.devices[].humidifier.set_minStep",
736
783
  "options.devices[].humidifier.hide_temperature",
737
784
  "options.devices[].curtain.set_minStep",
@@ -745,7 +792,9 @@
745
792
  "options.devices[].contact.hide_lightsensor",
746
793
  "options.devices[].contact.hide_motionsensor",
747
794
  "options.devices[].colorbulb.set_minStep",
748
- "options.devices[].colorbulb.adaptiveLightingShift"
795
+ "options.devices[].colorbulb.adaptiveLightingShift",
796
+ "options.devices[].refreshRate",
797
+ "options.devices[].logging"
749
798
  ]
750
799
  }
751
800
  ]
@@ -778,7 +827,8 @@
778
827
  "options.irdevices[].irtv.disable_power",
779
828
  "options.irdevices[].other.deviceType",
780
829
  "options.irdevices[].other.commandOn",
781
- "options.irdevices[].other.commandOff"
830
+ "options.irdevices[].other.commandOff",
831
+ "options.irdevices[].logging"
782
832
  ]
783
833
  }
784
834
  ]
@@ -805,7 +855,7 @@
805
855
  "key": "options.pushRate",
806
856
  "notitle": true
807
857
  },
808
- "options.debug"
858
+ "options.logging"
809
859
  ]
810
860
  }
811
861
  ]
@@ -15,6 +15,7 @@ export declare class Bot {
15
15
  private switchService?;
16
16
  private batteryService?;
17
17
  On: CharacteristicValue;
18
+ OnCached: CharacteristicValue;
18
19
  BatteryLevel: CharacteristicValue;
19
20
  StatusLowBattery: CharacteristicValue;
20
21
  deviceStatus: deviceStatusResponse;
@@ -24,11 +25,13 @@ export declare class Bot {
24
25
  mode: serviceData['mode'];
25
26
  state: serviceData['state'];
26
27
  battery: serviceData['battery'];
27
- private readonly deviceDebug;
28
- private readonly debugDebug;
28
+ deviceLogging: string;
29
+ deviceRefreshRate: number;
29
30
  botUpdateInProgress: boolean;
30
31
  doBotUpdate: Subject<void>;
31
32
  constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
33
+ refreshRate(): void;
34
+ logs(): void;
32
35
  /**
33
36
  * Parse the device status from the SwitchBot api
34
37
  */
@@ -57,11 +60,20 @@ export declare class Bot {
57
60
  * Updates the status for each of the HomeKit Characteristics
58
61
  */
59
62
  updateHomeKitCharacteristics(): void;
60
- apiError(e: any): void;
63
+ apiError(): void;
61
64
  private statusCode;
65
+ private offlineOff;
62
66
  /**
63
67
  * Handle requests to set the "On" characteristic
64
68
  */
65
69
  private handleOnSet;
70
+ /**
71
+ * Logging for Device
72
+ */
73
+ infoLog(...log: any[]): void;
74
+ warnLog(...log: any[]): void;
75
+ errorLog(...log: any[]): void;
76
+ debugLog(...log: any[]): void;
77
+ enablingDeviceLogging(): boolean;
66
78
  }
67
79
  //# sourceMappingURL=bots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bots.d.ts","sourceRoot":"","sources":["../../src/devices/bots.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,WAAW,EAAM,SAAS,EAAE,oBAAoB,EAAW,MAAM,aAAa,CAAC;AAE1H;;;;GAIG;AACH,qBAAa,GAAG;IA+BZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,MAAM,GAAG,aAAa;IA/BvC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,cAAc,CAAC,CAAU;IAGjC,EAAE,EAAG,mBAAmB,CAAC;IACzB,YAAY,EAAG,mBAAmB,CAAC;IACnC,gBAAgB,EAAG,mBAAmB,CAAC;IAGvC,YAAY,EAAG,oBAAoB,CAAC;IAGpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAG,SAAS,CAAC;IACtB,WAAW,EAAG,WAAW,CAAC;IAC1B,IAAI,EAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAGjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+E;IAC3G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8E;IAGzG,mBAAmB,EAAG,OAAO,CAAC;IAC9B,WAAW,EAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGT,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GAAG,aAAa;IAiHvC;;OAEG;IACG,WAAW;YAQH,cAAc;YAsBd,kBAAkB;IAgBhC;;OAEG;IACG,aAAa;IAQnB,OAAO,CAAC,UAAU;YAOJ,gBAAgB;YA4DhB,oBAAoB;IAiClC;;;;;;OAMG;IACG,WAAW;YAcH,cAAc;IAuD5B,OAAO,CAAC,SAAS;YAQH,kBAAkB;IA+ChC;;OAEG;IACH,4BAA4B;IA2BrB,QAAQ,CAAC,CAAC,EAAE,GAAG;IAYtB,OAAO,CAAC,UAAU;IAmClB;;OAEG;IACH,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"bots.d.ts","sourceRoot":"","sources":["../../src/devices/bots.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAa,MAAM,YAAY,CAAC;AACxF,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,WAAW,EAAM,SAAS,EAAE,oBAAoB,EAAW,MAAM,aAAa,CAAC;AAE1H;;;;GAIG;AACH,qBAAa,GAAG;IAgCZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,MAAM,GAAG,aAAa;IAhCvC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,cAAc,CAAC,CAAU;IAGjC,EAAE,EAAG,mBAAmB,CAAC;IACzB,QAAQ,EAAG,mBAAmB,CAAC;IAC/B,YAAY,EAAG,mBAAmB,CAAC;IACnC,gBAAgB,EAAG,mBAAmB,CAAC;IAGvC,YAAY,EAAG,oBAAoB,CAAC;IAGpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAG,SAAS,CAAC;IACtB,WAAW,EAAG,WAAW,CAAC;IAC1B,IAAI,EAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAGjC,aAAa,EAAG,MAAM,CAAC;IACvB,iBAAiB,EAAG,MAAM,CAAC;IAG3B,mBAAmB,EAAG,OAAO,CAAC;IAC9B,WAAW,EAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGT,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GAAG,aAAa;IAyHvC,WAAW;IAQX,IAAI;IAUJ;;OAEG;IACG,WAAW;YAQH,cAAc;YAsBd,kBAAkB;IAgBhC;;OAEG;IACG,aAAa;IAQnB,OAAO,CAAC,UAAU;YAOJ,gBAAgB;YA4DhB,oBAAoB;IAiClC;;;;;;OAMG;IACG,WAAW;YAcH,cAAc;IA2D5B,OAAO,CAAC,SAAS;YAQH,kBAAkB;IAmDhC;;OAEG;IACH,4BAA4B;IA2BrB,QAAQ;IAIf,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;KAEC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMtB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAUtB,qBAAqB,IAAI,OAAO;CAGjC"}