From 2503f6fa62b765ebdde1d6d1db458b6976088058 Mon Sep 17 00:00:00 2001 From: Mark Coombes Date: Wed, 25 Sep 2019 16:42:47 -0400 Subject: [PATCH] Update ecobee to include config flow instructions (#10428) * Change to Cloud Poll * Update ecobee.markdown Changes required to documentation as a result of addition of config flow to ecobee. * Finish documentation clean up * Update ecobee.markdown * :pencil2: Tweaks * Remove hold_temp instructions hold_temp parameter has been removed from HA. --- source/_components/ecobee.markdown | 71 ++++++++++++++++-------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown index 2f02b20e83d..710ba68cd82 100644 --- a/source/_components/ecobee.markdown +++ b/source/_components/ecobee.markdown @@ -10,7 +10,7 @@ ha_category: - Weather featured: true ha_release: 0.9 -ha_iot_class: Cloud Push +ha_iot_class: Cloud Poll redirect_from: - /components/sensor.ecobee/ - /components/binary_sensor.ecobee/ @@ -19,30 +19,43 @@ redirect_from: - /components/weather.ecobee/ --- -The `ecobee` integration lets you control a thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats. +The `ecobee` integration lets you control thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats and remote sensors. -## Configuration +## Preliminary Step -You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this component. To get the key, first you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that perform the following steps. +You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, first, you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that, perform the following steps. 1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/). -2. Login with your ecobee credentials. +2. Log in with your ecobee credentials. 3. Accept the SDK agreement. 4. Fill in the fields. 5. Click **save**. -Now login to the regular consumer portal, and in the hamburger menu there will be a new option **Developer**. Now we can create the Application to hook up to Home Assistant. +Now login to the regular consumer portal and in the hamburger menu, there will be a new option **Developer**. Now we can create an Application to link to Home Assistant. -1. Select the Developer option. +1. Select the **Developer** option from the hamburger menu. 2. Select **Create New**. -3. Give your app a name (it appears to need to be unique across all users, as I tried 'home-assistant' and it said it was already in use. Try -home-assistant) and a summary (neither of these are important as they are not used anywhere). -4. For Authorization method select **ecobee PIN**. +3. Give your App a name (it must be unique across all ecobee users; try your-name-or-alias-home-assistant) and a summary (which need not be unique). Neither of these are important as they are not used anywhere in Home Assistant. +4. For authorization method select **ecobee PIN**. 5. You don't need an Application Icon or Detailed Description. 6. Click **Create**. -Now under the Name and Summary Section you will have an API key. Copy this key and use it in you configuration section below. Click the **X** to close the Developer section. +Now under the Name and Summary Section, you will have an API key. Copy this key as you will need it in the steps that follow. Click the **X** to close the Developer section. -To add the Ecobee integration to Home Assistant, add the following information to your [`configuration.yaml`](/docs/configuration/) file: +## Configuring the Integration + +To configure the ecobee integration in Home Assistant, you can either use the **Configuration** -> **Integrations** menu, or add an entry to `configuration.yaml`. + +### Setup via the Integrations menu + +1. In the **Configuration** -> **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu. +2. In the pop-up box, enter the API key you obtained from ecobee.com. +3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, and clicking **Validate** and then **Add Application** in the bottom right. +4. After authorizing the App on ecobee.com, return to Home Assistant and hit **Submit**. If the authorization was successful, a config entry will be created and your thermostats and sensors will be available in Home Assistant. + +### Setup via configuration.yaml + +If you prefer to initially set up this integration in [`configuration.yaml`](/docs/configuration/), you may do so by adding your API key (and optional parameters) as follows (however, you must still complete authorization via the **Integrations** menu): ```yaml # Example configuration.yaml entry @@ -50,26 +63,13 @@ ecobee: api_key: YOUR_API_KEY ``` -[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. - -The first time you (re)run Home Assistant with this integration it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking **Add Application** in the **My Apps** section in the sidebar. - -The PIN can be found from the Home Assistant portal on the Ecobee card or from the **configurator.ecobee** entity in states in the portal. - -- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this you can temporarily comment out the `default_view` section or add the `configurator.ecobee` integration to your `default_view` and restart Home Assistant. - -Once you enter the PIN on the ecobee site, wait approximately 5 minutes and then click on the **I have authorized the app** link at the bottom of the ecobee pop-up window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full ecobee card with all of the sensors populated or see the list of sensors in the developer tools. Now you can re-enable your `default_view` (if you had to disable it) and add the ecobee sensors to a group and/or view. +[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above. {% configuration %} api_key: - description: Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path. - required: true - type: string -hold_temp: - description: Whether or not to hold changes indefinitely (`true`) or until the next scheduled event. + description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the Integration again. required: false - default: false - type: boolean + type: string {% endconfiguration %}

@@ -77,11 +77,9 @@ hold_temp:

-If for whatever reason you delete and re-create your ecobee app at ecobee.com such that your developer API key changes, you will need to delete your `/conf/ecobee.conf file`. You will also need to update the `api_key:` in the `configuration.yaml` or `secrets.yaml` file. - ## Notifications -To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can setup this integration to send messages to your Ecobee device. +To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your Ecobee device. To use this notification platform in your installation, add the following to your `configuration.yaml` file: @@ -153,9 +151,9 @@ The Ecobee climate entity has some extra attributes to represent the state of th ## Services -Besides the standard services provided by the Home Assistant [Climate](https://www.home-assistant.io/components/climate/) integration, the following extra service is provided by the Ecobee Thermostat: `resume_program`. +Besides the standard services provided by the Home Assistant [Climate](https://www.home-assistant.io/components/climate/) integration, the following extra services are provided by the Ecobee Thermostat: `ecobee.resume_program` and `ecobee.set_fan_min_on_time`. -### Service `resume_program` +### Service `ecobee.resume_program` Resumes the currently active schedule. @@ -163,3 +161,12 @@ Resumes the currently active schedule. | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. | `resume_all` | no | true or false + +### Service `ecobee.set_fan_min_on_time` + +Sets the minimum amount of time that the fan will run. + +| 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. +| `fan_min_on_time` | no | integer (e.g. 5)