A Python library for getting historical and forecasted usage/cost from utilities that use Bidgely such as Hydro Ottawa.
Supported utilities:
- Hydro Ottawa
- Avista
Possible Supports:
- BC Hydro
- NS Power
- Hydro One
- Public Service Electric and Gas (PSE&G)
More here
To add support for a new utility that uses the Bidgely API (you can tell if the energy dashboard of your utility makes network requests to a *.bidgely.com host in the network tab of your browser's developer tools -- naapi-read.bidgely.com for Hydro Ottawa, avista-prodapi.bidgely.com for Avista) add a file similar to
hydroottawa.py
Name the file after the utility , e.g. hydroottawa.py for Hydro Ottawa or bchydro.py for BC Hydro.
Since this library is planned to be used by Home Assistant, then per https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md we cannot have a dependency on a headless browser and we can only parse HTML during login.
An exception is made for the authentication phase. An integration is allowed to extract fields from forms. To make it more robust, data should not be gathered by scraping individual fields but instead scrape all fields at once.
See demo.py
Inspired by opower by @tronikos
Async pycognito sign in from @dotKrad