🏡 Open source home automation that puts local control and privacy first.
Find a file
Allen Porter cc543b200d
Update nest config flow to dramatically simplify end user setup with automated pub/sub subscription creation (#59260)
* Configure nest pubsub subscriber automatically

Update the config flow to configure the nest pubsub subscriber automatically.
After completing the authentication step, the user is now asked for the google
cloud console ID, which is needed to create a subscription.

Home Assistant manages the lifecycle of a subscription only when it is created
by the ConfigFlow. Otherwise (if specified in configuration.yaml) it treats
it similarly as before.

These are the considerations or failure modes taken into account:
- Subscription is created with reasonable default values as previously recommended (e.g. retion only keeps 5-15 minutes of backlog messages)
- Subscriptions are created with a naming scheme that makes it clear they came from home assistant, and with a random
  string
- Subscriptions are cleaned up when the ConfigEntry is removed. If removal fails, a subscription that is orphaned will
  be deleted after 30 days
- If the subscription gets into a bad state or deleted, the user can go through the re-auth flow to re-create it.
- Users can still specifcy a CONF_SUBSCRIBER_ID in the configuration.yaml, and
skip automatic subscriber creation

* Remove unnecessary nest config flow diffs and merge in upstream changes

* Incorporate review feedback into nest subscription config flow

* Update text wording in nest config flow
2021-11-29 22:41:29 -08:00
.devcontainer VSCode switch to terminal.integrated.profiles (#54301) 2021-08-21 21:46:24 +02:00
.github Fix docker prefix for meta image (#60495) 2021-11-28 10:25:52 -08:00
.vscode Add slow tests list to VScode task code coverage (#60183) 2021-11-24 01:13:44 +01:00
docs Drop unused ruamel (#55672) 2021-09-03 22:17:10 -07:00
homeassistant Update nest config flow to dramatically simplify end user setup with automated pub/sub subscription creation (#59260) 2021-11-29 22:41:29 -08:00
machine Update base image 2021.11.0 (#60227) 2021-11-24 09:48:34 +01:00
pylint/plugins Pylint plugin to check that relative imports are used (#50937) 2021-05-22 09:15:30 +01:00
rootfs Pass exit code to s6-init (#59545) 2021-11-14 16:56:09 +01:00
script Remove optional validation when creating conditions (#60481) 2021-11-28 14:54:07 +01:00
tests Update nest config flow to dramatically simplify end user setup with automated pub/sub subscription creation (#59260) 2021-11-29 22:41:29 -08:00
.core_files.yaml Run partial test suite in CI if core untouched (#60230) 2021-11-23 14:57:45 -08:00
.coveragerc Add tolo fan platform (#60502) 2021-11-29 17:15:38 +01:00
.dockerignore Integrate dockerbuild (#33168) 2020-03-23 00:39:37 +01:00
.gitattributes highlight Dockerfile.dev as Dockerfile in github ui (#36933) 2020-06-22 14:45:57 +02:00
.gitignore Ignore config directory symlink in development (#56639) 2021-09-25 12:53:41 +02:00
.hadolint.yaml Add hadolint to CI (#34758) 2020-04-27 12:09:31 +02:00
.ignore Include .ignore file for search utilities (#5290) 2017-01-16 22:52:53 -08:00
.pre-commit-config.yaml Upgrade black to 21.11b1 (#60532) 2021-11-29 11:51:58 +01:00
.prettierignore Rename translations dir for integrations (#34494) 2020-04-21 16:11:05 -07:00
.readthedocs.yml Drop remaining Python < 3.8 support (#44743) 2021-01-04 11:47:29 +01:00
.strict-typing Add TOLO Sauna (tolo) integration (#55619) 2021-11-24 20:45:13 +01:00
.yamllint Add yamllint (in pre-commit and CI) (#33676) 2020-04-05 10:33:45 +02:00
build.yaml Update base image 2021.11.0 (#60227) 2021-11-24 09:48:34 +01:00
CLA.md Update LICENSE.md and CLA.md to reflect the new Apache 2.0 license 2017-01-28 12:12:34 -08:00
CODE_OF_CONDUCT.md Update Code of Conduct to 2.0 (#36142) 2020-05-25 19:40:40 -04:00
codecov.yml CI: Only carry forward full-suite test coverage (#60344) 2021-11-25 17:35:15 +01:00
CODEOWNERS Add Tesla Wall Connector integration (#60000) 2021-11-28 07:41:01 -10:00
CONTRIBUTING.md Use core GitHub URL in contributing guidelines (#41083) 2020-10-02 20:42:33 +02:00
Dockerfile Downgrade sqlite-libs on docker image (#55591) 2021-09-02 18:09:30 +02:00
Dockerfile.dev Add bluez to the devcontainer (#55469) 2021-09-04 12:16:06 +02:00
LICENSE.md Update license to official GitHub template (#16470) 2018-09-07 10:11:51 +02:00
MANIFEST.in Consolidate frontend (#9915) 2017-10-24 19:36:27 -07:00
mypy.ini Add TOLO Sauna (tolo) integration (#55619) 2021-11-24 20:45:13 +01:00
pyproject.toml Upgrade pylint to 2.12.1 (#60375) 2021-11-26 00:13:27 +01:00
README.rst Update README.rst to avoid redirects (#44519) 2020-12-26 10:05:41 +01:00
requirements.txt Bump awesomeversion from 21.10.1 to 21.11.0 (#60401) 2021-11-26 12:06:50 +01:00
requirements_all.txt Bump frontend to 20211129.0 (#60564) 2021-11-29 18:35:41 -08:00
requirements_docs.txt Refactor API documentation (#33217) 2020-03-25 13:21:04 -07:00
requirements_test.txt Upgrade coverage to 6.2.0 (#60530) 2021-11-29 11:52:13 +01:00
requirements_test_all.txt Bump frontend to 20211129.0 (#60564) 2021-11-29 18:35:41 -08:00
requirements_test_pre_commit.txt Upgrade black to 21.11b1 (#60532) 2021-11-29 11:51:58 +01:00
setup.cfg Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
setup.py Bump awesomeversion from 21.10.1 to 21.11.0 (#60401) 2021-11-26 12:06:50 +01:00
tox.ini Remove -bb option from tox and ci (#59846) 2021-11-18 13:23:25 +08:00

Home Assistant |Chat Status|
=================================================================================

Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.

Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__.

|screenshot-states|

Featured integrations
---------------------

|screenshot-components|

The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/architecture_index/>`__ and the `section on creating your own
components <https://developers.home-assistant.io/docs/creating_component_index/>`__.

If you run into issues while using Home Assistant or during development
of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information.

.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg
   :target: https://discord.gg/c5DvZ4e
.. |screenshot-states| image:: https://raw.github.com/home-assistant/home-assistant/master/docs/screenshots.png
   :target: https://home-assistant.io/demo/
.. |screenshot-components| image:: https://raw.github.com/home-assistant/home-assistant/dev/docs/screenshot-components.png
   :target: https://home-assistant.io/integrations/