Commit Graph

43193 Commits (a63fa532752522ea04d060e8098d80f96da8691c)

Author SHA1 Message Date
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
J. Nick Koston e834382b9a
Add pico remote support to non-pro lutron caseta bridges (#61032) 2021-12-19 01:41:02 -06:00
Allen Porter 832184bacd
Speed up stream tests by 40-50% with shared data (#62300) 2021-12-18 23:14:21 -08:00
J. Nick Koston a6b680cd32
Add support for enabling/disabling cloud access in flux_led (#61138)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-12-19 00:59:16 -06:00
J. Nick Koston d7c5e41802
Add hardware version to bond (#62256) 2021-12-18 22:30:44 -08:00
Simone Chemelli 90345b1cf2
Fix logging for Shelly climate platform (#62264)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-12-18 22:28:26 -08:00
J. Nick Koston 4572fec680
Bump flux_led to 0.27.8 to fix discovery of older devices (#62292) 2021-12-18 22:27:34 -08:00
J. Nick Koston 7764c957ba
Avoid setting nexia humidity to the same value since it causes the api to fail (#61843) 2021-12-18 22:26:19 -08:00
J. Nick Koston 03477e0ae6
Split august motion and image capture binary sensors (#62154) 2021-12-18 22:25:30 -08:00
Aaron Bach ebfe9aa384
Add a switch to opt-in to/opt-out of the next Ridwell pickup (#62293)
* Add buttons to opt into/out of the next Ridwell pickup

* Buttons finished

* Coverage

* better name

* Move to switch

* Clean up

* Coverage

* Use correct exception
2021-12-18 23:06:17 -07:00
Dave T afdc570d70
Use DeviceClass Enums in homekit_controller tests (#62219) 2021-12-18 23:56:59 -06:00
J. Nick Koston a4c101b021
Add network support to flux_led discovery (#61132) 2021-12-18 21:55:57 -08:00
J. Nick Koston a40549c1b9
Fix hw_version not updating from an entity device_info (#62254) 2021-12-18 21:53:49 -08:00
Eric Severance 8d6763eaad
Add wemo config_flow test to get 100% coverage (#62158) 2021-12-18 23:43:31 -06:00
Paulus Schoutsen 6fd617a89e
Bump ring to 0.7.2 (#62299) 2021-12-18 23:41:59 -06:00
Michael Chisholm f280b03df8
Update async-upnp-client library to 0.23.1 (#62298) 2021-12-18 23:41:32 -06:00
epenet 931d51949d
Use new DeviceClass enums in homekit (#61665)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-18 19:07:04 -06:00
GitHub Action d3710c7ba6 [ci skip] Translation update 2021-12-19 00:14:45 +00:00
Aaron Bach 98c398cc37
Bump aioridwell to 2021.12.2 (#62284) 2021-12-18 16:26:37 -07:00
micha91 ba79de56ab
Move Device Class definition to Home Assistant for MusicCast Select Entities (#61218)
* Add a device class mapping to the consts to map from capability IDs to HA device classes.

* Use python3.8 compliant typing

* Fix return type

* Use relative import for musiccast const
2021-12-19 00:18:42 +01:00
J. Nick Koston 4dc70536b6
Fix Non-thread-safe operation in rflink binary_sensor (#62286) 2021-12-19 00:14:41 +01:00
J. Nick Koston b05149fc28
Fix Non-thread-safe operation in zwave node_added (#62287) 2021-12-18 23:17:54 +01:00
Chris Talkington 99d1e015ad
Update rokuecp to 0.8.5 (#62285) 2021-12-18 14:50:49 -06:00
starkillerOG 58bcf275f5
Add xiaomi miio gateway hw version (#62274) 2021-12-18 17:46:16 +01:00
Robert Hillis 78f2866f98
Finish using enums in wled (#62189) 2021-12-18 16:17:55 +01:00
Martin Hjelmare ff530dce0d Fix fitbit no SSL URL handling (#62270) 2021-12-18 15:00:07 +01:00
epenet 93cba53860
Use new enums in smappee (#62209)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-18 14:56:13 +01:00
Robert Hillis af631b90e5
Use enums in statistics tests (#62191) 2021-12-18 14:54:26 +01:00
epenet a39f0643e8
Use new enums in smart_meter_texas (#62210)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-18 14:53:50 +01:00
epenet ac0fa3cbf8
Use new enums in smarttub (#62216)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-18 14:51:39 +01:00
J. Nick Koston 051a6499b8
Add software version to screenlogic (#62255) 2021-12-18 14:49:29 +01:00
J. Nick Koston b1ac1596d8
Add ATTR_HW_VERSION to homeassistant.const (#62258) 2021-12-18 14:46:22 +01:00
starkillerOG c40b02896a
Hyperion add entity category (#62268) 2021-12-18 14:45:53 +01:00
starkillerOG 503a5cbd44
Motion blinds add entity category (#62266) 2021-12-18 14:23:34 +01:00
Franck Nijhof e2c65a3034
Upgrade tailscale to 0.1.6 (#62267) 2021-12-18 14:18:31 +01:00
starkillerOG c178fd0cc3
Add entity category to DSMR (#62262) 2021-12-18 13:53:21 +01:00
starkillerOG ca9b26e829
bump pynetgear to 0.8.0 (#62261) 2021-12-18 13:29:52 +01:00
starkillerOG c4879d71a1
Add Netgear entity category and configuration url (#62260)
* add entity category

* add configuration_url

* add import
2021-12-18 12:34:16 +01:00
GitHub Action 5fefb5985f [ci skip] Translation update 2021-12-18 00:13:26 +00:00
Teemu R b50a5d32a7
Remove myself from yeelight codeowners (#62239) 2021-12-17 18:00:04 -06:00
Diego Elio Pettenò 6ce99bfc80
Bump async-upnp-client to 0.23.0 (#62223) 2021-12-17 16:57:02 -06:00
epenet c59ae54dc8
Use new enums in sonos (#62202) 2021-12-17 13:35:21 -06:00
J. Nick Koston a0cd29bbcf
Fix threading error in stream tests (#62221) 2021-12-17 09:26:30 -08:00
jkuettner 3b97c544b1
Fix "vevent" KeyError in caldav component (#61718) 2021-12-17 16:54:19 +01:00
Aaron Bach a9fc750fe3
Fix spurious RainMachine config entry reload (#62215) 2021-12-17 08:31:23 -07:00
Robert Hillis 3bd1f00b76
Use enums in samsungtv tests (#62195)
* Use enums in samsungtv tests

* uno mas
2021-12-17 16:26:53 +01:00
Robert Hillis 5e0eb0eb4d
Use enums in roku tests (#62196) 2021-12-17 16:25:37 +01:00
Eric Severance d874eb261d
Fix Wemo create task for awaitable (#62159) 2021-12-17 16:23:53 +01:00
Robert Hillis 8683a30380
Use enums in utility_meter tests (#62190)
* Use enums in utility_meter tests

* uno mas
2021-12-17 16:22:46 +01:00
Franck Nijhof 26d8d82061
Fix codeowners for tests in hassfest (#62204) 2021-12-17 16:21:32 +01:00