Python bindings to the FranklinWH API, such as it is.
In order to use this, you'll need your username (email), password, and sometimes gateway ID. Your gateway ID can be found in the app under More -> Site Address. It's shown as your SN. Or use the bundled script as shown below.
python3 -m pip install franklinwhScripts in bin use the API to show detailed information about your installation but have extra dependencies, install with
python3 -m pip install franklinwh[bin]Gather information about your installation(s) using your username (email) and password. Note the gatewayId field(s) in particular.
python3 bin/get_info.py $FRANKLINWH_EMAIL $FRANKLINWH_PASSWORDGather detailed information about an installation with gateway ID (referenced above).
python3 bin/get_info.py $FRANKLINWH_EMAIL $FRANKLINWH_PASSWORD $FRANKLINWH_GATEWAY_IDThe Makefile has a target to assist development and eventual release:
prepare- run this once to installfranklinwhin editable mode and prerequisites for bin and build.
This should be run in the context where you will eventually develop, which could be
-
In this case a virtual environment is recommended.
python3 -m venv .venv source .venv/bin/activate -
Home Assistant Core with FranklinWH integration
This has too many permutations to discuss here but is a primary use for this API.
make prepareThe Makefile has targets to assist the release process:
build- build the distribution.release- upload to PyPi.
The release process involves these steps:
-
bump and commit version
pyproject.toml/project/version must be unique and conform to semantic versioning.
Note
This may already be included in a Pull Request.
-
build
make build
Fix any errors and commit the changes.
-
upload
make release
This project forked from the original by Richo Healey. Many thanks to richö for getting us started.
Jack Thomasson extended this project and the home-assistant integration with new / fixed controls for Mode, SmartCircuits, etc.