From 7a55dc2146a90d87901709d8c41403d9fa74c2b8 Mon Sep 17 00:00:00 2001 From: GeoffAtHome Date: Mon, 11 Feb 2019 18:59:20 +0000 Subject: [PATCH 01/12] Manual registration/de-registration support. --- source/_components/lightwave.markdown | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown index 72b38afdaf47..1478d1256647 100644 --- a/source/_components/lightwave.markdown +++ b/source/_components/lightwave.markdown @@ -2,7 +2,7 @@ layout: page title: "Lightwave" description: "Instructions on how to integrate Lightwave devices with Home Assistant." -date: 2018-12-03 18:00 +date: 2019-02-11 19:00 sidebar: true comments: false sharing: true @@ -12,7 +12,7 @@ ha_category: - Hub - Light - Switch -ha_release: 0.84 +ha_release: 0.87 ha_iot_class: "Assumed State" redirect_from: - /components/light.lightwave/ @@ -44,10 +44,16 @@ lightwave: name: Phone socket R2D4: name: Torch socket + registration: + name: Registration ``` - +### `host` Where `192.168.1.2` is the ip address of your Lightwave hub. -Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. +### `lights` and `switches` +Each `switch` or `light` requires an `id` and a `name`. The `id`, except for `registration`, takes the form `R#D#` where `R#` is the room number and `D#` is the device number. + +### `registration` +The `id` of `registration` is a reserved switch for registering and de-registering Home Assistant from your Lightwave WiFi link. Switching this on will register with your Ligthwave Wifi link hub. You then have 12 seconds to push the button on your hub to accept this registration. Switching this off will deregister **all devices** that have been registered. Use this wisely. `lights` and `switches` are optional but one of these must be present. @@ -56,4 +62,6 @@ The first use of a light or switch will try to register with your Lightwave WiFi The Lightwave Home Assistant component currently supports the following Lightwave devices: - Lightwave lights -- Lightwave switches \ No newline at end of file +- Lightwave switches + +This component has been tested with the first generation Lightwave products but should work will later generations. If someone has a second generation let update this documentation to help others. \ No newline at end of file From 2fc2c71dff231cfc0ee609185ad6b00ab52cea53 Mon Sep 17 00:00:00 2001 From: GeoffAtHome Date: Wed, 13 Feb 2019 18:18:20 +0000 Subject: [PATCH 02/12] Move registration/de-registration to a service. --- source/_components/lightwave.markdown | 31 ++++++++++++++------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown index 1478d1256647..fbeea67bf1f6 100644 --- a/source/_components/lightwave.markdown +++ b/source/_components/lightwave.markdown @@ -2,7 +2,7 @@ layout: page title: "Lightwave" description: "Instructions on how to integrate Lightwave devices with Home Assistant." -date: 2019-02-11 19:00 +date: 2018-12-03 18:00 sidebar: true comments: false sharing: true @@ -12,7 +12,7 @@ ha_category: - Hub - Light - Switch -ha_release: 0.87 +ha_release: 0.84 ha_iot_class: "Assumed State" redirect_from: - /components/light.lightwave/ @@ -27,13 +27,13 @@ To add your Lightwave devices into your Home Assistant installation, add the fol ```yaml # Example configuration.yaml entry lightwave: - host: 192.168.1.2 - lights: + ### {% linkable_title host%}: IP_ADDRESS + ### {% linkable_title lights%}: R1D3: name: Wall lights R1D4: name: Ceiling lights - switches: + ### {% linkable_title switches%}: R1D2: name: Tree socket R2D1: @@ -44,24 +44,25 @@ lightwave: name: Phone socket R2D4: name: Torch socket - registration: - name: Registration ``` + ### `host` -Where `192.168.1.2` is the ip address of your Lightwave hub. -### `lights` and `switches` -Each `switch` or `light` requires an `id` and a `name`. The `id`, except for `registration`, takes the form `R#D#` where `R#` is the room number and `D#` is the device number. +Where `IP_ADDRESS` is the ip address of your Lightwave hub. -### `registration` -The `id` of `registration` is a reserved switch for registering and de-registering Home Assistant from your Lightwave WiFi link. Switching this on will register with your Ligthwave Wifi link hub. You then have 12 seconds to push the button on your hub to accept this registration. Switching this off will deregister **all devices** that have been registered. Use this wisely. +### `lights` and `switches` +Each `light` or `switch` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. `lights` and `switches` are optional but one of these must be present. The first use of a light or switch will try to register with your Lightwave WiFi Link hub. If the hub has not been registered a message on your hub will be displayed asking you to pair the device. You have 12 seconds to push the button on your hub to accept this. Once done, you should be able to control your lights and switches via Home Assistant. This only needs to be done if the hub has not been registered. +### {% linkable_title Service `lightwave_registration` %} +You can use the service `lightwave.lightwave_registration` to register Home Assistant with your Lightwave WiFi Link hub is the automatic registration via a switch or light has failed. Once the service is called you have 12 seconds to push the button on your hub to accept this registration. + +### {% linkable_title Service `lightwave_deregistration` %} +You can use the service `lightwave.lightwave_deregistration` to de-register all devices from your Lightwave WiFi Link hub. Once the service is called all devices are deregistered so use this wisely. The Lightwave WiFi Link hub can register a upto 12 devices. + The Lightwave Home Assistant component currently supports the following Lightwave devices: - Lightwave lights -- Lightwave switches - -This component has been tested with the first generation Lightwave products but should work will later generations. If someone has a second generation let update this documentation to help others. \ No newline at end of file +- Lightwave switches \ No newline at end of file From 6eec06cb24aa138b0468758194218748bddea96f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 13 Feb 2019 20:17:49 +0100 Subject: [PATCH 03/12] :hammer: Move it to the right direction - Added variable configuration - Fixed the example script and split it --- source/_components/lightwave.markdown | 48 +++++++++++++++++++-------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown index fbeea67bf1f6..69eb45e68889 100644 --- a/source/_components/lightwave.markdown +++ b/source/_components/lightwave.markdown @@ -12,14 +12,19 @@ ha_category: - Hub - Light - Switch -ha_release: 0.84 +ha_release: 0.89 ha_iot_class: "Assumed State" redirect_from: - /components/light.lightwave/ - /components/switch.lightwave/ --- -The `lightwave` component links Home Assistant with your Lightwave WiFi link for controlling Lightwave lights and switches. +The `lightwave` component links Home Assistant with your Lightwave WiFi link. + +The Lightwave Home Assistant component currently supports the following Lightwave devices: + +- Light +- Switch This component uses the official API published by Lightwave on their website [https://api.lightwaverf.com/](https://api.lightwaverf.com/). To add your Lightwave devices into your Home Assistant installation, add the following to your `configuration.yaml` file: @@ -27,13 +32,36 @@ To add your Lightwave devices into your Home Assistant installation, add the fol ```yaml # Example configuration.yaml entry lightwave: - ### {% linkable_title host%}: IP_ADDRESS - ### {% linkable_title lights%}: + host: IP_ADDRESS +``` + +{% configuration %} +host: + description: The ip address of your Lightwave hub. + required: true + type: string +lights: + description: (add info) + required: false + type: string +switches: + description: (add info) + required: false + type: string +{% endconfiguration %} + +A somewhat more extensive example of what you can use + +```yaml +# Example configuration.yaml entry +lightwave: + host: IP_ADDRESS + lights: R1D3: name: Wall lights R1D4: name: Ceiling lights - ### {% linkable_title switches%}: + switches: R1D2: name: Tree socket R2D1: @@ -46,10 +74,7 @@ lightwave: name: Torch socket ``` -### `host` -Where `IP_ADDRESS` is the ip address of your Lightwave hub. - -### `lights` and `switches` +### {% linkable_title Lights and Switches %} Each `light` or `switch` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. `lights` and `switches` are optional but one of these must be present. @@ -61,8 +86,3 @@ You can use the service `lightwave.lightwave_registration` to register Home Assi ### {% linkable_title Service `lightwave_deregistration` %} You can use the service `lightwave.lightwave_deregistration` to de-register all devices from your Lightwave WiFi Link hub. Once the service is called all devices are deregistered so use this wisely. The Lightwave WiFi Link hub can register a upto 12 devices. - -The Lightwave Home Assistant component currently supports the following Lightwave devices: - -- Lightwave lights -- Lightwave switches \ No newline at end of file From 80ca8e856f4044e887e30c7c844cacd80634366b Mon Sep 17 00:00:00 2001 From: GeoffAtHome Date: Sun, 3 Mar 2019 15:37:00 +0000 Subject: [PATCH 04/12] Added Genius Hub --- source/_components/geniushub.markdown | 69 +++++++++++++++++++ source/images/supported_brands/geniushub.png | Bin 0 -> 4861 bytes 2 files changed, 69 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 000000000000..f16411f77c8e --- /dev/null +++ b/source/_components/geniushub.markdown @@ -0,0 +1,69 @@ +--- +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 + - Sensor + - Switch +ha_release: 0.89 +ha_iot_class: "Local Polling" +redirect_from: + - /components/sensor.geniushub/ + - /components/switch.geniushub/ +--- + +The `geniushub` component links Home Assistant with your Genius for controlling climate, sensors and switches on your local network. It does not call out to the public API.. + +This component uses the an unofficial API reversed engineered from the Genius web app. + +To add your Genius Hub into your Home Assistant installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +lightwave: + host: 192.168.1.2 + username: genius_hub_username + password: genius_hub_password + scan_interval: 20 +``` +{% configuration %} +host: + description: The local IP address of your Genius Hub + required: true + type: string +username: + description: Genius Hub username + required: true + type: string +password: + description: Genius Hub password + required: true + type: integer +scan_interval: + description: The interval in second to refresh data from your Genius Hub + required: false + type: integer + default: 20 + +{% endconfiguration %} + +The Genius Hub component provide the control to the follow devices: + +**Zone** +Each zone controlled by your Genius hub will report back the mode, set temperature and actual temperature + +**Switch** +Each switch controlled by your Genius hub will report back the state of on or off + +**TRV** +Each TRV will report back set point and battery level + +**Sensor** +Each sensor will report back actual temperate, luminance, motion and battery level 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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 Date: Mon, 18 Mar 2019 17:36:09 +0000 Subject: [PATCH 05/12] Revert lightwvave changes. --- source/_components/lightwave.markdown | 47 +++++---------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown index 69eb45e68889..4caecd8e0e06 100644 --- a/source/_components/lightwave.markdown +++ b/source/_components/lightwave.markdown @@ -12,19 +12,14 @@ ha_category: - Hub - Light - Switch -ha_release: 0.89 -ha_iot_class: "Assumed State" +ha_release: 0.84 +ha_iot_class: Assumed State redirect_from: - /components/light.lightwave/ - /components/switch.lightwave/ --- -The `lightwave` component links Home Assistant with your Lightwave WiFi link. - -The Lightwave Home Assistant component currently supports the following Lightwave devices: - -- Light -- Switch +The `lightwave` component links Home Assistant with your Lightwave WiFi link for controlling Lightwave lights and switches. This component uses the official API published by Lightwave on their website [https://api.lightwaverf.com/](https://api.lightwaverf.com/). To add your Lightwave devices into your Home Assistant installation, add the following to your `configuration.yaml` file: @@ -32,30 +27,7 @@ To add your Lightwave devices into your Home Assistant installation, add the fol ```yaml # Example configuration.yaml entry lightwave: - host: IP_ADDRESS -``` - -{% configuration %} -host: - description: The ip address of your Lightwave hub. - required: true - type: string -lights: - description: (add info) - required: false - type: string -switches: - description: (add info) - required: false - type: string -{% endconfiguration %} - -A somewhat more extensive example of what you can use - -```yaml -# Example configuration.yaml entry -lightwave: - host: IP_ADDRESS + host: 192.168.1.2 lights: R1D3: name: Wall lights @@ -74,15 +46,14 @@ lightwave: name: Torch socket ``` -### {% linkable_title Lights and Switches %} -Each `light` or `switch` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. +Where `192.168.1.2` is the ip address of your Lightwave hub. +Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. `lights` and `switches` are optional but one of these must be present. The first use of a light or switch will try to register with your Lightwave WiFi Link hub. If the hub has not been registered a message on your hub will be displayed asking you to pair the device. You have 12 seconds to push the button on your hub to accept this. Once done, you should be able to control your lights and switches via Home Assistant. This only needs to be done if the hub has not been registered. -### {% linkable_title Service `lightwave_registration` %} -You can use the service `lightwave.lightwave_registration` to register Home Assistant with your Lightwave WiFi Link hub is the automatic registration via a switch or light has failed. Once the service is called you have 12 seconds to push the button on your hub to accept this registration. +The Lightwave Home Assistant component currently supports the following Lightwave devices: -### {% linkable_title Service `lightwave_deregistration` %} -You can use the service `lightwave.lightwave_deregistration` to de-register all devices from your Lightwave WiFi Link hub. Once the service is called all devices are deregistered so use this wisely. The Lightwave WiFi Link hub can register a upto 12 devices. +- Lightwave lights +- Lightwave switches From 6819a3af609fed2909a90e3afb4bcde280fa2ba4 Mon Sep 17 00:00:00 2001 From: David Bonnes Date: Tue, 16 Apr 2019 12:46:17 +0100 Subject: [PATCH 06/12] Update markdown --- source/_components/geniushub.markdown | 63 +++++++++++++-------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index f16411f77c8e..b7c013d14408 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -10,60 +10,57 @@ footer: true logo: geniushub.png ha_category: - Climate - - Sensor - - Switch -ha_release: 0.89 +ha_release: 0.92 ha_iot_class: "Local Polling" -redirect_from: - - /components/sensor.geniushub/ - - /components/switch.geniushub/ --- -The `geniushub` component links Home Assistant with your Genius for controlling climate, sensors and switches on your local network. It does not call out to the public API.. +The `geniushub` component links Home Assistant with your Genius Hub for controlling climate devices on your local network. -This component uses the an unofficial API reversed engineered from the Genius web app. +Each zone controlled by your Genius hub will report back the state, mode, setpoint and temperature. Other properties are available via `device_state_attributes`. -To add your Genius Hub into your Home Assistant installation, add the following to your `configuration.yaml` file: +It uses this PyPi client library: https://pypi.org/project/geniushub-client/ + +There are two distinct options for accessing a Genius Hub: + +#### Option 1: hub token only: + - requires a **hub token** obtained from https://my.geniushub.co.uk/tokens + - uses the v1 API - which is well-documented + - interrogates Heat Genius' own servers (so is slower, say 10-20s response time) + +#### Option 2: hub hostname/address with user credentials: + - requires your **username** & **password**, as used with https://www.geniushub.co.uk/app + - uses the v3 API - results are WIP and may not be what you expect + - interrogates the hub directly (so is faster, say 1s response time) + +{% linkable_title Examples %} +To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file: +```yaml +# Example configuration.yaml entry, using a Hub Token +geniushub: + host: eyJhbGciXVCIsInZlciI6IjEuMC4w... +``` ```yaml -# Example configuration.yaml entry -lightwave: +# Example configuration.yaml entry, directly polling the Hub +geniushub: host: 192.168.1.2 username: genius_hub_username password: genius_hub_password - scan_interval: 20 ``` -{% configuration %} + +{% linkable_title Configuration %} host: - description: The local IP address of your Genius Hub + description: The Hub Token, or hostname/IP address of your Genius Hub required: true type: string username: - description: Genius Hub username + description: Genius Hub username (the host will be used as a hostname/IP address) required: true type: string password: description: Genius Hub password required: true type: integer -scan_interval: - description: The interval in second to refresh data from your Genius Hub - required: false - type: integer - default: 20 - {% endconfiguration %} -The Genius Hub component provide the control to the follow devices: - -**Zone** -Each zone controlled by your Genius hub will report back the mode, set temperature and actual temperature - -**Switch** -Each switch controlled by your Genius hub will report back the state of on or off - -**TRV** -Each TRV will report back set point and battery level -**Sensor** -Each sensor will report back actual temperate, luminance, motion and battery level From a6a5a518b056117cc01d52dcf2b27bc1ae5cfe7a Mon Sep 17 00:00:00 2001 From: David Bonnes Date: Tue, 16 Apr 2019 13:01:26 +0100 Subject: [PATCH 07/12] fix a small bug --- source/_components/geniushub.markdown | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index b7c013d14408..990cfad1292c 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -33,13 +33,15 @@ There are two distinct options for accessing a Genius Hub: - interrogates the hub directly (so is faster, say 1s response time) {% linkable_title Examples %} -To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file: +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: host: eyJhbGciXVCIsInZlciI6IjEuMC4w... ``` - +If you want to poll the hub directly: ```yaml # Example configuration.yaml entry, directly polling the Hub geniushub: @@ -49,17 +51,21 @@ geniushub: ``` {% linkable_title Configuration %} + +Note that if a `username` or `password` is provide, then the `host` will be used as a hostname/IP address rather than a Hub Token. + +{% configuration %} host: description: The Hub Token, or hostname/IP address of your Genius Hub required: true type: string username: - description: Genius Hub username (the host will be used as a hostname/IP address) - required: true + description: Genius Hub username + required: false type: string password: description: Genius Hub password - required: true + required: false type: integer {% endconfiguration %} From ba4b089679976c4499b87bf454694ee641c8512e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 16 Apr 2019 16:25:20 +0200 Subject: [PATCH 08/12] :pencil2: Tweak --- source/_components/geniushub.markdown | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index 990cfad1292c..977b4efb8905 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -11,7 +11,7 @@ logo: geniushub.png ha_category: - Climate ha_release: 0.92 -ha_iot_class: "Local Polling" +ha_iot_class: Local Polling --- The `geniushub` component links Home Assistant with your Genius Hub for controlling climate devices on your local network. @@ -22,32 +22,37 @@ It uses this PyPi client library: https://pypi.org/project/geniushub-client/ There are two distinct options for accessing a Genius Hub: -#### Option 1: hub token only: +### {% linkable_title Option 1: hub token only %} + - requires a **hub token** obtained from https://my.geniushub.co.uk/tokens - uses the v1 API - which is well-documented - interrogates Heat Genius' own servers (so is slower, say 10-20s response time) -#### Option 2: hub hostname/address with user credentials: +### {% linkable_title Option 2: hub hostname/address with user credentials %} + - requires your **username** & **password**, as used with https://www.geniushub.co.uk/app - uses the v3 API - results are WIP and may not be what you expect - interrogates the hub directly (so is faster, say 1s response time) -{% linkable_title Examples %} +## {% 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: host: eyJhbGciXVCIsInZlciI6IjEuMC4w... ``` If you want to poll the hub directly: + ```yaml # Example configuration.yaml entry, directly polling the Hub geniushub: - host: 192.168.1.2 - username: genius_hub_username - password: genius_hub_password + host: IP_ADDRESS + username: GENIUS_HUB_USERNAME + password: GENIUS_HUB_PASSWORD ``` {% linkable_title Configuration %} @@ -68,5 +73,3 @@ password: required: false type: integer {% endconfiguration %} - - From e1f43ea32ab1c8dd6adc294f9a086b4a2464e438 Mon Sep 17 00:00:00 2001 From: David Bonnes Date: Wed, 17 Apr 2019 09:55:16 +0100 Subject: [PATCH 09/12] token: and host: now separate --- source/_components/geniushub.markdown | 33 ++++++++++++++------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index 977b4efb8905..f653f6110ac8 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -14,39 +14,34 @@ ha_release: 0.92 ha_iot_class: Local Polling --- -The `geniushub` component links Home Assistant with your Genius Hub for controlling climate devices on your local network. +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 `device_state_attributes`. +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/ 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 - uses the v1 API - which is well-documented - - interrogates Heat Genius' own servers (so is slower, say 10-20s response time) + - 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 - uses the v3 API - results are WIP and may not be what you expect - - interrogates the hub directly (so is faster, say 1s response time) - -## {% linkable_title Configuration %} + - polls the hub directly (so is faster, say 1s response time) +{% linkable_title Examples %} 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: - host: eyJhbGciXVCIsInZlciI6IjEuMC4w... + token: GENIUS_HUB_TOKEN ``` -If you want to poll the hub directly: - +Alternatively, if you want to poll the hub directly: ```yaml # Example configuration.yaml entry, directly polling the Hub geniushub: @@ -57,19 +52,25 @@ geniushub: {% linkable_title Configuration %} -Note that if a `username` or `password` is provide, then the `host` will be used as a hostname/IP address rather than a Hub Token. +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 Hub Token, or hostname/IP address of your Genius Hub + description: The hostname/IP address of the Genius Hub required: true type: string username: - description: Genius Hub username + description: Your Genius Hub username required: false type: string password: - description: Genius Hub password + description: Your Genius Hub password required: false type: integer {% endconfiguration %} + + From 24d5524918d8eb8c3980567f385e569c42738c76 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 18 Apr 2019 15:35:25 +0200 Subject: [PATCH 10/12] :pencil2: Tweak After this commit we can merge it and add it to the milestone --- source/_components/geniushub.markdown | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index f653f6110ac8..38ff95d5031e 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -23,25 +23,30 @@ It uses this PyPi client library: 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 - 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 - 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 Examples %} +{% 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: @@ -50,8 +55,6 @@ geniushub: password: GENIUS_HUB_PASSWORD ``` -{% linkable_title Configuration %} - Note that if a `host` is used instead of `token`, then the `username` and `password` are also required. {% configuration %} @@ -72,5 +75,3 @@ password: required: false type: integer {% endconfiguration %} - - From a8507a64cd2a4d429ed904cb6beeb7f0d25af62f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 18 Apr 2019 15:35:58 +0200 Subject: [PATCH 11/12] :pencil2: Tweak --- source/_components/geniushub.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index 38ff95d5031e..37a4ee088322 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -34,7 +34,7 @@ There are two distinct options for accessing a Genius Hub: - 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 %} +## {% linkable_title Configuration %} To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file. From 2197df29699433c7863550085b89734fea4698fc Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 18 Apr 2019 15:47:21 +0200 Subject: [PATCH 12/12] :pencil2: Make urls clickable --- source/_components/geniushub.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index 37a4ee088322..67fd4b2decfe 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -16,21 +16,21 @@ 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`. +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/ +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 + - 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 + - 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)