@switchbot/homebridge-switchbot 1.8.3-beta.0 → 1.9.0

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 (105) hide show
  1. package/.eslintrc +1 -1
  2. package/.vscode/settings.json +1 -1
  3. package/CHANGELOG.md +8 -0
  4. package/config.schema.json +9 -0
  5. package/dist/devices/bots.d.ts +37 -34
  6. package/dist/devices/bots.d.ts.map +1 -1
  7. package/dist/devices/bots.js +196 -243
  8. package/dist/devices/bots.js.map +1 -1
  9. package/dist/devices/colorbulb.d.ts +50 -50
  10. package/dist/devices/colorbulb.d.ts.map +1 -1
  11. package/dist/devices/colorbulb.js +131 -145
  12. package/dist/devices/colorbulb.js.map +1 -1
  13. package/dist/devices/contact.d.ts +29 -27
  14. package/dist/devices/contact.d.ts.map +1 -1
  15. package/dist/devices/contact.js +115 -138
  16. package/dist/devices/contact.js.map +1 -1
  17. package/dist/devices/curtains.d.ts +31 -29
  18. package/dist/devices/curtains.d.ts.map +1 -1
  19. package/dist/devices/curtains.js +176 -211
  20. package/dist/devices/curtains.js.map +1 -1
  21. package/dist/devices/humidifiers.d.ts +33 -33
  22. package/dist/devices/humidifiers.d.ts.map +1 -1
  23. package/dist/devices/humidifiers.js +189 -214
  24. package/dist/devices/humidifiers.js.map +1 -1
  25. package/dist/devices/meters.d.ts +31 -30
  26. package/dist/devices/meters.d.ts.map +1 -1
  27. package/dist/devices/meters.js +100 -124
  28. package/dist/devices/meters.js.map +1 -1
  29. package/dist/devices/motion.d.ts +26 -25
  30. package/dist/devices/motion.d.ts.map +1 -1
  31. package/dist/devices/motion.js +102 -120
  32. package/dist/devices/motion.js.map +1 -1
  33. package/dist/devices/plugs.d.ts +23 -23
  34. package/dist/devices/plugs.d.ts.map +1 -1
  35. package/dist/devices/plugs.js +63 -81
  36. package/dist/devices/plugs.js.map +1 -1
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -22
  40. package/dist/index.js.map +1 -1
  41. package/dist/irdevices/airconditioners.d.ts +6 -6
  42. package/dist/irdevices/airconditioners.d.ts.map +1 -1
  43. package/dist/irdevices/airconditioners.js +79 -105
  44. package/dist/irdevices/airconditioners.js.map +1 -1
  45. package/dist/irdevices/airpurifiers.d.ts +5 -5
  46. package/dist/irdevices/airpurifiers.d.ts.map +1 -1
  47. package/dist/irdevices/airpurifiers.js +42 -56
  48. package/dist/irdevices/airpurifiers.js.map +1 -1
  49. package/dist/irdevices/cameras.d.ts +5 -5
  50. package/dist/irdevices/cameras.d.ts.map +1 -1
  51. package/dist/irdevices/cameras.js +27 -31
  52. package/dist/irdevices/cameras.js.map +1 -1
  53. package/dist/irdevices/fans.d.ts +5 -5
  54. package/dist/irdevices/fans.d.ts.map +1 -1
  55. package/dist/irdevices/fans.js +38 -45
  56. package/dist/irdevices/fans.js.map +1 -1
  57. package/dist/irdevices/lights.d.ts +5 -5
  58. package/dist/irdevices/lights.d.ts.map +1 -1
  59. package/dist/irdevices/lights.js +33 -37
  60. package/dist/irdevices/lights.js.map +1 -1
  61. package/dist/irdevices/others.d.ts +5 -5
  62. package/dist/irdevices/others.d.ts.map +1 -1
  63. package/dist/irdevices/others.js +29 -34
  64. package/dist/irdevices/others.js.map +1 -1
  65. package/dist/irdevices/tvs.d.ts +5 -5
  66. package/dist/irdevices/tvs.d.ts.map +1 -1
  67. package/dist/irdevices/tvs.js +76 -91
  68. package/dist/irdevices/tvs.js.map +1 -1
  69. package/dist/irdevices/vacuumcleaners.d.ts +5 -5
  70. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  71. package/dist/irdevices/vacuumcleaners.js +27 -31
  72. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  73. package/dist/irdevices/waterheaters.d.ts +5 -5
  74. package/dist/irdevices/waterheaters.d.ts.map +1 -1
  75. package/dist/irdevices/waterheaters.js +27 -31
  76. package/dist/irdevices/waterheaters.js.map +1 -1
  77. package/dist/platform.d.ts +12 -12
  78. package/dist/platform.d.ts.map +1 -1
  79. package/dist/platform.js +172 -241
  80. package/dist/platform.js.map +1 -1
  81. package/dist/settings.d.ts +2 -1
  82. package/dist/settings.d.ts.map +1 -1
  83. package/dist/settings.js +4 -4
  84. package/dist/settings.js.map +1 -1
  85. package/package.json +71 -72
  86. package/src/devices/bots.ts +455 -929
  87. package/src/devices/colorbulb.ts +246 -473
  88. package/src/devices/contact.ts +208 -381
  89. package/src/devices/curtains.ts +321 -613
  90. package/src/devices/humidifiers.ts +323 -594
  91. package/src/devices/meters.ts +186 -331
  92. package/src/devices/motion.ts +184 -327
  93. package/src/devices/plugs.ts +107 -175
  94. package/src/index.ts +5 -5
  95. package/src/irdevices/airconditioners.ts +149 -360
  96. package/src/irdevices/airpurifiers.ts +80 -178
  97. package/src/irdevices/cameras.ts +51 -109
  98. package/src/irdevices/fans.ts +77 -174
  99. package/src/irdevices/lights.ts +57 -110
  100. package/src/irdevices/others.ts +62 -137
  101. package/src/irdevices/tvs.ts +124 -249
  102. package/src/irdevices/vacuumcleaners.ts +52 -112
  103. package/src/irdevices/waterheaters.ts +53 -115
  104. package/src/platform.ts +357 -768
  105. package/src/settings.ts +24 -17
