Roomba Hub

A replacement for the slow, cloud-bound iRobot app, for a Roomba j7. A hub talks to the robot directly over the local network using MQTT, and a .NET desktop app, an Android app and a small relay sit on top of it.

Screenshots

These were taken against a simulated robot and an invented floor plan, so the rooms, runs and numbers are made up. Click an image to enlarge it.

Desktop app (Avalonia)

Roomba Hub desktop app on the Clean tab, with quick presets, a room list with numbered order chips, and the floor plan showing the same numbers on the chosen rooms and a robot mid-clean
Clean tab: presets, and rooms picked in order (also on the map).
Desktop app Queue tab listing three queued jobs with move up, move down and remove buttons
Queue tab: jobs wait until the robot is idle, charged and the bin is empty.
Desktop app History tab with outcome badges for past runs, and the selected run's cleaned area and per-room coverage percentages on the map
History tab: a past run's coverage, with a percentage per room.
Desktop app Parts tab with wear bars for the filter, edge brush and multi-surface brushes, each with hours left and a Changed button
Parts tab: wear bars that drain with cleaning hours.

Android app

Android app showing the robot cleaning, battery level, pause, resume and home buttons, saved cleans with Start and Queue buttons, and the queue
Status, saved cleans and queue.
Android app map card showing a made-up floor plan with the robot's cleaned path for the current run
Map card with the current run.

What it does

Under the hood

Raspberry Pi standby

The PC hub is only there while the PC is on. A small Python service on an always-on Raspberry Pi covers the gaps, so the apps still show status, get alerts and can start, pause, dock or find the robot.

Cloudflare relay

The relay lets the apps reach the hub from outside the house without opening anything on the router.

A personal project, not affiliated with iRobot. Connection details and the real floor plan are not published; the screenshots use an invented plan and a simulated robot.