HomGar API client library
The purpose of this library is to programmatically control, and retrieve the layout and current values of devices in the HomGar app.
The current primary focus of this project is to retrieve sensor values of RainPoint Smart+ devices so they can be integrated into HomeAssistant.
Current state of the project
Proof-of-concept: you can retrieve the layout of devices in your homes and their current values
Supported devices
- RainPoint Smart+ Irrigation Display Hub (HWS019WRF-V2)
- RainPoint Smart+ 2-Zone Water Timer (HTV213FRF)
- RainPoint Smart+ Soil&Moisture Sensor (HCS021FRF)
- RainPoint Smart+ High Precision Rain Sensor (HCS012ARF)
- RainPoint Smart+ Outdoor Air Humidity Sensor (HCS014ARF)
How to use
This library is not meant to be used by itself; rather it is meant to be integrated in projects like HomeAssistant.
However, if you really want to, you can run it commandline to see that it works. To do so:
- Install:
pip install homgarapi
- Create a file
config.ymlcontaining:
email: "<your HomGar login address>"
password: "<your HomGar password>"
- Run it:
python -m homgarapi config.yml
This commandline tool will cache your access token in a file cache.pickle in a platform-specific user cache directory.
Caveats
Logging in via this API will log you out in the app. It is advisable to create a separate API account from the app:
- Log out from your main account
- Create a new account
- Log out and back into your main account
- Invite your new account from 'Me' → 'Home management' → your home → 'Members'
- Log out and back into your new account
- Accept the invite
To-do
- Support token renewal such that we don't have to store the password. I haven't been able to trigger token renewal in the app so I can sniff which endpoint it uses.
- Create a HomeAssistant integration that uses this library
- Support all RainPoint Smart+ devices. I only have a select few to test with (see "Supported devices").
- Investigate the meaning of currently unknown status values
- Add support for controlling devices via the API
Metadata
Release files for homgarapi 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| homgarapi-0.0.3.tar.gz | 10.3 kB | Without provenance | Details for homgarapi-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| homgarapi-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for homgarapi-0.0.3-py3-none-any.whl |
Total release size: 20.5 kB
Release files / homgarapi-0.0.3.tar.gz
| Download URL | homgarapi-0.0.3.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e5779507f5d7d8db8e2e49030e768e6eea6aba66e8fdba49aa55ab6477938715
|
|
BLAKE2b-256 checksum How to use checksums |
868c4cdb5ed543aaa19d59ce3eb51527d259bca3b4cc54f3e2759df482317ec6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Release files / homgarapi-0.0.3-py3-none-any.whl
| Download URL | homgarapi-0.0.3-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29d883588796e7cbd931154eb3dde93e9ae8736ddd0ff494e555bb973f5c3339
|
|
BLAKE2b-256 checksum How to use checksums |
f42c4991d62a92cf2aa0a38b79ce93f990baeca823548c85efe87d466adb4712
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Security for homgarapi 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.