@switchbot/homebridge-switchbot 2.0.0-beta.3 → 2.0.0-beta.30

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 (113) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/README.md +1 -2
  3. package/config.schema.json +102 -20
  4. package/dist/device/bot.d.ts +34 -28
  5. package/dist/device/bot.d.ts.map +1 -1
  6. package/dist/device/bot.js +655 -649
  7. package/dist/device/bot.js.map +1 -1
  8. package/dist/device/colorbulb.d.ts +36 -19
  9. package/dist/device/colorbulb.d.ts.map +1 -1
  10. package/dist/device/colorbulb.js +483 -309
  11. package/dist/device/colorbulb.js.map +1 -1
  12. package/dist/device/contact.d.ts +18 -8
  13. package/dist/device/contact.d.ts.map +1 -1
  14. package/dist/device/contact.js +303 -237
  15. package/dist/device/contact.js.map +1 -1
  16. package/dist/device/curtain.d.ts +23 -16
  17. package/dist/device/curtain.d.ts.map +1 -1
  18. package/dist/device/curtain.js +541 -498
  19. package/dist/device/curtain.js.map +1 -1
  20. package/dist/device/humidifier.d.ts +24 -18
  21. package/dist/device/humidifier.d.ts.map +1 -1
  22. package/dist/device/humidifier.js +450 -369
  23. package/dist/device/humidifier.js.map +1 -1
  24. package/dist/device/lock.d.ts +27 -8
  25. package/dist/device/lock.d.ts.map +1 -1
  26. package/dist/device/lock.js +302 -148
  27. package/dist/device/lock.js.map +1 -1
  28. package/dist/device/meter.d.ts +22 -16
  29. package/dist/device/meter.d.ts.map +1 -1
  30. package/dist/device/meter.js +340 -262
  31. package/dist/device/meter.js.map +1 -1
  32. package/dist/device/meterplus.d.ts +24 -12
  33. package/dist/device/meterplus.d.ts.map +1 -1
  34. package/dist/device/meterplus.js +359 -213
  35. package/dist/device/meterplus.js.map +1 -1
  36. package/dist/device/motion.d.ts +18 -8
  37. package/dist/device/motion.d.ts.map +1 -1
  38. package/dist/device/motion.js +276 -216
  39. package/dist/device/motion.js.map +1 -1
  40. package/dist/device/plug.d.ts +27 -17
  41. package/dist/device/plug.d.ts.map +1 -1
  42. package/dist/device/plug.js +292 -251
  43. package/dist/device/plug.js.map +1 -1
  44. package/dist/device/striplight.d.ts +43 -19
  45. package/dist/device/striplight.d.ts.map +1 -1
  46. package/dist/device/striplight.js +503 -262
  47. package/dist/device/striplight.js.map +1 -1
  48. package/dist/irdevice/airconditioner.d.ts +9 -12
  49. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  50. package/dist/irdevice/airconditioner.js +275 -230
  51. package/dist/irdevice/airconditioner.js.map +1 -1
  52. package/dist/irdevice/airpurifier.d.ts +5 -3
  53. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  54. package/dist/irdevice/airpurifier.js +151 -104
  55. package/dist/irdevice/airpurifier.js.map +1 -1
  56. package/dist/irdevice/camera.d.ts +11 -8
  57. package/dist/irdevice/camera.d.ts.map +1 -1
  58. package/dist/irdevice/camera.js +130 -86
  59. package/dist/irdevice/camera.js.map +1 -1
  60. package/dist/irdevice/fan.d.ts +10 -7
  61. package/dist/irdevice/fan.d.ts.map +1 -1
  62. package/dist/irdevice/fan.js +157 -109
  63. package/dist/irdevice/fan.js.map +1 -1
  64. package/dist/irdevice/light.d.ts +11 -8
  65. package/dist/irdevice/light.d.ts.map +1 -1
  66. package/dist/irdevice/light.js +134 -103
  67. package/dist/irdevice/light.js.map +1 -1
  68. package/dist/irdevice/other.d.ts +11 -8
  69. package/dist/irdevice/other.d.ts.map +1 -1
  70. package/dist/irdevice/other.js +142 -98
  71. package/dist/irdevice/other.js.map +1 -1
  72. package/dist/irdevice/tv.d.ts +12 -9
  73. package/dist/irdevice/tv.d.ts.map +1 -1
  74. package/dist/irdevice/tv.js +140 -93
  75. package/dist/irdevice/tv.js.map +1 -1
  76. package/dist/irdevice/vacuumcleaner.d.ts +9 -10
  77. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  78. package/dist/irdevice/vacuumcleaner.js +129 -89
  79. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  80. package/dist/irdevice/waterheater.d.ts +8 -9
  81. package/dist/irdevice/waterheater.d.ts.map +1 -1
  82. package/dist/irdevice/waterheater.js +129 -89
  83. package/dist/irdevice/waterheater.js.map +1 -1
  84. package/dist/platform.d.ts +14 -12
  85. package/dist/platform.d.ts.map +1 -1
  86. package/dist/platform.js +479 -434
  87. package/dist/platform.js.map +1 -1
  88. package/dist/settings.d.ts +18 -11
  89. package/dist/settings.d.ts.map +1 -1
  90. package/dist/settings.js.map +1 -1
  91. package/package.json +12 -10
  92. package/src/device/bot.ts +654 -660
  93. package/src/device/colorbulb.ts +487 -344
  94. package/src/device/contact.ts +306 -241
  95. package/src/device/curtain.ts +546 -512
  96. package/src/device/humidifier.ts +453 -403
  97. package/src/device/lock.ts +311 -149
  98. package/src/device/meter.ts +351 -275
  99. package/src/device/meterplus.ts +369 -219
  100. package/src/device/motion.ts +282 -222
  101. package/src/device/plug.ts +296 -260
  102. package/src/device/striplight.ts +519 -289
  103. package/src/irdevice/airconditioner.ts +279 -241
  104. package/src/irdevice/airpurifier.ts +148 -103
  105. package/src/irdevice/camera.ts +128 -85
  106. package/src/irdevice/fan.ts +154 -106
  107. package/src/irdevice/light.ts +132 -103
  108. package/src/irdevice/other.ts +140 -97
  109. package/src/irdevice/tv.ts +139 -93
  110. package/src/irdevice/vacuumcleaner.ts +128 -89
  111. package/src/irdevice/waterheater.ts +127 -89
  112. package/src/platform.ts +469 -456
  113. package/src/settings.ts +18 -11
