V2.0.0 BREAKING CHANGES
For version 2.0.0 the library has been rewritten and methods have changed.
Ecowater Softener
ecowater-softener is a Python library for collecting information from Ecowater water softeners.
Installation
Use the package manager pip to install ecowater.
pip install ecowater-softener
Usage
Liquids are measured in US Gallons, liquid speeds are measured in US Gallons per Minute (gpm), and weights are measured in Pounds (lbs)
Importing the library
import ecowater_softener
Account
Initialize Ecowater account using username and password credentials
ecowater_account = ecowater_softener.EcowaterAccount('username', 'password')
Devices
Retrieve a list of all devices associated with the Ecowater account
devices = ecowater_account.get_devices()
Access the first device from the list of devices
device = devices[0]
Get / Update the devices values (Needs to be ran before accessing data or the data will return None)
device.update()
Device Info
Get the device model (string)
model = device.model
Get the device serial number (string)
serial_number = device.serial_number
Get the device software version (string)
software_version = device.software_version
Get the signal strength (rssi) (integer)
rssi = device.rssi
Get the device ip address (string)
ip_address = device.ip_address
Water
Get the average daily water usage (integer)
water_use_avg_daily = device.water_use_avg_daily
Get the amount of water used today (integer)
water_use_today = device.water_use_today
Get the current amount of available water (integer)
water_available = device.water_available
Water Flow
Get the current water flow rate (float)
current_water_flow = device.current_water_flow
Salt
Get the current salt level as a percentage (float)
salt_level_percentage = device.salt_level_percentage
Get the number of days until the device runs out of salt (integer)
out_of_salt_days = device.out_of_salt_days
Get the estimated date when the device will run out of salt (datetime.date)
out_of_salt_date = device.out_of_salt_date
Get the salt type, either "NaCl" or "KCl" (string)
salt_type = device.salt_type
Rock
Get the average amount of rock removed daily (float)
rock_removed_avg_daily = device.rock_removed_avg_daily
Get the total amount of rock removed by the device over its lifetime (float)
rock_removed = device.rock_removed
Recharge
Get the recharge status, either "None", "Scheduled", or "Recharging" (string)
recharge_status = device.recharge_status
Check if recharge is enabled (boolean)
recharge_enabled = device.recharge_enabled
Check if a recharge is scheduled (boolean)
recharge_scheduled = device.recharge_scheduled
Check if recharging currently (boolean)
recharge_recharging = device.recharge_recharging
Get the number of days since the last recharge was performed (integer)
last_recharge_days = device.last_recharge_days
Get the date of the last recharge (datetime.date)
last_recharge_date = device.last_recharge_date
Credits
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
MIT