From 122377037e534a3e3738fc8b8c6cffab39f58f07 Mon Sep 17 00:00:00 2001 From: GeoffAtHome Date: Thu, 18 Apr 2019 16:08:05 +0200 Subject: [PATCH] Genius hub (#8815) * Manual registration/de-registration support. * Move registration/de-registration to a service. * :hammer: Move it to the right direction - Added variable configuration - Fixed the example script and split it * Added Genius Hub * Revert lightwvave changes. * Update markdown * fix a small bug * :pencil2: Tweak * token: and host: now separate * :pencil2: Tweak After this commit we can merge it and add it to the milestone * :pencil2: Tweak * :pencil2: Make urls clickable --- source/_components/geniushub.markdown | 77 +++++++++++++++++++ source/images/supported_brands/geniushub.png | Bin 0 -> 4861 bytes 2 files changed, 77 insertions(+) create mode 100644 source/_components/geniushub.markdown create mode 100644 source/images/supported_brands/geniushub.png diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown new file mode 100644 index 00000000000..67fd4b2decf --- /dev/null +++ b/source/_components/geniushub.markdown @@ -0,0 +1,77 @@ +--- +layout: page +title: "Genius Hub" +description: "Instructions on how to integrate Genius Hub with Home Assistant." +date: 2019-03-03 16:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: geniushub.png +ha_category: + - Climate +ha_release: 0.92 +ha_iot_class: Local Polling +--- + +The `geniushub` integration links Home Assistant with your Genius Hub for controlling climate devices (the hub does not have to be in the same network as HA). + +Each Zone controlled by your Genius hub will report back the state, mode, setpoint and temperature. Other properties are available via the device's `state_attributes`. + +It uses this PyPi client library: [https://pypi.org/project/geniushub-client/](https://pypi.org/project/geniushub-client/) + +There are two distinct options for accessing a Genius Hub: + +### {% linkable_title Option 1: hub token only %} + + - requires a **hub token** obtained from [https://my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens) + - uses the v1 API - which is well-documented + - polls Heat Genius' own servers (so is slower, say 10-20s response time) + +### {% linkable_title Option 2: hub hostname/address with user credentials %} + + - requires your **username** & **password**, as used with [https://www.geniushub.co.uk/app](https://www.geniushub.co.uk/app) + - uses the v3 API - results are WIP and may not be what you expect + - polls the hub directly (so is faster, say 1s response time) + +## {% linkable_title Configuration %} + +To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file. + +If you want to poll Heat Genius' own servers: + +```yaml +# Example configuration.yaml entry, using a Hub Token +geniushub: + token: GENIUS_HUB_TOKEN +``` +Alternatively, if you want to poll the hub directly: + +```yaml +# Example configuration.yaml entry, directly polling the Hub +geniushub: + host: IP_ADDRESS + username: GENIUS_HUB_USERNAME + password: GENIUS_HUB_PASSWORD +``` + +Note that if a `host` is used instead of `token`, then the `username` and `password` are also required. + +{% configuration %} +token: + description: The Hub Token of the Genius Hub + required: true + 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: integer +{% endconfiguration %} diff --git a/source/images/supported_brands/geniushub.png b/source/images/supported_brands/geniushub.png new file mode 100644 index 0000000000000000000000000000000000000000..52fda20117b8c6875182edd6e36a20125c274ac8 GIT binary patch literal 4861 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