I’ve just released a Home Assistant integration for Duravit SensoWash smart toilets. If you’ve got one of these collecting dust because the app is rubbish, now you can control it properly.
GitHub: GitHub - beezly/ha-sensowash
Install via HACS (custom repository)
What it does
Connects over Bluetooth LE and exposes the full feature set as HA entities:
Buttons — rear wash, lady wash, flush, eco flush, dryer, lid open/close, nozzle cleaning, descaling, drain tank, factory reset
Selects — water flow/temperature/position, seat heating, dryer settings, water hardness, night light (off/on/auto), proximity sensitivity, deodorization delay
Switches — auto flush, pre-flush, deodorization, UVC light, mute, auto seat
Sensors — seat temperature, error status, descaling status and time remaining
Occupancy sensor — know when the toilet is in use (serial-protocol models)
Scheduling services — program seat heating schedules and UVC disinfection times from automations
You don’t need your HA server to be near the toilet — it works with ESPHome Bluetooth proxies. A cheap ESP32 board next to the bathroom is all you need.
Supported models
| Model | Protocol |
|---|---|
| SensoWash Classic, U, Starck F Pro, i Pro | GATT |
| SensoWash Starck F Plus/Lite, i Plus/Lite | Serial (requires one-time pairing) |
| DuraSystem | GATT |
Older models (advertised as DURAVIT_BT) use a proprietary Bluetooth serial protocol. The integration handles pairing automatically — when prompted, press the Bluetooth button on the toilet and it pairs itself.
Installation
- Add
https://github.com/beezly/ha-sensowashas a custom HACS repository - Install and restart HA
- HA will auto-discover your toilet if it’s in BLE range (or proxy range)
Happy to answer questions. Would love to hear if anyone gets it working on models I haven’t tested — I only have a Starck F Lite to hand.