Skip to main content

A small package to pull data from Ecowater water softeners

Project description

Ecowater Softener

PyPI PyPI - Python Version PyPI - License GitHub Repo stars

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

from ecowater_softener import Ecowater

ecowaterDevice = Ecowater('username', 'password', 'serialnumber')

# returns 'all data other commands can get' as a dictionary
ecowaterDevice.getData()

# returns 'days until the device is out of salt' as an integer
ecowaterDevice.daysUntilOutOfSalt()

# returns 'date when device will run out of salt' as string object
ecowaterDevice.outOfSaltOn()

# returns 'the salt level' as an integer
ecowaterDevice.saltLevel()

# returns 'the salt level in percent' as an integer
ecowaterDevice.saltLevelPercent()

# returns 'the amount of water used today' as an integer
ecowaterDevice.waterUsageToday()

# returns 'the average amount of water used daily' as an integer
ecowaterDevice.waterUsageDailyAverage()

# returns 'the amount of water available' as an integer
ecowaterDevice.waterAvailable()

# returns 'the amount of water flow' as an integer
ecowaterDevice.waterFlow()

# returns 'the units for the water measurements' as a string
ecowaterDevice.waterUnits()

# returns 'true or false depending on whether recharge is enabled'
ecowaterDevice.rechargeEnabled()

# returns 'true or false depending on whether there is a recharge scheduled'
ecowaterDevice.rechargeScheduled()

# returns 'true or false depending on whether the device is online'
ecowaterDevice.deviceStatus()

Using ecowaterDevice.getData() is optimal as it only uses one request and returns all of the data as a dictionary.

E.g. {'daysUntilOutOfSalt': 421, 'outOfSaltOn': datetime.datetime(2025, 5, 5, 0, 0), 'saltLevel': 3, 'saltLevelPercent': 21, 'waterUsageToday': 50, 'waterUsageDailyAverage': 143, 'waterAvailable': 1332, 'waterFlow': 0, 'waterUnits': 'Liters', 'rechargeEnabled': True, 'rechargeScheduled': False, 'deviceStatus': True}

Credits

Thanks to Kyle Johnson for his work on using python to interface with Ecowater water softeners. Most of this libraries code is built upon code which he wrote. You can read his article regarding scraping data from Ecowater water softeners at https://gnulnx.net/2020/02/18/ecowater-api-scraping/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecowater_softener-1.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

ecowater_softener-1.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file ecowater_softener-1.1.0.tar.gz.

File metadata

  • Download URL: ecowater_softener-1.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for ecowater_softener-1.1.0.tar.gz
Algorithm Hash digest
SHA256 ee342a88e52915b97e80baa41ce02ad6c727304cbcc24c5743cb4b31769a8ff2
MD5 dc5c52286d5f6c6f1a6ff5d247e4ffdc
BLAKE2b-256 0595f00943bb06b236b818a4b85bad7581d8bff11f562da58df3564356880226

See more details on using hashes here.

File details

Details for the file ecowater_softener-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ecowater_softener-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6481bd72389a958a4abc777e10870c5258bb4af9d4ba6a6a1e4c9534710dabee
MD5 4471142b8e35fee8838ba29d883bb8d4
BLAKE2b-256 21f9514bd382d4c9090c8b7e9a4ac38f3bd24c5f163e8cc23e5c1de5c99dfb70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page