package/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ All notable changes to this project will be documented in this file. This projec
7
7
  ## What's Changed
8
8
 
9
9
  - Moved from v1.0 to v1.1 of [OpenAPI](https://github.com/OpenWonderLabs/SwitchBotAPI)
10
+ - Publish device(s) as an external accessory.
11
+ - Added `connectionType` config, this replaces the `BLE` config.
12
+ - You can now select Both Connections, Only OpenAPI, Only BLE, or Disable.
13
+ - `Both` will use BLE as the default connection and will use OpenAPI as a backup connection.
14
+ - `OpenAPI` will only allow connections through the OpenAPI.
15
+ - `BLE` will only allow connections through Bluetooth (BLE), .
16
+ - `Disable` will disable all connections. This will also allow you to disable commands and refreshes for a specific device but leave it in HomeKit.
17
+ - Added `reDiscoverDevices` config which allows you to enable device rediscover periodically.
18
+ - Added `reDiscoverDevicesInterval` config which allows you to set the Interval for the `reDiscoverDevices` config.
10
19
  - Housekeeping and updated dependencies.
11
20
 
12
21
  **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.15.0...v2.0.0
@@ -84,7 +93,7 @@ All notable changes to this project will be documented in this file. This projec
84
93
 
85
94
  ## What's Changed
86
95
 
87
- - Fix for Curtain v3.3 and above, from v1.2.0 node-swtichbot update.
96
+ - Fix for Curtain v3.3 and above, from v1.2.0 node-switchbot update.
88
97
  - Housekeeping and updated dependencies.
89
98
 
90
99
  **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.5...v1.12.6
package/README.md CHANGED
@@ -8,8 +8,7 @@
8
8
  [![npm downloads](https://badgen.net/npm/dt/@switchbot/homebridge-switchbot)](https://www.npmjs.com/package/@switchbot/homebridge-switchbot)
9
9
  [![discord-switchbot](https://badgen.net/discord/online-members/5wYTbwP4ha?icon=discord&label=discord)](https://discord.gg/5wYTbwP4ha)
10
10
 
11
- <p>The Homebridge <a href="https://www.switch-bot.com">SwitchBot</a> OpenAPI
12
- plugin allows you to access your SwitchBot Device(s) from HomeKit with
11
+ <p>The Homebridge <a href="https://www.switch-bot.com">SwitchBot</a> plugin allows you to access your SwitchBot Device(s) from HomeKit with
13
12
  <a href="https://homebridge.io">Homebridge</a>.
14
13
  </p>
15
14
 
@@ -3,7 +3,7 @@
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
5
  "customUi": true,
6
- "headerDisplay": "<p align='center'><img width='100px' src='https://user-images.githubusercontent.com/9875439/102681754-ac2eb800-4189-11eb-8e17-7c47c804484b.png'></p>\n\nThe **SwitchBot** plugin allows you to control SwitchBot Devices. \n\nTo get started link your SwtichBot account.\nTo get started link your SwtichBot account.\n\n1. Download SwitchBot App on App Store or Google Play Store.\n\n2. Register a SwitchBot account and log in into your account.\n\n3. Generate an Open Token within the App.\n\n4. Input your `Open Token` into the paramter below.",
6
+ "headerDisplay": "<p align='center'><img width='100px' src='https://user-images.githubusercontent.com/9875439/102681754-ac2eb800-4189-11eb-8e17-7c47c804484b.png'></p>\n\nThe **SwitchBot** plugin allows you to control SwitchBot Devices. \n\nTo get started link your SwitchBot account.\n\n1. Download SwitchBot App on App Store or Google Play Store.\n\n2. Register a SwitchBot account and log in into your account.\n\n3. Generate an Open Token within the App.\n\n4. Input your `Open Token` into the paramter below.",
7
7
  "footerDisplay": "Please raise any issues on our [project page](https://github.com/OpenWonderLabs/homebridge-switchbot/issues).\n\nIf you would like to have other SwitchBot Devices added to this plugin fill out [Feature Request Form](https://github.com/OpenWonderLabs/homebridge-switchbot/issues/new?assignees=&labels=&template=feature_request.md).\n\n[SwitchBot Website](https://www.switch-bot.com)",
8
8
  "schema": {
9
9
  "type": "object",
@@ -63,18 +63,11 @@
63
63
  "hide_device": {
64
64
  "title": "Hide Device",
65
65
  "type": "boolean",
66
- "description": "If true then devices that are reported as offline will be shown as off in HomeKit.",
66
+ "description": "If true, device will be removed or hidden from HomeKit.",
67
67
  "condition": {
68
68
  "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId);"
69
69
  }
70
70
  },
71
- "offline": {
72
- "title": "Offline as Off",
73
- "type": "boolean",
74
- "condition": {
75
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
76
- }
77
- },
78
71
  "configDeviceType": {
79
72
  "title": "Device Type",
80
73
  "type": "string",
@@ -144,11 +137,30 @@
144
137
  "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
145
138
  }
146
139
  },
147
- "ble": {
148
- "title": "Enable Bluetooth Low Energy (BLE) Connection",
149
- "type": "boolean",
140
+ "connectionType": {
141
+ "title": "Connection Type",
142
+ "type": "string",
143
+ "oneOf": [
144
+ {
145
+ "title": "BLE/OpenAPI",
146
+ "enum": ["BLE/OpenAPI"]
147
+ },
148
+ {
149
+ "title": "OpenAPI",
150
+ "enum": ["OpenAPI"]
151
+ },
152
+ {
153
+ "title": "BLE",
154
+ "enum": ["BLE"]
155
+ },
156
+ {
157
+ "title": "Disable",
158
+ "enum": ["Disabled"]
159
+ }
160
+ ],
161
+ "description": "Bluetooth (BLE) API is only available for the following Device Types: Humidifier, Meter, MeterPlus, Curtain, Bot, Motion Sensor, Contact Sensor, Plug Mini (US), Plug Mini (JP), & Color Bulb",
150
162
  "condition": {
151
- "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 === 'MeterPlus' || model.options.devices[arrayIndices].configDeviceType === 'Curtain' || model.options.devices[arrayIndices].configDeviceType === 'Bot' || model.options.devices[arrayIndices].configDeviceType === 'Motion Sensor' || model.options.devices[arrayIndices].configDeviceType === 'Contact Sensor' || model.options.devices[arrayIndices].configDeviceType === 'Plug Mini (US)' || model.options.devices[arrayIndices].configDeviceType === 'Plug Mini (JP)') || model.options.devices[arrayIndices].configDeviceType === 'Color Bulb'));"
163
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
152
164
  }
153
165
  },
154
166
  "customBLEaddress": {
@@ -156,7 +168,7 @@
156
168
  "type": "string",
157
169
  "placeholder": "81F3UT59513F",
158
170
  "condition": {
159
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].ble);"
171
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && (model.options.devices[arrayIndices].connectionType === 'BLE' || model.options.devices[arrayIndices].connectionType === 'BLE/OpenAPI'));"
160
172
  }
161
173
  },
162
174
  "scanDuration": {
@@ -164,7 +176,7 @@
164
176
  "type": "number",
165
177
  "placeholder": 1,
166
178
  "condition": {
167
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].ble);"
179
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && (model.options.devices[arrayIndices].connectionType === 'BLE' || model.options.devices[arrayIndices].connectionType === 'BLE/OpenAPI'));"
168
180
  }
169
181
  },
