[Binding] Ecowater water softener (via Ayla Cloud API) initial testing release

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.

If you post this to the marketplace it will be easier for your testers to install and configure. You can “unpublish” it once it’s accepted as an official add-on.