@switchbot/homebridge-switchbot 2.2.3-beta.0 → 2.3.0-beta.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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 2.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v2.3.0) (2022-10-29)
6
+
7
+ ## What's Changed
8
+
9
+ - Added Support for SwitchBot Robot Vacuum Cleaner S1 & SwitchBot Robot Vacuum Cleaner S1 Plus
10
+ - Housekeeping and updated dependencies.
11
+
12
+ **Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.2....v2.3.0
13
+
5
14
  ## [Version 2.2.2](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v2.2.2) (2022-10-22)
6
15
 
7
16
  ## What's Changed
package/README.md CHANGED
@@ -103,6 +103,14 @@
103
103
  - If using OpenAPI:
104
104
  - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub Plus](https://www.switch-bot.com/products/switchbot-hub-plus) Required
105
105
  - Enable Cloud Services for Device on SwitchBot App
106
+ - [SwitchBot Lock](https://us.switch-bot.com/products/switchbot-lock)
107
+ - Supports OpenAPI Connection Only
108
+ - If using OpenAPI:
109
+ - [SwitchBot Hub Mini](https://www.switch-bot.com/products/switchbot-hub-mini) or [SwitchBot Hub Plus](https://www.switch-bot.com/products/switchbot-hub-plus) Required
110
+ - Enable Cloud Services for Device on SwitchBot App
111
+ - [SwitchBot Robot Vacuum Cleaner S1](https://www.switchbot.jp/products/switchbot-robot-vacuum-cleaner)
112
+ - [SwitchBot Robot Vacuum Cleaner S1 Plus](https://www.switchbot.jp/products/switchbot-robot-vacuum-cleaner)
113
+ - Supports OpenAPI Connection Only
106
114
  - [SwitchBot Plug](https://www.switch-bot.com/products/switchbot-plug)
107
115
  - [SwitchBot Plug Mini (US)](https://www.switch-bot.com/products/switchbot-plug-mini)
108
116
  - [SwitchBot Plug Mini (JP)](https://www.switchbot.jp/products/switchbot-plug-mini)
@@ -131,6 +131,14 @@
131
131
  {
132
132
  "title": "Plug Mini (JP)",
133
133
  "enum": ["Plug Mini (JP)"]
134
+ },
135
+ {
136
+ "title": "Robot Vacuum Cleaner S1",
137
+ "enum": ["Robot Vacuum Cleaner S1"]
138
+ },
139
+ {
140
+ "title": "Robot Vacuum Cleaner S1 Plus",
141
+ "enum": ["Robot Vacuum Cleaner S1 Plus"]
134
142
  }
135
143
  ],
136
144
  "condition": {
@@ -0,0 +1,106 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Context } from 'vm';
4
+ import { IncomingMessage } from 'http';
5
+ import { Subject } from 'rxjs';
6
+ import { SwitchBotPlatform } from '../platform';
7
+ import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
8
+ import { device, devicesConfig, deviceStatus, ad, serviceData, switchbot } from '../settings';
9
+ export declare class RobotVacuumCleaner {
10
+ private readonly platform;
11
+ private accessory;
12
+ device: device & devicesConfig;
13
+ robotVacuumCleanerService: Service;
14
+ batteryService?: Service;
15
+ On: CharacteristicValue;
16
+ Brightness: CharacteristicValue;
17
+ BatteryLevel?: CharacteristicValue;
18
+ StatusLowBattery?: CharacteristicValue;
19
+ power: deviceStatus['power'];
20
+ deviceStatus: any;
21
+ connected?: boolean;
22
+ switchbot: switchbot;
23
+ address: ad['address'];
24
+ serviceData: serviceData;
25
+ state: serviceData['state'];
26
+ scanDuration: number;
27
+ deviceLogging: string;
28
+ deviceRefreshRate: number;
29
+ robotVacuumCleanerUpdateInProgress: boolean;
30
+ doRobotVacuumCleanerUpdate: Subject<void>;
31
+ private readonly BLE;
32
+ private readonly OpenAPI;
33
+ constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
34
+ /**
35
+ * Parse the device status from the SwitchBot api
36
+ */
37
+ parseStatus(): Promise<void>;
38
+ BLEparseStatus(): Promise<void>;
39
+ openAPIparseStatus(): Promise<void>;
40
+ /**
41
+ * Asks the SwitchBot API for the latest device information
42
+ */
43
+ refreshStatus(): Promise<void>;
44
+ BLERefreshStatus(): Promise<void>;
45
+ openAPIRefreshStatus(): Promise<void>;
46
+ /**
47
+ * Pushes the requested changes to the SwitchBot API
48
+ * deviceType commandType Command parameter Description
49
+ * Robot Vacuum Cleaner S1 "command" "start" "default" = start vacuuming
50
+ * Robot Vacuum Cleaner S1 "command" "stop" "default" = stop vacuuming
51
+ * Robot Vacuum Cleaner S1 "command" "dock" "default" = return to charging dock
52
+ * Robot Vacuum Cleaner S1 "command" "PowLevel" "{0-3}" = set suction power level: 0 (Quiet), 1 (Standard), 2 (Strong), 3 (MAX)
53
+ */
54
+ pushChanges(): Promise<void>;
55
+ BLEpushChanges(): Promise<void>;
56
+ openAPIpushChanges(): Promise<void>;
57
+ openAPIpushBrightnessChanges(): Promise<void>;
58
+ private commands;
59
+ private brightnessCommands;
60
+ /**
61
+ * Handle requests to set the value of the "On" characteristic
62
+ */
63
+ OnSet(value: CharacteristicValue): Promise<void>;
64
+ /**
65
+ * Handle requests to set the value of the "Brightness" characteristic
66
+ */
67
+ BrightnessSet(value: CharacteristicValue): Promise<void>;
68
+ updateHomeKitCharacteristics(): Promise<void>;
69
+ stopScanning(switchbot: any): Promise<void>;
70
+ BLEmodel(): 'g' | 'j';
71
+ getCustomBLEAddress(switchbot: any): Promise<void>;
72
+ BLEPushConnection(): Promise<void>;
73
+ BLERefreshConnection(switchbot: any): Promise<void>;
74
+ turnOnOff(device_list: any): Promise<any>;
75
+ retry({ max, fn }: {
76
+ max: number;
77
+ fn: {
78
+ (): any;
79
+ (): Promise<any>;
80
+ };
81
+ }): Promise<null>;
82
+ maxRetry(): Promise<number>;
83
+ model(device: device & devicesConfig): string;
84
+ scan(device: device & devicesConfig): Promise<void>;
85
+ statusCode({ res }: {
86
+ res: IncomingMessage;
87
+ }): Promise<void>;
88
+ offlineOff(): Promise<void>;
89
+ apiError(e: any): Promise<void>;
90
+ FirmwareRevision(accessory: PlatformAccessory<Context>, device: device & devicesConfig): CharacteristicValue;
91
+ context(): Promise<void>;
92
+ refreshRate(device: device & devicesConfig): Promise<void>;
93
+ config(device: device & devicesConfig): Promise<void>;
94
+ logs(device: device & devicesConfig): Promise<void>;
95
+ /**
96
+ * Logging for Device
97
+ */
98
+ infoLog(...log: any[]): void;
99
+ warnLog(...log: any[]): void;
100
+ debugWarnLog(...log: any[]): void;
101
+ errorLog(...log: any[]): void;
102
+ debugErrorLog(...log: any[]): void;
103
+ debugLog(...log: any[]): void;
104
+ enablingDeviceLogging(): boolean;
105
+ }
106
+ //# sourceMappingURL=robotvacuumcleaner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robotvacuumcleaner.d.ts","sourceRoot":"","sources":["../../src/device/robotvacuumcleaner.ts"],"names":[],"mappings":"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"}