@switchbot/homebridge-switchbot 2.2.3-beta.1 → 2.3.0-beta.1
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/config.schema.json +11 -3
- 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 +1 -1
- 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/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": {
|
|
@@ -964,10 +972,10 @@
|
|
|
964
972
|
}
|
|
965
973
|
]
|
|
966
974
|
}
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
},
|
|
975
|
+
},
|
|
970
976
|
"required": ["name", "logging"]
|
|
977
|
+
}
|
|
978
|
+
}
|
|
971
979
|
},
|
|
972
980
|
"layout": [
|
|
973
981
|
{
|
|
@@ -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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"}
|