Commit Graph

42191 Commits

Author SHA1 Message Date
Allen Porter
a84b12abe7 Revert "Add an entity service for saving nest event related snapshots" (#60632) 2021-11-30 16:16:00 +01:00
Jc2k
b8a1899d48 Remove homekit_controller's air quality entity in favor of separate sensor entities (#60480) 2021-11-30 16:14:49 +01:00
Franck Nijhof
16462df451 Add button device classes to MQTT (#60628) 2021-11-30 16:08:02 +01:00
epenet
0d24862a28 Use dataclass properties in homekit_controller discovery (#60626)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 16:06:18 +01:00
epenet
3f22905709 Use dataclass properties in plugwise discovery (#60631)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 15:50:47 +01:00
epenet
6f22ffbedd Use dataclass properties in enphase_envoy discovery (#60627)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 15:47:18 +01:00
Jan Bouwhuis
cd351cf22b Fix test naming switch (#60630) 2021-11-30 15:45:06 +01:00
Franck Nijhof
6be1b0c704 Add button device classes to Shelly (#60625) 2021-11-30 15:44:47 +01:00
Franck Nijhof
2366fbe846 Add button device classes to HomeKit Controller (#60620) 2021-11-30 15:21:26 +01:00
Jesse Hills
683bb13f50 Support unit of measurement in ESPHome numbers (#60591) 2021-11-30 15:20:40 +01:00
Franck Nijhof
b5a6e03c21 Fix device class shorthand attr in ButtonEntity (#60622) 2021-11-30 15:06:33 +01:00
Jan Bouwhuis
f07e676c82 Allow template int filter to render from a bytes based integer (#60452)
* Allow template int to render bytes

* re-triggering tests

* Add warning when base !=10 and rendering bytes

* re-trigger tests

* Re-trigger tests

* remove period

* Update homeassistant/helpers/template.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix logger syntax

* remove parentheses

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-30 15:01:43 +01:00
Jan Bouwhuis
2a2a20fcb3 Add mqtt sensor configurable state encoding for sensor and binary_sensor platform (#60447)
* Add mqtt sensor state encoding

* Make encoding attribute not specific to states

* Move encoding attribute to schema base
2021-11-30 14:04:24 +01:00
Franck Nijhof
7469f083fd Migrate number mode to StrEnum (#60614) 2021-11-30 12:54:06 +01:00
Franck Nijhof
1b8eba0afd Add button device classes to WLED (#60613) 2021-11-30 12:12:08 +01:00
Franck Nijhof
9b9801516b Migrate button device classes to StrEnum (#60611) 2021-11-30 11:54:06 +01:00
Franck Nijhof
6e3f522d4b Fix StrEnum backport return type issue (#60610) 2021-11-30 11:16:56 +01:00
Adam Chyb
56899d61fe Add support for Kogan smart blinds to Tuya (#60552) 2021-11-30 11:07:44 +01:00
epenet
ae9320b616 Use dataclass properties in tradfri discovery (#60592)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 11:05:42 +01:00
epenet
58661fa636 Use dataclass properties in devolo_home_network discovery (#60608)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 11:04:33 +01:00
epenet
416976dd39 Use dataclass properties in esphome discovery (#60606)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 11:03:08 +01:00
epenet
f0df3e4646 Use dataclass properties in smappee discovery (#60602)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 11:01:28 +01:00
epenet
ba1cc00c24 Use dataclass properties in shelly discovery (#60593)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 11:00:54 +01:00
epenet
fb94ed4e6b Use dataclass properties in bond discovery (#60590)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:58:06 +01:00
epenet
d537ec1d6f Use dataclass properties in bosch_shc discovery (#60559) 2021-11-30 10:57:37 +01:00
epenet
9b92787d59 Use dataclass properties in daikin discovery (#60589)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:55:52 +01:00
epenet
40a814221c Use dataclass properties in forked_daapd discovery (#60587)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:55:32 +01:00
epenet
7182827818 Use dataclass properties in modern_forms discovery (#60584)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:18:25 +01:00
epenet
efebd1b657 Use dataclass properties in nut discovery (#60603)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:17:49 +01:00
epenet
071296865b Use dataclass properties in lookin discovery (#60585)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:16:06 +01:00
epenet
2f79760fb4 Use dataclass properties in guardian discovery (#60586)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:15:46 +01:00
epenet
a32a748cec Use dataclass properties in devolo_home_control discovery (#60600)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:08:55 +01:00
epenet
0bb44c042c Use dataclass properties in brother discovery (#60601)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 10:07:58 +01:00
Franck Nijhof
b996f624db Ensure ESPHome device classes are valid (#60594) 2021-11-30 09:44:39 +01:00
epenet
5003a1515b Use dataclass properties in nam discovery (#60596)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 09:36:41 +01:00
epenet
64afe738cc Use dataclass properties in elgato discovery (#60588)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 08:53:03 +01:00
epenet
d74145ed7b Use dataclass properties in roku discovery (#60577)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 08:46:40 +01:00
epenet
9374ce87ba Use dataclass properties in wled discovery (#60573)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 08:42:30 +01:00
epenet
e0b315041b Use dataclass properties in octoprint discovery (#60579)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 08:42:08 +01:00
dependabot[bot]
b4f3e08b84 Bump actions/setup-python from 2.3.0 to 2.3.1 (#60572)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-30 08:34:20 +01:00
Jesse Hills
e17759410c Esphome button device class (#60569) 2021-11-30 08:33:14 +01:00
Klaas Schoute
222da7e2d1 Add configuration_url to integration (#60565) 2021-11-30 08:32:02 +01:00
epenet
bb92dd2467 Use dataclass properties in apple_tv discovery (#60557) 2021-11-30 08:31:25 +01:00
epenet
0e3a229a1f Use dataclass properties in volumio discovery (#60575)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-29 21:13:48 -10:00
epenet
b4d17e1fad Use dataclass properties in system_bridge discovery (#60576)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-29 21:11:56 -10:00
epenet
b40dc6c271 Use dataclass properties in rainmachine discovery (#60578)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-29 21:10:50 -10: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
Allen Porter
8ca89b10eb Split StreamState class out of SegmentBuffer (#60423)
This refactoring was pulled out of https://github.com/home-assistant/core/pull/53676 as an
initial step towards reverting the addition of the SegmentBuffer class, which will be
unrolled back into a for loop.

The StreamState class holds the persistent state in stream that is used across stream worker
instantiations, e.g. state across a retry or url expiration, which primarily handles
discontinuities. By itself, this PR is not a large win until follow up PRs further simplify
the SegmentBuffer class.
2021-11-29 22:25:28 -08:00
epenet
890790a659 Use dataclass properties in arcam_fmj discovery (#60562) 2021-11-30 06:46:41 +01:00