170
182
  "bot": {
@@ -523,6 +535,13 @@
523
535
  "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
524
536
  }
525
537
  },
538
+ "external": {
539
+ "title": "External Accessory",
540
+ "type": "boolean",
541
+ "condition": {
542
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
543
+ }
544
+ },
526
545
  "logging": {
527
546
  "title": "Device Logging Override Setting",
528
547
  "type": "string",
@@ -545,7 +564,7 @@
545
564
  }
546
565
  }
547
566
  },
548
- "required": ["deviceId", "configDeviceType", "configDeviceName", "logging"]
567
+ "required": ["deviceId", "configDeviceType", "configDeviceName", "connectionType", "logging"]
549
568
  },
550
569
  "uniqueItems": true
551
570
  },
@@ -571,6 +590,7 @@
571
590
  "hide_device": {
572
591
  "title": "Hide Device",
573
592
  "type": "boolean",
593
+ "description": "If true, device will be removed or hidden from HomeKit.",
574
594
  "condition": {
575
595
  "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId);"
576
596
  }
@@ -692,6 +712,24 @@
692
712
  "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device);"
693
713
  }
694
714
  },
715
+ "connectionType": {
716
+ "title": "Connection Type",
717
+ "type": "string",
718
+ "oneOf": [
719
+ {
720
+ "title": "OpenAPI",
721
+ "enum": ["OpenAPI"]
722
+ },
723
+ {
724
+ "title": "Disable",
725
+ "enum": ["Disabled"]
726
+ }
727
+ ],
728
+ "description": "Enables OpenAPI, if disabled will leave device in HomeKit and commands will not be sent to OpenAPI.",
729
+ "condition": {
730
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device);"
731
+ }
732
+ },
695
733
  "irair": {
696
734
  "type": "object",
697
735
  "properties": {
@@ -800,6 +838,21 @@
800
838
  }
801
839
  }
