Commit Graph

569 Commits (680f3c27a57ce7783114bd9cb1573ed8f53ed545)

Author SHA1 Message Date
GitHub Action a3fd5acf3f [ci skip] Translation update 2022-07-13 00:27:34 +00:00
epenet 16900dcef1
Make Store a generic class (#74617) 2022-07-09 22:32:57 +02:00
Allen Porter 1c4fee65c0
Migrate nest to new entity naming style (#74724) 2022-07-09 19:21:53 +02:00
J. Nick Koston cd03c49fc2
Wait for config entry platform forwards (#73806) 2022-07-09 17:27:42 +02:00
GitHub Action 405d323709 [ci skip] Translation update 2022-07-08 00:27:47 +00:00
GitHub Action 647a023776 [ci skip] Translation update 2022-07-02 00:25:27 +00:00
Allen Porter 0cf922cc4e
Allow legacy nest integration with no configuration.yaml (#74222) 2022-06-30 08:54:51 +02:00
GitHub Action f5fe210eca [ci skip] Translation update 2022-06-29 00:23:03 +00:00
epenet ef5fccad9e
Use standard argument name in async_step_reauth (#74139) 2022-06-28 23:23:32 +02:00
epenet 35df012b6e
Fix reauth step in nest (#74090) 2022-06-28 10:06:05 +02:00
GitHub Action 11ec8b9186 [ci skip] Translation update 2022-06-27 00:25:49 +00:00
GitHub Action ba64d9db64 [ci skip] Translation update 2022-06-26 00:28:21 +00:00
GitHub Action 0166816200 [ci skip] Translation update 2022-06-25 00:24:25 +00:00
GitHub Action c607994fbe [ci skip] Translation update 2022-06-24 00:23:27 +00:00
GitHub Action 33c263d09b [ci skip] Translation update 2022-06-23 00:20:13 +00:00
GitHub Action 78dd522ccd [ci skip] Translation update 2022-06-22 00:26:36 +00:00
Allen Porter cf9cab900e
Allow multiple configuration entries for nest integration (#73720)
* Add multiple config entry support for Nest

* Set a config entry unique id based on nest project id

* Add missing translations and remove untested committed

* Remove unnecessary translation

* Remove dead code

* Remove old handling to avoid duplicate error logs
2022-06-21 16:36:13 +02:00
GitHub Action 6f8e0419f0 [ci skip] Translation update 2022-06-20 00:22:34 +00:00
GitHub Action dcf6c2d3a4 [ci skip] Translation update 2022-06-19 00:23:14 +00:00
GitHub Action 027f54ca15 [ci skip] Translation update 2022-06-18 00:24:33 +00:00
GitHub Action d43178db06 [ci skip] Translation update 2022-06-17 00:20:34 +00:00
uvjustin 01a4a83bab
Improve stream playback on high latency cameras (#72547)
* Disable LL-HLS for HLS sources
* Add extra wait for Nest cameras
2022-06-17 01:48:52 +10:00
GitHub Action b4359c7721 [ci skip] Translation update 2022-06-16 00:22:45 +00:00
Allen Porter b014d558ff
Add application credentials platform for nest and deprecate yaml for SDM API (#73050)
* Update the nest integration to be useable fully from the config flow

* Support discovery in nest config flow

* Remove configuration entries

* Remove unused import

* Remove dead code

* Update homeassistant/components/nest/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove commented out code

* Use config flow for app auth reauthentication path

* Improves for re-auth for upgrading existing project and creds

* More dead code removal

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove outdated code

* Update homeassistant/components/nest/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-15 07:15:53 -07:00
Allen Porter 0b7a030bd4
Fix fan support in nest, removing FAN_ONLY which isn't supported (#73422)
* Fix fan support in nest, removing FAN_ONLY which isn't supported

* Revert change to make supported features dynamic
2022-06-14 06:19:22 -07:00
GitHub Action 4005af99aa [ci skip] Translation update 2022-06-14 00:26:59 +00:00
uvjustin 73f2bca377
Make Stream.stop() async (#73107)
* Make Stream.start() async
* Stop streams concurrently on shutdown
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-08 00:10:53 +08:00
Allen Porter d31e43b980
Bump google-nest-sdm to `2.0.0` and cleanup nest auth implementation in config flow (#72770)
Cleanup nest auth implementaton in config flow
2022-05-31 17:53:36 +02:00
Allen Porter c181af92a2
Throw nest climate API errors as HomeAssistantErrors (#72474) 2022-05-25 13:00:48 -07:00
epenet 421167c548
Drop GetAutomationsResult and GetAutomationCapabilitiesResult aliases (#72328) 2022-05-23 12:18:17 +02:00
GitHub Action 7df7e33d17 [ci skip] Translation update 2022-05-23 00:25:42 +00:00
GitHub Action ceb8bb4745 [ci skip] Translation update 2022-05-21 00:22:49 +00:00
Allen Porter 775be354a6
Cleanup nest async methods that do not need to actually await (#72170)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-05-20 07:47:18 -07:00
epenet 85ef0e3bd6
Adjust device_automation type hints in nest (#72197) 2022-05-20 08:27:24 +02:00
epenet f166a47df3
Adjust device_automation type hints in nest (#72135) 2022-05-19 06:50:32 -07:00
epenet 784fbf3291
Cleanup nest async method which is not awaiting (#72096) 2022-05-18 20:50:15 +03:00
Franck Nijhof c3d19f3827
Clean up accessing device_registry helpers via hass (#72031) 2022-05-17 12:22:15 -07:00
Franck Nijhof 69cc6ab5f1
Clean up accessing entity_registry.async_get_registry helper via hass (#72005) 2022-05-17 16:40:45 +02:00
GitHub Action 37f81b261d [ci skip] Translation update 2022-05-16 00:24:28 +00:00
GitHub Action 10624e93c8 [ci skip] Translation update 2022-05-15 00:30:16 +00:00
GitHub Action 3de7ffde54 [ci skip] Translation update 2022-05-10 00:23:19 +00:00
GitHub Action 348016dbbf [ci skip] Translation update 2022-04-29 00:22:21 +00:00
Allen Porter 2270b7df8d
Set nest climate min/max temp range (#70960) 2022-04-27 21:16:50 -07:00
Allen Porter 5e49457c65
Add camera/stream platform diagnostics, exercised with nest (#69780) 2022-04-26 22:33:04 -07:00
epenet 76dd82f8e5
Use climate enums in nest (#70723) 2022-04-26 09:19:02 +02:00
Allen Porter bab9f4ba76
Fix nest error handling and bug in tests for media fetches (#70596) 2022-04-24 10:17:59 -10:00
Franck Nijhof c93c7e8eff
Replace Camera STREAM_ constants with StreamType enum (#69871) 2022-04-11 16:27:27 -07:00
epenet 04dab04ee7
Use EntityFeature enums in nest (#69590) 2022-04-07 07:52:18 -07:00
Allen Porter c07100e519
Move Local OAuth http endpoint registration to auth component (#69507) 2022-04-06 22:34:31 -07:00
epenet bfd84ba89c
Prettify yaml (services.yaml) (#68878) 2022-03-30 09:48:06 +02:00
Allen Porter 66a183cfe3
Add nest device level diagnostics (#68024) 2022-03-29 16:56:03 -10:00
Allen Porter 4f595962b7
Pause deprecation of legacy works with Nest API (#68715) 2022-03-27 11:50:13 +02:00
GitHub Action c64b4d997b [ci skip] Translation update 2022-03-13 00:18:58 +00:00
GitHub Action 66d757115c [ci skip] Translation update 2022-03-11 00:21:48 +00:00
Allen Porter 69c58a9ce6
Bump google-nest-sdm to 1.8.0 (#67723) 2022-03-06 15:35:16 +02:00
Franck Nijhof 5965b015dd
Adjust data entry flow to have an option data_schema (#67637) 2022-03-04 16:42:02 +01:00
Allen Porter 2678d8120a
Update nest media source to make device play most recent event (#67557) 2022-03-03 08:16:03 -08:00
Paulus Schoutsen 2a8dc38d2d
Move media_source to after_deps (#67195) 2022-02-24 14:54:46 -08:00
GitHub Action 102ae9f0e3 [ci skip] Translation update 2022-02-22 00:17:23 +00:00
Allen Porter c6114f2631
Simplify nest placeholder image loading and share across all cameras (#66580) 2022-02-21 19:01:04 +01:00
Allen Porter f3add292d5
Update nest climate set_temperature to allow hvac_mode (#66909) 2022-02-19 20:57:29 -08:00
GitHub Action c4cc6ca0ba [ci skip] Translation update 2022-02-20 00:20:09 +00:00
Marc Mueller 6e49b0e122
Use assignment expressions [K-Z] (#66881) 2022-02-19 17:19:46 +01:00
GitHub Action fd24d9b1ad [ci skip] Translation update 2022-02-19 00:19:24 +00:00
Marc Mueller 67e94f2b4b
Add type ignore error codes [N-Z] (#66779) 2022-02-18 09:41:12 +01:00
GitHub Action 208671418e [ci skip] Translation update 2022-02-16 00:14:09 +00:00
Allen Porter 734fdf7bff
Override and disable nest stream `unavailable` behavior (#66571) 2022-02-15 13:43:31 -08:00
Allen Porter 572fa7d055
Update nest camera to pull still images from stream component (#66427)
* Update nest to use stream thumbnail when it exists

* Update nest camera to always pull still image from stream

Update nest camera to always pull the still iamge from the stream component,
removing the use of the separate ffmpeg call, and removing use of the nest event
image. Image for events can now be pulled using the media source APIs, rather
than relying on the camera snapshot.

* Simplify a comment

* Remove more unused variables

* Simplify comments, image, and test code

* Remove assertions for placeholder images
2022-02-14 21:45:09 -08:00
Allen Porter b2f5ab2008
Publish Nest Motion/Person events with optional user defined zone information (#66187)
Publish Nest events with zone information if present. User defined zones are configured
in the Google Home app, and are published with Motion/Person event.
2022-02-11 21:22:53 -08:00
Allen Porter 122ada718a
Bump google-nest-sdm to 1.7.1 (minor patch) (#66304) 2022-02-11 11:13:00 +02:00
GitHub Action 7d70b0a16b [ci skip] Translation update 2022-02-10 00:15:56 +00:00
Allen Porter 9446b39ae0
Bump google-nest-sdm to 1.7.0 (#66145) 2022-02-09 09:12:49 +01:00
Allen Porter 6f46d98308
Bump python-nest to 4.2.0 for python 3.10 fixes (#66090) 2022-02-08 08:40:06 -08:00
Allen Porter ddd198de37
Fix legacy nest diagnostics to return empty rather than fail (#65824)
Fix legacy nest diangostics to return gracefully, rather than a TypError
by checking explicitiy for SDM in the config entry. Update diagnostics
to use the common nest test fixture, and extend with support for the
legacy nest config. Use the sdm test fixture in the existing legacy
tests so they all share the same config files.
2022-02-06 14:14:25 -08:00
GitHub Action 2da4d280b2 [ci skip] Translation update 2022-02-06 00:17:31 +00:00
GitHub Action b2f0882e67 [ci skip] Translation update 2022-02-04 00:13:58 +00:00
epenet 8325188ed2
Remove nest legacy from mypy ignored modules (#65421)
* Remove nest legacy from mypy ignored modules

* Set type-ignore inside the files

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 06:57:44 +01:00
GitHub Action 0be8060b69 [ci skip] Translation update 2022-02-01 00:18:49 +00:00
GitHub Action ca7d4234e1 [ci skip] Translation update 2022-01-31 00:14:28 +00:00
GitHub Action 77ef86faee [ci skip] Translation update 2022-01-30 00:14:21 +00:00
J. Nick Koston 5b755b74fb
Add loggers to integration manifest.json (#65083) 2022-01-28 13:37:53 -08:00
Allen Porter 956ceb6c68
Update nest diagnostics (#65141) 2022-01-28 21:50:38 +01:00
Allen Porter 444a681729
Bump google-nest-sdm to 1.6.0 (diagnostics) (#65135) 2022-01-28 18:09:08 +02:00
GitHub Action e591393f01 [ci skip] Translation update 2022-01-28 00:14:53 +00:00
Allen Porter a5fb60fd3a
Update nest media player device thumbnails (#64738) 2022-01-22 23:46:00 -08:00
GitHub Action 47d3fb1dec [ci skip] Translation update 2022-01-23 00:13:53 +00:00
Allen Porter e56e25180b
Strip whitespace in nest cloud project id (#64503) 2022-01-20 09:13:49 +01:00
Mick Vleeshouwer 1968257b23
Fix attr spelling error in Nest SDM SensorBase (#64490) 2022-01-19 17:49:52 -08:00
Allen Porter f1435b1385
Add diagnostic information for nest (#64405)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-01-19 09:30:48 +01:00
Allen Porter 737ac7cb7c
Cleanup nest auth registration, moving out of __init__.py (#63350) 2022-01-17 22:17:23 -08:00
Allen Porter cef0a18e23
Bump google-nest-sdm 1.5.1 (#64334) 2022-01-17 22:16:13 -08:00
Allen Porter b92166e04c
Defer to camera implementation for non-WebRTC cameras (#63182)
Improve nest support for default RTSP to WebRTCdefering to the camera
implementation for cameras that do not natively implement WebRTC so
they can use the registry added in #62962
2022-01-16 22:10:19 -08:00
Allen Porter 849abaca8b
Bump google-nest-sdm to 1.5.0 and add nest mp4 clip transcoding to animated gif (#64155) 2022-01-15 12:31:02 -08:00
Allen Porter 4bce92dd2d
Bump google-nest-sdm to 1.4.0 (#64098) 2022-01-14 10:35:13 +02:00
Allen Porter 64c5f69c3d
Add thumbnails to nest media player (#62532) 2022-01-13 22:31:33 -08:00
Allen Porter 789c0a24dd
Improve nest media player clip/image and event handling for multiple events in a short time range (#63149) 2022-01-11 20:54:49 -08:00
GitHub Action a8fee4c2f6 [ci skip] Translation update 2022-01-09 00:15:18 +00:00
GitHub Action 0827608302 [ci skip] Translation update 2022-01-08 00:14:39 +00:00
Allen Porter 4203e1b064
Delete nest event image fetching and use same APIs as media player (#62789) 2022-01-07 16:37:54 +01:00
Allen Porter d6c8f3965a
Improve nest camera failure handling on removal (#63207) 2022-01-05 16:17:51 +01:00
Allen Porter 224f960050
Set the nest configuration title to a user friendly name (#62886)
* Set the nest configuration title to a user friendly name

Set the config entry title name to be the name of the Google Home or
Nest Home that was authorized. In case more than one home was authorized,
they are all listed since they are all accessed over a single shared
home.

* Fix pylint errors

* Resolve pylint errors
2022-01-04 19:23:20 -08:00
Allen Porter cb76a30233
Add a lock on nest stream URL creation to avoid multiple in flight at once (#63212)
Add a lock to avoid multiple calls to create stream URLs when requests race in parallel
to open streams. This is to avoid # of API calls on the nest server which can be
rate limited, and to avoid any possibility of having too many streams per camera outstanding at once.
2022-01-04 12:27:56 -08:00
Allen Porter 0bcad5579b
Set nest climate hvac_action to report idle when hvac mode is not off (#62811) 2022-01-04 17:28:46 +01:00
Allen Porter fdb4b1d7f0
Cleanup nest config flow (#63351) 2022-01-04 16:33:17 +01:00
Allen Porter 9e3f7d2961
Simplify nest reauth config flow (#63058) 2022-01-02 21:43:50 +01:00
Allen Porter 584e660548
Bump google-nest-sdm to 1.3.0 (#63224) 2022-01-02 18:55:37 +01:00
Allen Porter 15baea4ba3
Use more narrow exception catching in `nest` (#63225) 2022-01-02 18:54:56 +01:00
Allen Porter ebc8e19788
Revert nest reloading due to lock up (#63206) 2022-01-02 17:08:38 +01:00
Allen Porter b17120a511
Bump google-nest-sdm to 1.2.1 (#63151) 2021-12-31 10:11:00 -10:00
Allen Porter 4c46cf79c4
Bump google-nest-sdm to 1.2.0 (#63121) 2021-12-31 10:43:11 +01:00
GitHub Action f205708e56 [ci skip] Translation update 2021-12-31 00:14:15 +00:00
Allen Porter 26972942ca
Deprecate the Legacy Works with Nest API (#63027) 2021-12-29 23:22:31 +01:00
Allen Porter 2df0adfbc7
Reload nest integration when new devices are added (#62976) 2021-12-29 12:20:55 +01:00
Allen Porter 67663dd31a
Bump google-nest-sdm to 1.1.0 (#62977) 2021-12-28 22:19:31 -08:00
Allen Porter 17fbfe2eed
Set a suggested_area on nest devices based on the Google Home room name (#62871) 2021-12-27 11:39:57 -08:00
Allen Porter c54439ef42
Bump google-nest-sdm to 1.0.0 (#62783)
* Bump google-nest-sdm to 1.0.0

See release log in https://github.com/allenporter/python-google-nest-sdm/compare/0.4.9...1.0.0

* Remove typing ignore now that typing is fixed
2021-12-25 21:47:45 -08:00
Allen Porter bf108b9d0d
Update nest mac addresses based on newer generation hardware (#62525)
Add nest mac addresses for cameras and doorbell devices added
in the last few years.

This is in perparation for improving nest discovery, which
currently does not work great because it requires configuration.yaml
2021-12-21 22:38:25 -06:00
GitHub Action babd753610 [ci skip] Translation update 2021-12-21 00:15:06 +00:00
Allen Porter a63fa53275
Persist nest media events to disk backed storage (#61641)
* Persist nest media events to disk backed storage

Persist nest events in the media player to disk, targeting about ~500mb
per camera device as a cap. Events are stored in config/nest/event_media/.

Add a NestEventMediaStore is used for persistence. It has three main jobs:
- Read/write the key/value data that holds event data (event type, time, device, etc)
- Read/write media contents to disk
- Pick the filename for the media event based on device and event deatils

The nest event media manager library handles cache management and eviction, and by
default uses an in memory cache. Home Assistant nest integration now provides the
disk backed implementation, which is invoked by the nest library.

The store reads the event metadata key/value dict on startup, and then writes it
back with a short delay of 5 seconds to avoid unnecessary writes.

Future work planned includes:
- Possibly a small memory buffer for media objects themselves. This could make sense
  when adding thumbnails to the media player grid to avoid unnecessary fetches
- Transcoding mp4 clips to animated image previews

* Address style errors

* Cleanup from CI test/pylint/etc.

* Put media for each device into its own directory

* Update comments for media store

* Decrease # of events to lower disk requirements

Target more like 1k events, to reduce disk needs.

* Address PR feedback

* Update homeassistant/components/nest/media_source.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Ignore incorrect mypy in nest library

* Fix pylint errors

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-12-18 23:53:40 -08:00
Allen Porter beb824c452
Bump google-nest-sdm to 0.4.9 (#62160) 2021-12-17 09:07:51 +01:00
epenet 25d33a2126
Use new enums in nest (#61942) 2021-12-15 13:00:10 -08:00
Allen Porter bff677e34e
Bump google-nest-sdm to 0.4.8 (#61851) 2021-12-15 13:12:38 +01:00
GitHub Action 77843be01f [ci skip] Translation update 2021-12-15 00:13:42 +00:00
Allen Porter efbec55818
Suppress errors for legacy nest api when using media source (#61629) 2021-12-13 17:41:45 +01:00
Allen Porter cd001d0243
Only publish nest camera event messages once per thread and bump nest version (#61587) 2021-12-12 14:12:05 -08:00
Allen Porter c3e72bec0a
Update logic for nest media source `can_play` for events (#61537) 2021-12-12 14:10:20 -08:00
Allen Porter 7711f9a391
Use relative import within component for nest media source (#61571) 2021-12-12 07:14:44 -08:00
GitHub Action f75b325ab2 [ci skip] Translation update 2021-12-12 00:14:30 +00:00
Allen Porter 9ffa3b21f6
Display nest media events using local time (#61143) 2021-12-08 21:49:40 -08:00
GitHub Action d69c6e3ab3 [ci skip] Translation update 2021-12-08 00:13:50 +00:00
Allen Porter 6d867e0415
Bump nest to 0.4.5 to fix media player event expiration (#61174) 2021-12-07 11:30:23 -08:00
Allen Porter bbe4a67a98
Coalesce nest media source preview clips by session and bump google-nest-sdm (#61081) 2021-12-05 23:59:24 -08:00
Marc Mueller e0cb33a0a1
Use platform enum (4) [M-O] (#60940) 2021-12-05 17:06:35 -10:00
GitHub Action ecdb18eb0a [ci skip] Translation update 2021-12-06 00:13:37 +00:00
Allen Porter 5bd1139867
Fix regression in nest event media player with multiple devices (#61064) 2021-12-05 13:02:37 -08:00
Allen Porter 5fdcbbe0e1
Fetch media for events for rendering in the nest media player (#61056) 2021-12-05 09:45:40 -08:00
Allen Porter 1a842d65ce
Remove unnecessary explicit use of OrderedDict in nest media source (#61054)
Address follow up PR comments from #60073
2021-12-05 18:11:44 +01:00
Allen Porter e34d982bdb
Bump nest to version 0.4.2 (#61036) 2021-12-05 10:50:47 +01:00
Allen Porter 08003c5287
Improve nest media source event timestamp display (#61027)
Drop subsecond text from the nest media source event timestamp display, using a common date/time
template string.
2021-12-05 00:39:18 -08:00
GitHub Action fa5f524fdb [ci skip] Translation update 2021-12-05 00:14:27 +00:00
Marc Mueller 156435d1c2
Update integrations to use `async_setup_platforms` (#60956)
* Replace forward_entry_setup with setup_platforms

* Apply suggestions from code review

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
2021-12-04 08:57:24 +01:00
GitHub Action 68ca0a05c8 [ci skip] Translation update 2021-12-04 00:13:16 +00:00
Allen Porter ba99dc3af9
Add Nest Battery Cam event clip support with a Nest MediaSource (#60073) 2021-12-03 10:53:05 -08:00
GitHub Action 42fff989d1 [ci skip] Translation update 2021-12-03 00:13:00 +00:00
GitHub Action de792e3af2 [ci skip] Translation update 2021-12-02 00:13:02 +00:00
LJU 19361216de
Fix key reference placeholder (#60681)
Fix typo for placeholder invalid acces token
2021-11-30 23:38:38 -08:00
GitHub Action c9589f763c [ci skip] Translation update 2021-12-01 00:17:12 +00:00
Allen Porter a84b12abe7
Revert "Add an entity service for saving nest event related snapshots" (#60632) 2021-11-30 16:16:00 +01:00
Allen Porter c4e5242b0c
Add an entity service for saving nest event related snapshots (#58369)
* Add an entity service for saving nest event related snapshots

Add an entity service `nest.snapshot_event` for recording camera event
related media to disk. This is based on `camera.snapshot` but takes in
a parameter for a Nest API event_id.

PR #58299 adds `nest_event_id` to events published by nest so that they can
be hooked up to this service for capturing events.

Future related work includes:
- Height & Width parameters for the rendered image
- Support video clips for new battery cameras
- An API for proxying media related to events, separate from the camera image thumbnail
- A Nest MediaSource for browsing media related to events

* Revert debugging information

* Add test coverage for OSError failure case

* Add service description for nest snapshot service

* Reduce unnecessary diffs.

* Sort nest camera imports

* Remove unnecessary if block in snapshot
2021-11-29 23:04:29 -08:00
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