Commit Graph

373 Commits (b78e22e01240a843b9df638794111ffd21730316)

Author SHA1 Message Date
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
GitHub Action 78b47019f9 [ci skip] Translation update 2021-11-26 00:12:49 +00:00
Franck Nijhof 6b9c2d8295
Add shorthand attribute support to Camera platform (#59837) 2021-11-25 16:03:53 +01:00
GitHub Action d3c020325b [ci skip] Translation update 2021-11-25 00:13:33 +00:00
GitHub Action 9e606abb0c [ci skip] Translation update 2021-11-23 00:13:54 +00:00
Allen Porter 7e0ddd1d8c
Bump google-nest-sdm to 0.4.0 (#60068)
Full changelog: https://github.com/allenporter/python-google-nest-sdm/compare/0.3.9...0.4.0

All changes are in new code and is expected to be a no-op for the current code.

This release introduces a new API for fetching events for upcoming features in Home Assistant,
namely fetching camera clips for battery cameras. The new API is uniform across old and new
cameras.
2021-11-21 08:10:09 +01:00
GitHub Action e98977fb49 [ci skip] Translation update 2021-11-21 00:13:51 +00:00
GitHub Action 29dc9de08f [ci skip] Translation update 2021-11-19 00:14:01 +00:00
GitHub Action b82fac1a73 [ci skip] Translation update 2021-11-17 00:13:20 +00:00
GitHub Action 0228d11546 [ci skip] Translation update 2021-11-16 00:18:33 +00:00
Allen Porter 0991a30125
Pre-factor nest subscriber to library (#59462)
* Pre-factor nest subscriber to library

Move the nest subscriber to a library that can be reused in a future PR:
- From ConfigFlow for creating subscriptions
- On nest removal to delete subscriptions

This is pulled out of PR #59260 to make that easier to review.

* Resolve pylint error in nest api subscriber

* Remove duplicate constants
2021-11-14 16:08:22 -08:00
GitHub Action f00effaba2 [ci skip] Translation update 2021-11-13 00:11:56 +00:00
Allen Porter 01fe69511f
Bump google-nest-sdm to 0.3.9 (#59458) 2021-11-10 08:29:33 +01:00
GitHub Action 86b12af3dc [ci skip] Translation update 2021-11-10 00:17:39 +00:00
GitHub Action a989fd2e66 [ci skip] Translation update 2021-11-09 00:15:20 +00:00
GitHub Action e35b83081e [ci skip] Translation update 2021-11-08 00:12:31 +00:00
GitHub Action 332a571bb4 [ci skip] Translation update 2021-11-07 00:12:38 +00:00
GitHub Action 7b59dea67e [ci skip] Translation update 2021-11-06 00:11:41 +00:00
Allen Porter fa4e890696
Revamp nest authentication config flows and remove need for redirect urls (#59033)
* Add support for Installed Auth authentication flows.

Add support for additional credential types to make configuration simpler for
end users. The existing Web App auth flow requires users to configure
redirect urls with Google that has a very high security bar: requires ssl,
and a publicly resolvable dns name.

The new Installed App flow requires the user to copy/paste an access code
and is the same flow used by the `google` calendar integration. This also
allows us to let users create one authentication credential to use with
multiple google integrations.

* Remove hard migration for nest config entries, using soft migration

* Add comment explaining soft migration

* Revet changes to common.py made obsolete by removing migration

* Reduce unnecessary diffs in nest common.py

* Update config entries using library method

* Run `python3 -m script.translations develop`

* Revert nest auth domain

* Remove compat function which is no longer needed

* Remove stale nest comment

* Adjust typing for python3.8

* Address PR feedback for nest auth revamp
2021-11-04 15:56:16 -07:00
J. Nick Koston 10d6247fee
Bump to aiohttp 3.8.0 (#58974) 2021-11-04 10:07:50 -05:00
GitHub Action 4e419d8c6f [ci skip] Translation update 2021-11-01 00:13:04 +00:00
Marc Mueller 4c68662612
Use assignment expressions 34 (#58823) 2021-10-31 19:01:16 +01:00
Allen Porter 6c426fea9e
Serve nest placeholder image from disk rather than generate on the fly (#58663)
* Serve placeholder image from disk rather than generate on the flay

The placeholder image was generated from hoome assistant, saved, flipped, and
crushed a bit. The image is 640x480 and the integration does not support any on the
fly resizing.

* Cache Nest WebRTC placeholder image on camera

Cache Nest WebRTC placeholder image rather than reading from disk every time.
2021-10-30 13:44:28 -07:00
Allen Porter 9c5a79c641
Add an image placeholder for Nest WebRTC cameras (#58250) 2021-10-28 21:07:29 -07:00
Allen Porter f1b082a369
Publish nest event ids in camera related events (#58299) 2021-10-26 10:14:12 -05:00
Robert Hillis 2df13d0118
Use DeviceInfo Class N-O (#58314) 2021-10-24 11:34:45 +02:00
GitHub Action 30fb619095 [ci skip] Translation update 2021-10-24 00:12:57 +00:00
Ville Skyttä 380cff167e
Use HTTPStatus in components/[nop]* (#58279) 2021-10-23 20:56:30 +02:00
Allen Porter 7627b959f8
Fix format bug in nest log statement (#58263)
* Fix format bug in nest log statement

* Resolve lint error logging-fstring-interpolation
2021-10-22 21:33:19 -07:00
Michael Davie e481c862a6
Change precision of Nest sensors (#56993)
* Change precision of Nest sensors

* Add comment to temp rounding

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Update rounding and tests

* Add test for rounding

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2021-10-22 20:31:25 -07:00
Allen Porter 4242711301
Bump google-nest-sdm to 0.3.8 (#58186) 2021-10-22 11:37:30 +02:00
Marc Mueller 70469e0979
Use assignment expressions 23 (#58180) 2021-10-22 11:13:05 +02:00
GitHub Action f9d985553c [ci skip] Translation update 2021-10-22 00:14:10 +00:00
GitHub Action 4634b65924 [ci skip] Translation update 2021-10-21 00:12:43 +00:00
GitHub Action 7a7f5ccc31 [ci skip] Translation update 2021-10-20 00:12:17 +00:00
Allen Porter dafea00f41
Rename `stream_type` to `frontend_stream_type` (#57923)
Camera devices may support multiple stream sources so we want to clarify that
this is meant to decide which stream source is used in the frontend only.

Will set stream_type temporarily to allow rollout without breaking nightly,
and this will be removed after frontend is updated.
2021-10-17 20:16:29 -07:00
Marc Mueller 4f8148f9ea
Use assignment expressions 07 (#57787) 2021-10-17 20:24:34 +02:00
Allen Porter 3d33cad655
Improve nest error handling for websocket streams (#57885) 2021-10-17 19:46:18 +02:00
Allen Porter 95b07c138c
Set `nest` camera always on STATE_STREAMING (#57882) 2021-10-17 19:45:31 +02:00
GitHub Action c76e15149c [ci skip] Translation update 2021-10-17 00:12:27 +00:00
Allen Porter 1fa6329c2e
Add Nest WebRTC and support Nest Battery Camera and Nest Battery Doorbell (#57299)
* Add WebSocket API for intiting a WebRTC stream

See https://github.com/home-assistant/architecture/discussions/640

* Add nest support for initiating webrtc streams

Add an implementation of async_handle_web_rtc_offer in nest, with test coverage.
Issue #55302

* Rename offer variable to match overriden variable name

* Remove unnecessary checks covered by websocket function

* Update homeassistant/components/camera/__init__.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-13 03:28:52 -07:00
Allen Porter d0cc890d2b
Add statistics support to nest sensors (#57393)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-10-12 10:56:57 +02:00
Allen Porter 8026a14bc8
Bump nest 0.3.7 to prepare for WebRTC support (#57089) 2021-10-04 20:59:23 -07:00
GitHub Action f42c2f5170 [ci skip] Translation update 2021-10-02 12:59:05 +00:00
Marc Mueller 364767ff22
Import Callable from collections.abc (4) (#56778) 2021-09-29 16:15:36 +02:00
Marc Mueller 48bada5a18
Update pylint to 2.11.1 (#56364) 2021-09-18 13:52:59 +02:00
Ville Skyttä b10fc89a6b
Automation trigger info type hint improvements (#55402)
* Make automation trigger info a TypedDict

* zwave_js trigger type hint fixes

* Remove redundant automation trigger info field presence checks

* Use async_initialize_triggers in mqtt and tasmota device_trigger tests
2021-09-04 02:25:51 +02:00
GitHub Action 65d14909ee [ci skip] Translation update 2021-08-27 00:14:42 +00:00
GitHub Action ff14a11254 [ci skip] Translation update 2021-08-24 01:55:24 +00:00
Ville Skyttä 0095c6baeb
Improve device trigger type hinting (#54907) 2021-08-22 20:32:50 +02:00
Ville Skyttä 939fde0a50
ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
Erik Montnemery 103e21c278
Move temperature conversions to sensor base class (5/8) (#54475) 2021-08-12 13:26:17 +02:00
J. Nick Koston e99576c094
Pass width and height when requesting camera snapshot (#53835) 2021-08-10 19:33:06 -05:00
GitHub Action 390023a576 [ci skip] Translation update 2021-08-11 00:18:57 +00:00
Allen Porter 160bd74bae
Update DeviceInfo static types (#54276)
* Update nest static types from aditional PR feedback

Update nest and device helper static types based on post-merge discussion in PR #53475

* Remove unused type: ignore in synology

* Remove check for None device type

Remove check for None device type in order to reduce untested code as this is
a case not allowed by the nest python library.
2021-08-08 19:24:36 -07:00
Allen Porter 50068d2352
Bump google-nest-sdm to 0.3.6 (#54287)
Add google-nest-sdm to 0.3.6 to include static typing fixes.
2021-08-08 14:47:50 -07:00
GitHub Action ba93bda3ad [ci skip] Translation update 2021-08-05 00:34:46 +00:00
GitHub Action 8c5620e74b [ci skip] Translation update 2021-08-02 03:40:04 +00:00
Allen Porter 806ab47ca5
Bump nest to version 0.3.5 (#53672)
Fix runtime type assertions, Fixes Issue #53652
2021-07-28 22:49:13 -07:00
Allen Porter 68945e8814
Enable strict static type checking for nest integration (#53535) 2021-07-28 09:12:32 +02:00
Allen Porter 6376b4be5c
Increase static type coverage for nest integration (#53475)
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-27 01:43:52 +02:00
Allen Porter 1fe2d0f9c8
Address style issues in nest typing (#53236)
* Add additional types for config flow

Fixing style errors introduced by partial typing in pr #53214

* Address typing style errors

Make all functions fully typed, follow up to pr #53214
2021-07-20 17:41:48 +02:00
Allen Porter c2a2f50316
mypy cleanup for homeassistant.components.nest (#53214) 2021-07-20 07:59:31 +02:00
Allen Porter 3cff15ae2f
Bump google-nest-sdm to 0.3.0 (#53172)
The primary update is to have additional static type checking with mypy
2021-07-19 10:50:22 +02:00
Ville Skyttä 9864f2ef8b
String formatting cleanups (#52937) 2021-07-13 00:12:55 +02:00
GitHub Action 0c5ce9cac2 [ci skip] Translation update 2021-07-07 00:11:57 +00:00
GitHub Action 378b5f75ec [ci skip] Translation update 2021-07-04 00:09:33 +00:00
Erik Montnemery 76c3058d15
Rename device trigger base schema to DEVICE_TRIGGER_BASE_SCHEMA (#51719) 2021-06-10 19:11:38 +02:00
GitHub Action 7615af35d8 [ci skip] Translation update 2021-06-07 00:18:16 +00:00
GitHub Action c81df50191 [ci skip] Translation update 2021-06-06 00:19:43 +00:00
GitHub Action 7f6e20dcbc [ci skip] Translation update 2021-06-03 00:26:58 +00:00
tkdrob d1c4d0de49
Use bool annotations for setup entries (#51166) 2021-05-27 17:39:06 +02:00
tkdrob 028a07d86f
Wrap up selectors (#50794)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-25 14:45:17 +02:00
Maciej Bieniek e06a2a53c4
Add constructor return type in integrations L-N (#50888)
* Add constructor return type in integrations L-N

* Small fix
2021-05-20 13:06:44 +01:00
tkdrob bd443af6a2
Add targets and selectors for services (N-O) (#50608) 2021-05-15 10:30:18 +02:00
J. Nick Koston a4ea9b3cd3
Update usage of async_entries to use _async_current_entries (#50187) 2021-05-12 12:47:06 +02:00
HomeAssistant Azure 7df47664e8 [ci skip] Translation update 2021-05-12 00:04:03 +00:00
HomeAssistant Azure 04266301e9 [ci skip] Translation update 2021-05-03 00:05:16 +00:00
J. Nick Koston 671aabf9f4
Remove unused imports in fritz, nest, and somfy to fix CI (#49940) 2021-04-30 21:58:48 -10:00
Franck Nijhof a6206b2819
Clean up connection classes in integrations M-O (#49892) 2021-04-30 21:03:37 -10:00
Franck Nijhof e1a3ef3d69
Clean up config entry handlers decorator from config flows (#49932) 2021-04-30 23:28:25 +02:00
J. Nick Koston 3f3f77c6e6
Reduce config entry setup/unload boilerplate N-P (#49777) 2021-04-27 20:42:21 +02:00
jan iversen 34b258e812
Rename HomeAssistantType —> HomeAssistant for integrations n* - p* (#49559) 2021-04-22 08:23:19 -10:00
HomeAssistant Azure 020d456889 [ci skip] Translation update 2021-04-21 00:03:47 +00:00
J. Nick Koston 7791670607
Fix memory leak in legacy nest (#49469) 2021-04-20 09:14:23 -07:00
HomeAssistant Azure f6a24e8d68 [ci skip] Translation update 2021-04-20 00:04:05 +00:00
Franck Nijhof 055cdc64c0
Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
J. Nick Koston 4cd7f9bd8b
Raise ConfigEntryAuthFailed during setup or coordinator update to start reauth (#48962) 2021-04-09 19:41:29 -10:00
HomeAssistant Azure 8e6238ff61 [ci skip] Translation update 2021-04-08 00:03:23 +00:00
Franck Nijhof 86212db71d
Merge of nested IF-IF cases - K-N (#48370) 2021-03-27 10:03:15 +01:00
Erik Montnemery 72281f4718
Validate device trigger schemas once (#48319) 2021-03-26 08:09:21 +01:00
Erik Montnemery a09c8eecb7
Fix some sensor classes (#48254)
* Fix some sensor classes

* Tweak

* Tweak
2021-03-23 15:56:33 +01:00
Erik Montnemery c900e3030b
Migrate integrations n-q to extend SensorEntity (#48214) 2021-03-22 19:46:46 +01:00
Marc Mueller 3d2b81a401
Update typing 11 (#48072) 2021-03-18 13:21:46 +01:00
HomeAssistant Azure 4306c8fbb4 [ci skip] Translation update 2021-03-17 00:03:55 +00:00
HomeAssistant Azure c11b85af2f [ci skip] Translation update 2021-03-16 00:04:36 +00:00
Allen Porter bcadccf7aa
Invalidate HLS Stream on nest url refresh failure (#47869)
This will ensure that the HLS stream is re-created and fetches a new url.
2021-03-14 22:49:21 -07:00