802
840
  },
841
+ "firmware": {
842
+ "title": "Firmware Override",
843
+ "type": "string",
844
+ "placeholder": "1.2.8",
845
+ "condition": {
846
+ "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device && model.options.irdevices[arrayIndices].configRemoteType);"
847
+ }
848
+ },
849
+ "external": {
850
+ "title": "External Accessory",
851
+ "type": "boolean",
852
+ "condition": {
853
+ "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device && model.options.irdevices[arrayIndices].configRemoteType);"
854
+ }
855
+ },
803
856
  "logging": {
804
857
  "title": "Device Logging Override Setting",
805
858
  "type": "string",
@@ -822,7 +875,7 @@
822
875
  }
823
876
  }
824
877
  },
825
- "required": ["deviceId", "configRemoteType", "logging"]
878
+ "required": ["deviceId", "configRemoteType", "connectionType", "logging"]
826
879
  },
827
880
  "uniqueItems": true
828
881
  },
@@ -839,6 +892,31 @@
839
892
  "placeholder": 1,
840
893
  "description": "Indicates the number of seconds between pushes to SwitchBot API."
841
894
  },
895
+ "reDiscoverDevices": {
896
+ "title": "Rediscover Devices Periodically",
897
+ "type": "boolean"
898
+ },
899
+ "reDiscoverDevicesInterval": {
900
+ "title": "Rediscover Devices Interval",
901
+ "type": "number",
902
+ "oneOf": [
903
+ {
904
+ "title": "1 Day",
905
+ "enum": [1]
906
+ },
907
+ {
908
+ "title": "7 Days",
909
+ "enum": [7]
910
+ },
911
+ {
912
+ "title": "30 Days",
913
+ "enum": [30]
914
+ }
915
+ ],
916
+ "condition": {
917
+ "functionBody": "return (model.options && model.options.reDiscoverDevices);"
918
+ }
919
+ },
842
920
  "logging": {
843
921
  "title": "Logging Setting",
844
922
  "type": "string",
@@ -868,7 +946,7 @@
868
946
  "title": "SwitchBot Account Info",
869
947
  "expandable": true,
870
948
  "expanded": false,
871
- "items": ["credentials.token","credentials.secret"]
949
+ "items": ["credentials.token", "credentials.secret"]
872
950
  },
