@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 +9 -0
- package/README.md +8 -0
- package/config.schema.json +8 -0
- package/dist/device/robotvacuumcleaner.d.ts +106 -0
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -0
- package/dist/device/robotvacuumcleaner.js +824 -0
- package/dist/device/robotvacuumcleaner.js.map +1 -0
- package/dist/platform.d.ts +1 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +59 -0
- package/dist/platform.js.map +1 -1
- package/package.json +4 -3
- package/src/device/robotvacuumcleaner.ts +874 -0
- package/src/platform.ts +62 -0
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)
|
package/config.schema.json
CHANGED
|
@@ -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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"}
|