A Home Assistant custom integration for WyBot pool vacuums. Control your pool robot as a Vacuum entity with real-time status, battery monitoring, and solar dock tracking.
- Vacuum entity — Start, stop, return to dock, and select cleaning mode
- 7 cleaning modes — Floor, Wall, Wall Then Floor, Advanced Full Pool, Water Line, Turbo Floor, Eco Floor
- Battery monitoring — Robot battery level and charging status
- Solar dock support — Dock battery level, solar charging status, and total energy harvested
- BLE-first architecture — Uses local Bluetooth when available, falls back to cloud MQTT
- Bluetooth discovery — Automatically detects DS20 docks via BLE
- Diagnostic sensors — Data source (BLE/MQTT), last communication timestamps
| Device | Status |
|---|---|
| S2 Pro + DS20 Solar Dock | ✅ Tested |
| C1 | ✅ Tested |
| Other WyBot models | Should work — please report issues |
The integration creates the following entities per device:
| Entity | Description |
|---|---|
| Vacuum | Start/stop/return to dock, cleaning mode selection |
| Entity | Description |
|---|---|
| Robot battery | Battery level (%) |
| Dock battery | Solar dock battery level (%) |
| Energy harvested | Total solar energy (Wh) |
| Dock type | Standard or Solar |
| Data source | Current connection method (Bluetooth / Cloud) |
| Last BLE communication | Timestamp of last Bluetooth poll |
| Last MQTT communication | Timestamp of last cloud message |
| Entity | Description |
|---|---|
| Robot charging | Whether the robot is charging |
| Dock charging | Whether the solar panel is actively charging |
| Entity | Description |
|---|---|
| Send WiFi credentials | Send WiFi config to dock via BLE (diagnostic, disabled by default) |
Download the latest release and extract to your config/custom_components directory.
- Go to Settings → Devices & Services → Add Integration
- Search for WyBot
- Enter your WyBot account email and password
- (Optional) Enter WiFi SSID and password for manual dock provisioning via BLE
Bluetooth discovery: If you have a DS20 dock in Bluetooth range, Home Assistant will automatically detect it and prompt you to set up the integration.
The integration uses a BLE-first with MQTT fallback architecture:
- Bluetooth (primary) — Polls the dock via BLE every 30 seconds for instant local status updates
- Cloud MQTT (fallback) — If BLE fails or the device is out of range, connects to WyBot's MQTT broker
- HTTP API — Used for initial device discovery and session keepalive
Commands (start, stop, return to dock) are also sent via BLE first, falling back to MQTT if needed.
⚠️ Important: The dock must be set up before the robot. You must first set up the dock and connect it to WiFi, then pair the robot with it. There is no way to configure WiFi on the dock after the robot has been paired.
WyBot robots disconnect from WiFi when submerged. The dock stays connected to WiFi and relays commands to the robot underwater via Bluetooth.
A comprehensive "All-in-One" automation blueprint is included in the blueprints/ directory:
| Blueprint | Description |
|---|---|
| WyBot: Pool Robot Notifications & Schedule | A powerful multi-function blueprint that handles cleaning completion notifications, full charge alerts, low battery warnings, and daily cleaning schedules with mode selection and battery checks. |
To import the blueprint, copy blueprints/wybot_all_in_one.yaml to your Home Assistant config/blueprints/automation/wybot/ directory, or use the Import Blueprint feature in the HA UI.
See DEVELOPER.md for instructions on running tests and an overview of the codebase architecture.
- Better MQTT connection handling
- Testing with more robot models
- Bluetooth-only operation (no cloud dependency)