873
951
  {
874
952
  "type": "fieldset",
@@ -889,8 +967,7 @@
889
967
  "options.devices[].deviceId",
890
968
  "options.devices[].hide_device",
891
969
  "options.devices[].configDeviceType",
892
- "options.devices[].offline",
893
- "options.devices[].ble",
970
+ "options.devices[].connectionType",
894
971
  "options.devices[].scanDuration",
895
972
  "options.devices[].bot.mode",
896
973
  "options.devices[].bot.deviceType",
@@ -923,6 +1000,7 @@
923
1000
  "options.devices[].lock.hide_contactsensor",
924
1001
  "options.devices[].firmware",
925
1002
  "options.devices[].refreshRate",
1003
+ "options.devices[].external",
926
1004
  "options.devices[].logging"
927
1005
  ]
928
1006
  }
@@ -958,6 +1036,8 @@
958
1036
  "options.irdevices[].other.deviceType",
959
1037
  "options.irdevices[].other.commandOn",
960
1038
  "options.irdevices[].other.commandOff",
1039
+ "options.irdevices[].firmware",
1040
+ "options.irdevices[].external",
961
1041
  "options.irdevices[].logging"
962
1042
  ]
963
1043
  }
@@ -985,6 +1065,8 @@
985
1065
  "key": "options.pushRate",
986
1066
  "notitle": true
987
1067
  },
1068
+ "options.reDiscoverDevices",
1069
+ "options.reDiscoverDevicesInterval",
988
1070
  "options.logging"
989
1071
  ]
990
1072
  }
