From 34ec0f3c9432cc42c40aefd6a32c74ad3caaa899 Mon Sep 17 00:00:00 2001 From: Derek Brooks Date: Sat, 11 Nov 2017 16:26:57 -0600 Subject: [PATCH] add initial NuHeat documentation --- source/_components/climate.nuheat.markdown | 169 +++++++++++++++++++++ source/_components/nuheat.markdown | 43 ++++++ source/images/supported_brands/nuheat.png | Bin 0 -> 4061 bytes 3 files changed, 212 insertions(+) create mode 100644 source/_components/climate.nuheat.markdown create mode 100644 source/_components/nuheat.markdown create mode 100644 source/images/supported_brands/nuheat.png diff --git a/source/_components/climate.nuheat.markdown b/source/_components/climate.nuheat.markdown new file mode 100644 index 00000000000..4880f4b9a24 --- /dev/null +++ b/source/_components/climate.nuheat.markdown @@ -0,0 +1,169 @@ +--- +layout: page +title: "NuHeat Thermostat" +description: "Instructions how to integrate your NuHeat Signature thermostats within Home Assistant." +date: 2017-11-11 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nuheat.png +ha_category: Climate +ha_release: 0.53 +ha_iot_class: "Cloud Polling" +--- + +

+To get your [NuHeat Signature](http://www.nuheat.com/products/thermostats/signature-thermostat) thermostats working within Home Assistant, please follow the instructions for the general [NuHeat component](/components/nuheat) +

+ +## {% linkable_title Concepts %} + +The NuHeat Thermostat supports the following key concepts. + +The _target temperature_ is the temperature that the device attempts to achieve. The target temperature is either determined by the schedule programmed into the thermostat (_auto mode_) or may be overridden. When the target temperature is set by home assistant, the thermostat will hold this temperature until the schedule is resumed. + +When in _away mode_ the temperature is permanently overridden to the minimum temperature supported by the thermostat. + + +## {% linkable_title Attributes %} + +The following attributes are provided by the NuHeat thermostat: `name`, `temperature_unit`, `current_temperature`, `target_temperature`, `target_temperature_low`, `target_temperature_high`, `current_hold_mode`, `current_operation`, `operation_list`, `is_away_mode_on`, `min_temp`, `max_temp` + + +### {% linkable_title Attribute `name` %} + +Returns the name of the NuHeat Thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | Name of the thermostat + +### {% linkable_title Attribute `temperature_unit` %} + +Returns the unit of measurement used for temperature by the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | Name of the temperature unit + +### {% linkable_title Attribute `current_temperature` %} + +Returns the current temperature measured by the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Currently measured temperature + +### {% linkable_title Attribute `target_temperature` %} + +Returns the target temperature of the thermostat, when the thermostat is +not in auto operation mode. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Target temperature + +### {% linkable_title Attribute `target_temperature_low` %} + +Returns the desired heating temperature set in the thermostat when in +auto operation mode. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Target temperature + +### {% linkable_title Attribute `target_temperature_high` %} + +Returns the desired cooling temperature set in the thermostat when in +auto operation mode. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Target temperature + +### {% linkable_title Attribute `current_hold_mode` %} + +Returns the current temperature hold, if any. + +| Attribute type | Description | +| ---------------| ----------- | +| String | 'temperature', 'temporary_temperature', 'away', 'auto', etc. + +### {% linkable_title Attribute `current_operation` %} + +Returns the current operation of the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | 'heat', 'idle' + +### {% linkable_title Attribute `operation_list` %} + +Returns the list of available operation modes. + +| Attribute type | Description | +| ---------------| ----------- | +| List of String | Available operation modes + +### {% linkable_title Attribute `is_away_mode_on` %} + +Returns whether the thermostat is in away mode. + +| Attribute type | Description | +| ---------------| ----------- | +| Boolean | True, False + +### {% linkable_title Attribute `min_temp` %} + +Returns the minimum supported temperature by the thermostat + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Minimum supported temperature + +### {% linkable_title Attribute `max_temp` %} + +Returns the maximum supported temperature by the thermostat + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Maximum supported temperature + + +## {% linkable_title Services %} + +The following services are provided by the NuHeat Thermostat: `set_away_mode`, `set_temperature`, `resume_program`. + +The services `fan_min_on_time`, `set_aux_heat`, `set_hold_mode`, `set_humidity`, `set_fan_mode`, `set_operation_mode`, and `set_swing_mode` offered by the [Climate component](/components/climate/) are not implemented for this thermostat. + +### {% linkable_title Service `set_away_mode` %} + +Turns the away mode on or off for the thermostat. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `away_mode` | no | 'on' or 'off' + +### {% linkable_title Service `set_temperature` %} + +Puts the thermostat into a temporary hold at the given temperature. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `target_temp_low` | no | Desired heating target temperature (when in auto mode) +| `target_temp_high` | no | Desired cooling target temperature (when in auto mode) +| `temperature` | no | Desired target temperature (when not in auto mode) + +Only the target temperatures relevant for the current operation mode need to +be provided. + +### {% linkable_title Service `resume_program` %} + +Resumes the currently active schedule. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. diff --git a/source/_components/nuheat.markdown b/source/_components/nuheat.markdown new file mode 100644 index 00000000000..946c5ca5232 --- /dev/null +++ b/source/_components/nuheat.markdown @@ -0,0 +1,43 @@ +--- +layout: page +title: "NuHeat" +description: "Instructions how to integrate your NuHeat Signature thermostats within Home Assistant." +date: 2017-11-11 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nuheat.png +ha_category: Hub +ha_release: 0.53 +ha_iot_class: "Cloud Polling" +--- + +The `nuheat` component lets you control connected floor heating thermostats from [NuHeat](http://www.nuheat.com/). + +First, you will need to obtain your thermostat's numeric serial number or ID by logging into [MyNuHeat.com](https://mynuheat.com/) and selecting your thermostat(s). + +Once you have the Thermostat ID(s), add the following information to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +nuheat: + username: you@example.com + password: very-secure-password + devices: 12345 + +# Example configuration.yaml entry with multiple thermostats +nuheat: + username: you@example.com + password: very-secure-password + devices: + - 12345 + - 67890 +``` + +Configuration variables: + +- **username** (*Required*): The username for accessing your MyNuHeat account. +- **password** (*Required*): The password for accessing your MyNuHeat account. +- **devices** (*Required*): The serial number / ID of each thermostat you would like integrate with Home Assistant. + diff --git a/source/images/supported_brands/nuheat.png b/source/images/supported_brands/nuheat.png new file mode 100644 index 0000000000000000000000000000000000000000..35016d1c223346c94cce0b7d6be6a7547977c84c GIT binary patch literal 4061 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