OpenNeato Home Assistant Integration
When Neato’s parent company Vorwerk shut down the cloud, perfectly good Botvac robot vacuums lost their app, their scheduling, and even parts of their error handling. OpenNeato (the upstream project) brings them back with a small ESP32 wired to the robot’s debug serial port, serving a local web UI over WiFi with no cloud, no app, and no account.
My contribution is the Home Assistant side. I run a fork whose reason for existing is a HACS-installable custom integration: it discovers the bridge on the LAN and exposes the robot as a first-class Home Assistant device, with no YAML.
The integration polls the bridge’s local HTTP API every 5 seconds and gives you:
- A vacuum entity (start/stop/pause/dock/locate/spot, battery, status, fan-speed presets, errors).
- A camera entity that renders the LIDAR cleaning map.
- Sensors for battery diagnostics (cycle count, voltage, temperature), brush and vacuum motor speeds, WiFi, and cleaning stats.
- Switches and buttons for motors and manual controls.
The ESP32 bridge firmware, web UI, and flash tool are the upstream project’s work; the firmware changes in my fork are minor endpoints to feed the integration. The result: my own Neato D6 now works at least as well as it did on the cloud, with more telemetry than the original app ever exposed.
Full write-up: Bringing a bricked Neato back to life. Both projects are open source under the MIT license.