@@ -27,14 +27,12 @@ export declare class Bot {
27
27
  windowCoveringService?: Service;
28
28
  statefulProgrammableSwitchService?: Service;
29
29
  On: CharacteristicValue;
30
- OnCached: CharacteristicValue;
31
30
  BatteryLevel: CharacteristicValue;
32
31
  StatusLowBattery: CharacteristicValue;
33
32
  power: deviceStatus['power'];
34
33
  deviceStatus: any;
35
34
  connected?: boolean;
36
35
  switchbot: switchbot;
37
- SwitchToOpenAPI?: boolean;
38
36
  serviceData: serviceData;
39
37
  address: ad['address'];
40
38
  mode: serviceData['mode'];
@@ -48,6 +46,8 @@ export declare class Bot {
48
46
  doublePress: number;
49
47
  botUpdateInProgress: boolean;
50
48
  doBotUpdate: Subject<void>;
49
+ private readonly BLE;
50
+ private readonly OpenAPI;
51
51
  constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
52
52
  /**
53
53
  * Parse the device status from the SwitchBot api
@@ -60,7 +60,6 @@ export declare class Bot {
60
60
  */
61
61
  refreshStatus(): Promise<void>;
62
62
  BLERefreshStatus(): Promise<void>;
63
- getCustomBLEAddress(switchbot: any): Promise<void>;
64
63
  openAPIRefreshStatus(): Promise<void>;
65
64
  /**
66
65
  * Pushes the requested changes to the SwitchBot API
@@ -71,36 +70,15 @@ export declare class Bot {
71
70
  */
72
71
  pushChanges(): Promise<void>;
73
72
  BLEpushChanges(): Promise<void>;
74
- turnOnOff(device_list: any): Promise<any>;
75
73
  openAPIpushChanges(): Promise<void>;
76
74
  /**
77
- * Updates the status for each of the HomeKit Characteristics
75
+ * Handle requests to set the "On" characteristic
78
76
  */
79
- updateHomeKitCharacteristics(): Promise<void>;
80
- apiError(e: any): Promise<void>;
81
- statusCode({ res }: {
82
- res: IncomingMessage;
83
- }): Promise<void>;
84
- offlineOff(): Promise<void>;
77
+ OnSet(value: CharacteristicValue): Promise<void>;
85
78
  /**
86
- * Handle requests to set the "On" characteristic
79
+ * Updates the status for each of the HomeKit Characteristics
87
80
  */
88
- handleOnSet(value: CharacteristicValue): Promise<void>;
89
- retry({ max, fn }: {
90
- max: number;
91
- fn: {
92
- (): any;
93
- (): Promise<any>;
94
- };
95
- }): Promise<null>;
96
- maxRetry(): Promise<number>;
97
- config(device: device & devicesConfig): Promise<void>;
98
- refreshRate(device: device & devicesConfig): Promise<void>;
99
- scan(device: device & devicesConfig): Promise<void>;
100
- logs(device: device & devicesConfig): Promise<void>;
101
- FirmwareRevision(accessory: PlatformAccessory<Context>, device: device & devicesConfig): CharacteristicValue;
102
- PressOrSwitch(device: device & devicesConfig): Promise<void>;
103
- allowPushChanges(device: device & devicesConfig): Promise<void>;
81
+ updateHomeKitCharacteristics(): Promise<void>;
104
82
  removeOutletService(accessory: PlatformAccessory): Promise<void>;
105
83
  removeGarageDoorService(accessory: PlatformAccessory): Promise<void>;
106
84
  removeDoorService(accessory: PlatformAccessory): Promise<void>;
@@ -111,12 +89,40 @@ export declare class Bot {
111
89
  removeWindowCoveringService(accessory: PlatformAccessory): Promise<void>;
112
90
  removeStatefulProgrammableSwitchService(accessory: PlatformAccessory): Promise<void>;
113
91
  removeSwitchService(accessory: PlatformAccessory): Promise<void>;
92
+ private DoublePress;
93
+ getCustomBLEAddress(switchbot: any): Promise<void>;
94
+ BLEPushConnection(): Promise<void>;
95
+ BLERefreshConnection(switchbot: any): Promise<void>;
96
+ turnOnOff(device_list: any): Promise<any>;
97
+ retry({ max, fn }: {
98
+ max: number;
99
+ fn: {
100
+ (): any;
101
+ (): Promise<any>;
102
+ };
103
+ }): Promise<null>;
104
+ maxRetry(): Promise<number>;
105
+ PressOrSwitch(device: device & devicesConfig): Promise<void>;
106
+ allowPushChanges(device: device & devicesConfig): Promise<void>;
107
+ scan(device: device & devicesConfig): Promise<void>;
108
+ statusCode({ res }: {
109
+ res: IncomingMessage;
110
+ }): Promise<void>;
111
+ offlineOff(): Promise<void>;
112
+ apiError(e: any): Promise<void>;
113
+ FirmwareRevision(accessory: PlatformAccessory<Context>, device: device & devicesConfig): CharacteristicValue;
114
+ private context;
115
+ refreshRate(device: device & devicesConfig): Promise<void>;
116
+ config(device: device & devicesConfig): Promise<void>;
117
+ logs(device: device & devicesConfig): Promise<void>;
114
118
  /**
115
119
  * Logging for Device
116
120
  */
117
121
  infoLog(...log: any[]): void;
118
122
  warnLog(...log: any[]): void;
123
+ debugWarnLog(...log: any[]): void;
119
124
  errorLog(...log: any[]): void;
125
+ debugErrorLog(...log: any[]): void;
120
126
  debugLog(...log: any[]): void;
121
127
  enablingDeviceLogging(): boolean;
122
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/device/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/device/bot.ts"],"names":[],"mappings":"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"}