package/.eslintrc CHANGED
@@ -16,7 +16,7 @@
16
16
  "rules": {
17
17
  "quotes": [
18
18
  "warn",
19
- "double"
19
+ "single"
20
20
  ],
21
21
  "indent": [
22
22
  "warn",
@@ -4,7 +4,7 @@
4
4
  "source.fixAll.eslint": true
5
5
  },
6
6
  "editor.rulers": [
7
- 140
7
+ 150
8
8
  ],
9
9
  "eslint.enable": true,
10
10
  "eslint.workingDirectories": [
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
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
+ ## [Version 1.9.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.9.0) (2022-01-20)
6
+
7
+ ## What's Changed
8
+ * Add option `allowPush`, this will allow commands to be sent even if device state is already in state that is being pushed.
9
+ * Housekeeping and updated dependencies.
10
+
11
+ **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.2...v1.9.0
12
+
5
13
  ## [Version 1.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v1.8.2) (2022-01-15)
6
14
 
7
15
  ## What's Changed
@@ -243,6 +243,14 @@
243
243
  "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Bot' && model.options.devices[arrayIndices].deviceId && model.options.devices[arrayIndices].bot && model.options.devices[arrayIndices].bot.mode);"
244
244
  }
245
245
  },
246
+ "allowPush": {
247
+ "title": "Allow Changes to Be Pushed",
248
+ "description": "If set to true, this will allow commands to be sent even if device state is already in state that is being pushed.",
249
+ "type": "boolean",
250
+ "condition": {
251
+ "functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Bot' && model.options.devices[arrayIndices].deviceId && model.options.devices[arrayIndices].bot && model.options.devices[arrayIndices].bot.mode);"
252
+ }
253
+ },
246
254
  "doublePress": {
247
255
  "title": "Do you want to similate a double press?",
248
256
  "type": "number",
@@ -900,6 +908,7 @@
900
908
  "options.devices[].scanDuration",
901
909
  "options.devices[].bot.mode",
902
910
  "options.devices[].bot.deviceType",
911
+ "options.devices[].bot.allowPush",
903
912
  "options.devices[].bot.doublePress",
904
913
  "options.devices[].meter.hide_temperature",
905
914
  "options.devices[].meter.hide_humidity",
@@ -1,7 +1,7 @@
1
- import * as homebridge from "homebridge";
2
- import * as rxjs from "rxjs";
3
- import * as platform from "../platform";
4
- import * as settings from "../settings";
1
+ import { Subject } from 'rxjs';
2
+ import { SwitchBotPlatform } from '../platform';
3
+ import { PlatformAccessory, CharacteristicValue } from 'homebridge';
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
@@ -10,7 +10,7 @@ import * as settings from "../settings";
10
10
  export declare class Bot {
11
11
  private readonly platform;
12
12
  private accessory;
13
- device: settings.device & settings.devicesConfig;
13
+ device: device & devicesConfig;
14
14
  private fanService?;
15
15
  private doorService?;
16
16
  private lockService?;
@@ -22,26 +22,28 @@ export declare class Bot {
22
22
  private garageDoorService?;
23
23
  private windowCoveringService?;
24
24
  private statefulProgrammableSwitchService?;
25
- On: homebridge.CharacteristicValue;
26
- OnCached: homebridge.CharacteristicValue;
27
- BatteryLevel: homebridge.CharacteristicValue;
28
- StatusLowBattery: homebridge.CharacteristicValue;
29
- power: settings.deviceStatus["power"];
30
- deviceStatus: settings.deviceStatusResponse;
25
+ On: CharacteristicValue;
26
+ OnCached: CharacteristicValue;
27
+ BatteryLevel: CharacteristicValue;
28
+ StatusLowBattery: CharacteristicValue;
29
+ power: deviceStatus['power'];
30
+ deviceStatus: deviceStatusResponse;
31
31
  connected?: boolean;
32
+ switchbot: switchbot;
32
33
  SwitchToOpenAPI?: boolean;
33
- serviceData: settings.serviceData;
34
- mode: settings.serviceData["mode"];
35
- state: settings.serviceData["state"];
36
- battery: settings.serviceData["battery"];
34
+ serviceData: serviceData;
35
+ mode: serviceData['mode'];
36
+ state: serviceData['state'];
37
+ battery: serviceData['battery'];
37
38
  botMode: string;
39
+ allowPush?: boolean;
38
40
  scanDuration: number;
39
41
  deviceLogging: string;
40
42
  deviceRefreshRate: number;
41
43
  doublePress: number;
42
44
  botUpdateInProgress: boolean;
43
- doBotUpdate: rxjs.Subject<void>;
44
- constructor(platform: platform.SwitchBotPlatform, accessory: homebridge.PlatformAccessory, device: settings.device & settings.devicesConfig);
45
+ doBotUpdate: Subject<void>;
46
+ constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
45
47
  /**
46
48
  * Parse the device status from the SwitchBot api
47
49
  */
@@ -76,24 +78,25 @@ export declare class Bot {
76
78
  * Handle requests to set the "On" characteristic
77
79
  */
78
80
  private handleOnSet;
79
- config(device: settings.device & settings.devicesConfig): void;
80
- refreshRate(device: settings.device & settings.devicesConfig): void;
81
- scan(device: settings.device & settings.devicesConfig): void;
82
- logs(device: settings.device & settings.devicesConfig): void;
83
- PressOrSwitch(device: settings.device & settings.devicesConfig): void;
84
- removeOutletService(accessory: homebridge.PlatformAccessory): void;
85
- removeGarageDoorService(accessory: homebridge.PlatformAccessory): void;
86
- removeDoorService(accessory: homebridge.PlatformAccessory): void;
87
- removeLockService(accessory: homebridge.PlatformAccessory): void;
88
- removeFaucetService(accessory: homebridge.PlatformAccessory): void;
89
- removeFanService(accessory: homebridge.PlatformAccessory): void;
90
- removeWindowService(accessory: homebridge.PlatformAccessory): void;
91
- removeWindowCoveringService(accessory: homebridge.PlatformAccessory): void;
92
- removeStatefulProgrammableSwitchService(accessory: homebridge.PlatformAccessory): void;
93
- removeSwitchService(accessory: homebridge.PlatformAccessory): void;
81
+ config(device: device & devicesConfig): void;
82
+ refreshRate(device: device & devicesConfig): void;
83
+ scan(device: device & devicesConfig): void;
84
+ logs(device: device & devicesConfig): void;
85
+ PressOrSwitch(device: device & devicesConfig): void;
86
+ allowPushChanges(device: device & devicesConfig): void;
87
+ removeOutletService(accessory: PlatformAccessory): void;
88
+ removeGarageDoorService(accessory: PlatformAccessory): void;
89
+ removeDoorService(accessory: PlatformAccessory): void;
90
+ removeLockService(accessory: PlatformAccessory): void;
91
+ removeFaucetService(accessory: PlatformAccessory): void;
92
+ removeFanService(accessory: PlatformAccessory): void;
93
+ removeWindowService(accessory: PlatformAccessory): void;
94
+ removeWindowCoveringService(accessory: PlatformAccessory): void;
95
+ removeStatefulProgrammableSwitchService(accessory: PlatformAccessory): void;
96
+ removeSwitchService(accessory: PlatformAccessory): void;
94
97
  /**
95
- * Logging for Device
96
- */
98
+ * Logging for Device
99
+ */
97
100
  infoLog(...log: any[]): void;
98
101
  warnLog(...log: any[]): void;
99
102
  errorLog(...log: any[]): void;
@@ -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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"}