Hi,
I’ve created a binding for Ecowater water softeners and welcome testers before considering it for a PR to openhab-addons.
Why
There’s no existing openHAB binding for Ecowater softeners. I was running a Python script bridging to MQTT that scraped the wifi.ecowater.com web dashboard (login form + session cookie), which is fragile and loses several data points the dashboard doesn’t expose (recharge status, salt type, out-of-salt estimate, etc.).
How it works
Instead of scraping the website, this binding talks directly to the Ayla Networks IoT Cloud API — the same backend the official Ecowater mobile app uses. This is the same approach the Home Assistant integration (barleybobs/homeassistant-ecowater-softener) takes, and I leaned on that project’s Python source (and the underlying ayla-iot-unofficial library) to work out the exact API contract — sign-in, device listing, property polling, and forcing a fresh device read via the get_frequent_data datapoint when the last reading is more than 5 minutes old.
Structure
Ecowater Account— a Bridge holding your Ecowater app email/password, signs in to Ayla.Ecowater Softener— a Thing per device (DSN), discovered under the Account bridge (manual “Scan” — no automatic background discovery yet), polling on a configurable interval (default 10 min).- 15 read-only channels: water used today/avg daily/available, water flow, salt level %, salt type, out-of-salt days/date, recharge status/enabled, days/date since last recharge, rock removed (total/avg daily), WiFi RSSI. Model, software version and IP are exposed as Thing properties.
- Values are converted to metric (liters, kg) since the Ayla API reports US customary units. All numeric channels use OpenHAB’s Units of Measurement, so you can switch to gallons/lbs via item metadata if you prefer.
Tested
Confirmed working end-to-end against a real account/device on both openHAB 4.2.0 and openHAB 5.2.1: sign-in, Thing discovery/manual add, live polling, correct values after setting item units.
Not yet tested: multiple softeners on one account
Not implemented (yet)
No actuation (e.g. can’t trigger a manual recharge or toggle auto-recharge from openHAB) — this is a read-only sensor binding for now.
Installation
Not an official add-on yet, so grab the jar from the release: Ecowater binding v0.1.0. Drop it into your addons folder, first add an Ecowater Account bridge with your Ecowater app credentials, then add the Ecowater Softener thing using your DSN.
Source: branch ecowater-binding — happy to open a proper PR if there’s interest and a few more people can confirm it works on their setups.