
Overview
This custom integration enables control of the Eufy RoboVac S1 Pro through Home Assistant.
Features
- 🤖 Start/Pause/Resume cleaning
- 🏠Return to dock
- 🔋 Battery level monitoring
- 🗺️ Cleaning mode selection
- đź’§ Water level adjustment
- 🎯 Suction power control
- 📊 Cleaning statistics display
Requirements
- Home Assistant 2024.1.0 or later
- Eufy RoboVac S1 Pro
- Local network connection
Installation
Via HACS (Recommended)
- Open HACS
- Click on “Integrations”
- Click the three dots menu in the top right and select “Custom repositories”
- Add repository URL
https://github.com/tkoba1974/ha-eufy-robovac-s1-pro
- Select “Integration” as the category
- Click “Add”
- Search for “Eufy RoboVac S1 Pro” in HACS and install it
- Restart Home Assistant
Manual Installation
- Download this repository
- Copy the
custom_components/eufy_robovac_s1_pro folder to your Home Assistant’s config/custom_components/ directory
- Restart Home Assistant
Notes on running Home Assistant inside Docker container
You need to open 6666 and 6667 UDP ports to Home Assistant.
Please add these ports in the docker-compose.yaml as follows and rebuild the container.
ports:
- '8123:8123'
- '6666:6666/udp'
- '6667:6667/udp'
Configuration
- Go to Home Assistant’s Settings → Devices & Services
- Click “Add Integration”
- Search for “Eufy RoboVac S1 Pro”
- Follow the on-screen instructions to complete the setup
You’ll need the following information during setup:
- username: User ID of eufylife.com (Confirmed from eufy Clean app)
- password: Password for above User ID
Supported Entities
Vacuum
- Basic vacuum functions (start, pause, resume, return to dock)
Sensors
- Battery level
- Running status
- Cleaning statistics (Total Cleaning Area, Total Cleaning Count)
Select
- Cleaning mode and water level selection
- Suction power level
Switch
Troubleshooting
Device Not Found
- Verify the robot vacuum is on the same network
- Check if the IP address is correct
- Review firewall settings
Connection Errors
- Verify the username/password is correct
- Check if the device is online in the Eufy app
- Check Home Assistant logs for details
Contributing
Please report bugs and feature requests via Issues.
Pull requests are welcome!
Changelog
v1.0.3
- Fix: Eufy API login failure — Updated login headers (
User-Agent, clientType, client_secret key name) to match the latest Eufy Home app (v3.1.3). Added v1/v2 endpoint fallback to handle potential future API endpoint deprecation.
- Fix: Entity states showing “unavailable” / “unknown” after restart — Added
RestoreEntity support to Running Status, Cleaning Mode, Total Cleaning Count, and Total Cleaning Area entities. These now retain their last known values across Home Assistant restarts until live DPS data becomes available.
- Cleanup: Remove verbose debug logging — Removed DPS discovery and update debug logs from
coordinators.py that were cluttering the log output.
v1.0.2
- Improve Running Status Sensor to indicate more detailed status
v1.0.1
- Fix status indication and improve varying Total Cleaning Area
v1.0.0
Credits
This project is based on:
License
Released under the MIT License. See the LICENSE file for details.
Disclaimer
This integration is unofficial and not supported by Anker/Eufy. Use at your own risk.