Document config flow setup in geniushub (#36048)

This commit is contained in:
Joost Lekkerkerker 2024-12-06 21:09:15 +01:00 committed by GitHub
parent 65ba1256e5
commit 71aa068375
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -26,6 +26,17 @@ The `geniushub` integration links Home Assistant with your Genius Hub CH/DHW sys
It uses the [geniushub](https://pypi.org/project/geniushub-client/) client library, which provides data compatible with the v1 API that _may not_ exactly match that of the official Web App.
## Prerequisites
You can configure the integration either via the cloud API or the local API.
- **Cloud API**: requires a **hub token** obtained from [my.geniushub.co.uk](https://my.geniushub.co.uk/).
- **Local API**: requires your **username** and **password** as used with [geniushub.co.uk/app](https://www.geniushub.co.uk/).
The local API is unofficial, but is faster and has more features, while the cloud API is slower.
{% include integrations/config_flow.md %}
### Zones
Each zone controlled by your Genius Hub will be exposed as either a:
@ -177,71 +188,3 @@ value_template: "{{ state_attr('climate.genius_zone_12', 'status').occupied }}"
```
{% endraw %}
## Configuration
To set up this integration, add one of the following to your{% term "`configuration.yaml`" %}on.yaml`" %} file.
If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry.
### Option 1: hub hostname/address with user credentials
This is the recommended option.
- Requires your **username** & **password**, as used with [geniushub.co.uk/app](https://www.geniushub.co.uk/app).
- Uses the v3 API - unofficial, but there are additional features (e.g., battery levels).
- Polls the hub directly (so is faster, say ~1s response time).
- You have the option of specifying a MAC address (not recommended, see above).
The hub does not have to be in the same subnet as your Home Assistant instance.
### Option 2: hub token only
This option is recommended only if Option 1 does not work. The MAC address should match that written on the back of the Hub.
- Requires a **hub token** obtained from [my.geniushub.co.uk](https://my.geniushub.co.uk/).
- Uses the v1 API - which is well-documented.
- Polls Heat Genius' own servers (so is slower, say ~5-10s response time).
- You should use the Hub's MAC address (although any valid MAC will do).
```yaml
# Example configuration.yaml entry, using a Hub Token
geniushub:
token: GENIUS_HUB_TOKEN
mac: GENIUS_HUB_MAC
```
```yaml
# Example configuration.yaml entry, directly polling the Hub
geniushub:
host: IP_ADDRESS
username: GENIUS_HUB_USERNAME
password: GENIUS_HUB_PASSWORD
```
{% configuration %}
token:
description: The Hub Token of the Genius Hub.
required: true
type: string
mac:
description: The MAC address of the Hub's ethernet port.
required: false
type: string
host:
description: The hostname/IP address of the Genius Hub.
required: true
type: string
username:
description: Your Genius Hub username.
required: false
type: string
password:
description: Your Genius Hub password.
required: false
type: string
{% endconfiguration %}
Note: `username` and `password` are only required when `host` is used (instead of `token`).
Note: `mac` is required if `token` is used (instead of `host`) and is optional otherwise.