Leakbot Connect — Cloud Integration for Hubitat (v1.0)
Hi all,
I'm happy to share the first release of Leakbot Connect, a cloud polling integration that brings your Leakbot water leak detector into Hubitat Elevation.
What is Leakbot?
Leakbot is a smart water leak detector that clamps onto your cold water supply pipe and uses temperature sensing (its Thermi-Q™ technology) to detect slow leaks, pipe sweating, and high water usage events. It's particularly popular in the UK, where many home insurers offer it free to policyholders. It is also available for direct purchase. It connects to its cloud via Wi-Fi and checks in approximately once every 12–20 hours. I was a beta tester when the Leakbot was first introduced in the US. At this time, it is only available for purchase in the UK.
What Does This Integration Do?
The integration polls the Leakbot cloud API on a configurable schedule and exposes your device's status as native Hubitat attributes, allowing you to use them in Rules, Dashboards, and notifications.
Attributes exposed per device:
| Attribute | Description |
|---|---|
battery |
Battery level 0–100 (satisfies the Battery capability — shows as % in dashboards) |
batteryStatus |
Raw battery string from API e.g. GoodBattery, LowBattery |
leakStatus |
Current device status e.g. Leak Active, Leak Inactive, Cust Repaired, High Usage |
deviceStatus |
Same as leakStatus (raw API value) |
leakFreeDays |
Number of consecutive leak-free days |
signalStrength |
Wi-Fi signal status e.g. HasSignal, NoSignal |
statusChangedAt |
Timestamp of when the current status was first set (useful for knowing when a leak was first detected) |
lastMessage |
Timestamp of the most recent device check-in |
lastMessageType |
Message type of the most recent check-in |
lastUpdated |
Timestamp of the last successful Hubitat poll |
Capabilities: Sensor, Battery, Refresh
Architecture
This follows the standard Hubitat parent/child pattern for cloud integrations:
- Leakbot Connect (app) — handles authentication, polling schedule, and child device creation
- Leakbot Device (driver) — one child device per physical Leakbot unit
Installation
Install the driver first, then the app.
Option A — Import URL (easiest)
-
Drivers Code → + New Driver → Import
Paste:https://raw.githubusercontent.com/neeravmodi/Hubitat/refs/heads/main/Integrations/Leakbot/leakbot-device.groovy -
Apps Code → + New App → Import
Paste:https://raw.githubusercontent.com/neeravmodi/Hubitat/refs/heads/main/Integrations/Leakbot/leakbot-connect.groovy
Option B — Manual
Copy and paste the raw code from GitHub into Drivers Code and Apps Code respectively.
Setup
- Go to Apps → Integrations → Add Integration → Leakbot Connect
- Tap Leakbot Account Settings
- Enter your Leakbot email and password, tap Log in
- Your Leakbot device(s) will appear automatically as child devices
- Set your preferred poll interval (15 min / 30 min / 1 hour / 2 hours)
Note: The Leakbot API permits only one active session at a time. Logging in from Hubitat will log out the Leakbot mobile app, and logging back into the mobile app will invalidate the Hubitat token. If the integration stops updating, tap Log in again in the app settings to re-authenticate.
Known Limitations
- Temperature not exposed — Leakbot uses pipe and air temperature internally for leak detection, but these values are not present in the API response (confirmed via live log analysis). If this changes in a future API version it will be added.
- No push/webhook — the Leakbot API is poll-only; there is no mechanism for real-time event notification. The minimum practical poll interval is 15 minutes.
- Check-in cadence — the Leakbot device itself only checks in to the cloud every 12–20 hours under normal conditions (more frequently during an active leak event). Poll interval affects how quickly Hubitat sees an update after the device checks in, but cannot make the device report more often.
GitHub
https://github.com/neeravmodi/Hubitat/tree/main/Integrations/Leakbot
Acknowledgements
- API endpoints and data structures discovered with reference to homeassistant-leakbot by sHedC
- Developed with the assistance of Claude AI (Anthropic)
Feedback Welcome
This has been tested against a real Leakbot unit through a full leak event cycle (Leak Active → Cust Repaired → Leak Inactive) as well as a High Usage detection event, so the core functionality is confirmed working. That said, I only have one device and one account to test against — if you have multiple Leakbot units or encounter any API differences, please let me know.
Happy to hear any feedback, bug reports, or feature requests.
— Neerav