CyberCircuits / evergy-python

A simple utility that you can use to access your Evergy account and retrieve you meter readings.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚡Evergy Client

Latest Version on PyPi Supported Python Versions Documentation Status Requriements Status

A simple utility that you can use to login to your Evergy account and retrieve you meter readings.

Note: This is an unofficial utility that uses Evergy's non-public API.

Previously known as "KCPL"

⚠ No Longer Maintained ⚠

I no longer have an Evergy account so I can't test this. If you would like to become a maintainer (or even just make small fixes) let me know 🙂

Install

pip install evergy

Usage

from evergy.evergy import Evergy

evergy = Evergy("<evergy-username>", "<evergy-password>")

data = evergy.get_usage()
print("Today's kWh: " + str(data[-1]["usage"]))

Output

The last element from the get_usage() will be the latest data. The usage is in kilowatt-hours. I believe the peakDateTime is the time during that day when your usage was the highest and the peakDemand is how many kilowatts you were drawing at that time.

Latest data:
{
    'period': 'Saturday',
    'billStart': '0001-01-01T00:00:00',
    'billEnd': '0001-01-01T00:00:00',
    'billDate': '2021-09-18T00:00:00',
    'date': '9/18/2021',
    'usage': 14.7756,
    'demand': 3.7992,
    'avgDemand': 0.0,
    'peakDemand': 3.7992,
    'peakDateTime': '12:45 p.m.',
    'maxTemp': 71.0,
    'minTemp': 71.0,
    'avgTemp': 71.0,
    'cost': 18.5748, 
    'isPartial': False
}

Home Assistant Integration

There isn't currently an Home Assistant integration that uses this library. Checkout this thread to see how others have used it in Home Assistant. If you want to use this in a HA integration, please do and I'll link it here!

Related Projects

Development

Setup

python -m pip install --upgrade virtualenv
virtualenv venv
.\venv\Scripts\activate.ps1

Code Formatting

Install the dev dependencies and run isort and flake8 to properly format the code.

pip install -r requirements_dev.txt
isort evergy/
flake8 evergy/

Build Docs

Windows PowerShell:

pip install -r docs/requirements_docs.txt
docs\make.bat clean; docs\make.bat html

Release New Version

  • Bump __version__ in evergy/__init__.py
git commit -m "Bump version"
git tag -a v1.0.1 -m "v1.0.1"
git push --tags

Build Wheel

The --no-isolation flag tells it to use the existing virtual env

python -m build --no-isolation --wheel

Upload to PyPi

Test

twine upload --verbose --repository testpypi dist/*

Prod

twine upload --verbose --repository pypi dist/*

About

A simple utility that you can use to access your Evergy account and retrieve you meter readings.

License:MIT License


Languages

Language:Python 100.0%