Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2020-12-30 10:47:54 +01:00
commit f6dd7322b7
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
11 changed files with 113 additions and 17 deletions

View File

@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 2020
current_minor_version: 12
current_patch_version: 1
date_released: 2020-12-16
current_patch_version: 2
date_released: 2020-12-30
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -108,7 +108,7 @@ Next you need create a Lambda function.
- Click `Functions` in the left navigation bar, display list of your Lambda functions.
- Click `Create function`, select `Author from scratch`, then input a `Function name`.
- Select *Python 3.6* or *Python 3.7* as `Runtime`.
- Select *Python 3.6*, *Python 3.7* or *Python 3.8* as `Runtime`.
- Make sure select *Use an existing role* as `Execution role`, then select the role you just created from `Existing role` list.
- Click `Create function`, then you can configuration detail of Lambda function.
- Under `Configuration` tab, expand `Designer` (if it isn't already expanded), then click `+ Add trigger` in the left part of the panel, then click `Alexa Smart Home` from the drop down list to add a Alexa Smart Home trigger to your Lambda function.
@ -193,7 +193,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
- Input all information required. Assuming your Home Assistant can be accessed by `https://[YOUR HOME ASSISTANT URL:PORT]`
- `Authorization URI`: `https://[YOUR HOME ASSISTANT URL]/auth/authorize`
- `Access Token URI`: `https://[YOUR HOME ASSISTANT URL]/auth/token`
- Note: you must use a valid/trusted SSL Certificate and port 443 for account linking to work
- Note: you must use a valid/trusted SSL Certificate for account linking to work
- `Client ID`:
- `https://pitangui.amazon.com/` if you are in US
- `https://layla.amazon.com/` if you are in EU

View File

@ -66,16 +66,37 @@ For the first phase, you will turn on the API and create the necessary credentia
1. Now the "Device Access Console" should be visible. Click on **Create project**.
![Screenshot of creating a project](/images/integrations/nest/create_project.png)
1. Give your project a name and click **Next**.
1. Give your Device Access project a name and click **Next**.
![Screenshot of naming a project](/images/integrations/nest/project_name.png)
1. Next you will be asked for an *OAuth client ID*. It is a good idea to go create that now. Open a new tab to the [Google Cloud Console](https://console.developers.google.com/apis/credentials) **Credentials** page and click **Create
Credentials**.
1. Next you will be asked for an *OAuth client ID*. It is a good idea to go create that now. Open a new tab to the [Google API Console](https://console.developers.google.com/apis/credentials).
1. If this is your first time here, you likely need to create a new Google API project. Click **Create Project** then **New
Project**. Note: This is a different type of project from the Device Access project you are also creating.
![Screenshot of APIs and Services Cloud Console with no existing project](/images/integrations/nest/api_project_needed.png)
1. Give your API Project a name then click **Create**. Note: You can ignore the *Project ID* here as Home Assistant does not need it.
1. Click *OAuth consent screen* and make sure you have that configured, otherwise, you can do that now.
![Screenshot of OAuth consent screen creation](/images/integrations/nest/oauth_consent_create.png)
1. Select **External** (the only choice if you are not a G-Suite user) then click **Create**. While you are here, you may click the *Let us know what you think* to give Google's OAuth team any feedback about your experience configuring credentials for self-hosted software. They make regular improvements to this flow and appear to value feedback.
1. The *App Information* screen needs you to enter an **App name** and **User support email**, then enter your email again under **Developer contact email**. These are only shown while you later go through the OAuth flow to authorize Home Assistant to access your account. Click **Save and Continue**.
1. On the *Scopes* step click **Save and Continue**.
1. On the *Test Users* step, you need to add your Google Account (e.g., your @gmail.com address) to the list. Click *Save* on your test account then **Save and Continue** to finish the consent flow.
![Screenshot of OAuth consent screen test users](/images/integrations/nest/oauth_consent_test_users.png)
1. Navigate to the **Credentials** page and click **Create Credentials**.
![Screenshot of APIs and Services Cloud Console](/images/integrations/nest/create_credentials.png)
1. From the drop-down list select *OAuth client ID*.
![Screenshot of OAuth client ID selection](/images/integrations/nest/oauth_client_id.png)
1. Enter *Web Application* for the Application typex, since you will use this with Home Assistant.
1. Pick a name for your credential.
1. Add **Authorized redirect URIs** for your Home Assistant URL, including the OAuth callback path e.g., `https://<your_home_assistant_url>:<port>/auth/external/callback`. See [Troubleshooting](#troubleshooting) below for more details on the subtle requirements for what kinds of URLs work here.
@ -92,8 +113,6 @@ Credentials**.
1. Take note of the *Project ID* as you will need it later. At this point you have the `project_id`, `client_id` and `client_secret` configuration options needed for Home Assistant.
1. At this point you should have a `Project ID`, `OAuth Client ID`, and an `OAuth Secret`.
1. Go back to the [Google Cloud Console: API & Services](https://console.developers.google.com/apis/dashboard)
1. Click on **Enable APIs and Services**
@ -162,15 +181,21 @@ subscriber_id:
Once your developer account is set up and you have a valid `nest` entry in `configuration.yaml`, you need to connect devices with the following steps:
1. From the Home Assistant front-end, navigate to **Configuration** then *Integrations**. Under **Set up a new integration** locate 'Nest'.
1. From the Home Assistant front-end, navigate to **Configuration** then **Integrations**. Click **Add Integration** then locate 'Nest'.
1. You should get redirected to Google to choose an account. This should be the same developer account you configured above.
1. The *Google Nest permissions* screen will allow you to choose which devices to configure. You can leave out any device that you do not wish to use with Home Assistant.
1. The *Google Nest permissions* screen will allow you to choose which devices to configure. You likely want to enable
everything, however, you can leave out any feature you do not wish to use with Home Assistant.
![Screenshot of Nest permissions authorization](/images/integrations/nest/oauth_approve.png)
1. You will get redirected back to another account selection page. See [Troubleshooting](#troubleshooting) below if you get a `redirect_uri_mismatch` error.
1. You may see a warning screen that says *Google hasn't verified this app* since you just set up an un-verified developer workflow. Click *Advanced* then *Go to your domain (unsafe)* to proceed.
![Screenshot OAuth warning](/images/integrations/nest/oauth_app_verification.png)
1. Then you will be asked to grant access to additional permissions. Click *Allow*.
![Screenshot 1 of granting permissions](/images/integrations/nest/oauth_grant1.png)
![Screenshot 2 of granting permissions](/images/integrations/nest/oauth_grant2.png)
@ -186,15 +211,28 @@ Once your developer account is set up and you have a valid `nest` entry in `conf
- For general trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting).
- *Error 400: Invalid Request* This error typically happens when there is a mismatch between how you are accessing Home Assistant and the Authorized Redirect URI you entered for OAuth. If you used a publicly facing URL, make sure that you are accessing Home Assistant with the same URL when you set up the integration. You will definitely hit this error if you are accessing Home Assistant by local IP during the initial setup.
- *Error 400: redirect_uri_mismatch* means that your OAuth Client ID is not configured to match your Home Assistant URL.
- *Error 500: redirect_uri_mismatch* means that you need to visit the [GCP credentials](https://console.developers.google.com/apis/credentials) page and modify your OAuth2.0 Client ID to add the correct Home Assistant callback URL. The error message tells you the exact URL that needs to be added, including any ports or paths like `/auth/external/callback` path. See [Redirect URI mismatch](https://developers.google.com/nest/device-access/authorize#redirect_uri_mismatch) for more details.
- To resolve this, copy and paste the redirect URI in the error message (`https://<your_home_assistant_url>:<port>/auth/external/callback`).
![Screenshot of success](/images/integrations/nest/redirect_uri_mismatch.png)
- Go back to the [API Console](https://console.developers.google.com/apis/credentials) and select your *OAuth 2.0 Client ID*.
- Add the URL to the list of *Authorized redirect URIs* and click **Save** and start the flow over.
![Screenshot of success](/images/integrations/nest/redirect_uris_fix.png)
- When configuring the OAuth Client ID redirect URI, you may see an error such as *must end with a public top-level
domain (such as .com or .org)* or *must use a valid domain that is a valid top private domain*. This means that you
may need to change the URL you use to access Home Assistant in order to access your devices.
- A convienent solution is to use [Nabu Casa](https://www.nabucasa.com/)
- There are subtle rules for what types of URLs are allowed, namely that they must use a publicly known hostname, though your Home Assistant ports do not need to be exposed to the internet.
- You can use any publicly known hostname you own
- As a hack, you can use hosts tricks to temporarily assign a public hostname to your Home Assistant IP address.
- *Error 403: access_denied* means that you need to visit the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) and add your Google Account as a *Test User*.
- *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default.
- *No devices or entities are created* if the SDM API is not returning any devices for the authorized account. Double-check that GCP is configured correctly to [Enable the API](https://developers.google.com/nest/device-access/get-started#set_up_google_cloud_platform) and authorize at least one device in the OAuth setup flow. If you have trouble here, then you may want to walk through the Google instructions and issue commands directly against the API until you successfully get back the devices.

View File

@ -13,10 +13,6 @@ ha_domain: rpi_gpio
The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding pages.
## Prerequisites
When you are running the Home Assistant Operating System, the 32-bits version of the OS is required in order to use this integration.
## Binary Sensor
The `rpi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/).

View File

@ -48,6 +48,7 @@ Happy holidays, stay safe and for the last time this year: Enjoy the release!
- [New Platforms](#new-platforms)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Release 2020.12.1 - December 16](#release-2020121---december-16)
- [Release 2020.12.2 - December 30](#release-2020122---december-30)
- [If you need help...](#if-you-need-help)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@ -300,6 +301,67 @@ The following integrations are now available via the Home Assistant UI:
[tasmota docs]: /integrations/tasmota/
[zha docs]: /integrations/zha/
## Release 2020.12.2 - December 30
- Bump HAP-python to 3.1.0 ([@bdraco] - [#44176]) ([homekit docs])
- Update denonavr to 0.9.8 ([@scarface-4711] - [#44194]) ([denonavr docs])
- Bump pyroon to 0.0.28 ([@pavoni] - [#44302]) ([roon docs])
- Fix velux homekit covers not enumerated correctly ([@Jc2k] - [#44318]) ([homekit_controller docs])
- Bump pyMyQ to version 2.0.12 ([@ehendrix23] - [#44328]) ([myq docs])
- Update pytradfri to 7.0.5 ([@rubenbe] - [#44347])
- Bump pyiqvia to 0.3.1 ([@bachya] - [#44358]) ([iqvia docs])
- Fix bug in unloading RainMachine options listener ([@bachya] - [#44359]) ([rainmachine docs])
- Fix Volumio pause with missing track type ([@OnFreund] - [#44447]) ([volumio docs])
- Fix falsey comparisons in NWS weather ([@MatthewFlamm] - [#44486]) ([nws docs])
- Bump pydeconz to version 77 ([@Kane610] - [#44514]) ([deconz docs])
- Fix Tasmota device triggers ([@emontnemery] - [#44574]) ([tasmota docs])
- Fix template triggers from time events ([@bdraco] - [#44603]) ([template docs])
- Bump env_canada to 0.2.5 ([@michaeldavie] - [#44631]) ([environment_canada docs])
- Bump pycarwings2 to 2.10 ([@filcole] - [#44634]) ([nissan_leaf docs])
[#44176]: https://github.com/home-assistant/core/pull/44176
[#44194]: https://github.com/home-assistant/core/pull/44194
[#44302]: https://github.com/home-assistant/core/pull/44302
[#44318]: https://github.com/home-assistant/core/pull/44318
[#44328]: https://github.com/home-assistant/core/pull/44328
[#44347]: https://github.com/home-assistant/core/pull/44347
[#44358]: https://github.com/home-assistant/core/pull/44358
[#44359]: https://github.com/home-assistant/core/pull/44359
[#44447]: https://github.com/home-assistant/core/pull/44447
[#44486]: https://github.com/home-assistant/core/pull/44486
[#44514]: https://github.com/home-assistant/core/pull/44514
[#44574]: https://github.com/home-assistant/core/pull/44574
[#44603]: https://github.com/home-assistant/core/pull/44603
[#44631]: https://github.com/home-assistant/core/pull/44631
[#44634]: https://github.com/home-assistant/core/pull/44634
[@Jc2k]: https://github.com/Jc2k
[@Kane610]: https://github.com/Kane610
[@MatthewFlamm]: https://github.com/MatthewFlamm
[@OnFreund]: https://github.com/OnFreund
[@bachya]: https://github.com/bachya
[@bdraco]: https://github.com/bdraco
[@ehendrix23]: https://github.com/ehendrix23
[@emontnemery]: https://github.com/emontnemery
[@filcole]: https://github.com/filcole
[@michaeldavie]: https://github.com/michaeldavie
[@pavoni]: https://github.com/pavoni
[@rubenbe]: https://github.com/rubenbe
[@scarface-4711]: https://github.com/scarface-4711
[deconz docs]: /integrations/deconz/
[denonavr docs]: /integrations/denonavr/
[environment_canada docs]: /integrations/environment_canada/
[homekit docs]: /integrations/homekit/
[homekit_controller docs]: /integrations/homekit_controller/
[iqvia docs]: /integrations/iqvia/
[myq docs]: /integrations/myq/
[nissan_leaf docs]: /integrations/nissan_leaf/
[nws docs]: /integrations/nws/
[rainmachine docs]: /integrations/rainmachine/
[roon docs]: /integrations/roon/
[tasmota docs]: /integrations/tasmota/
[template docs]: /integrations/template/
[volumio docs]: /integrations/volumio/
## If you need help...
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB