Commit Graph

199 Commits (a9b1f23b7ffc03f16bdefa37ade5d314d6d6f4f6)

Author SHA1 Message Date
Marc Mueller a9ade1f84d
Use asyncio.timeout [core] (#98447) 2023-08-15 08:36:05 -05:00
J. Nick Koston 51344d566e
Small speed up to cameras (#96124) 2023-07-08 09:23:45 +02:00
J. Nick Koston 89cc57c0d6
Fix double state write on camera added to hass when rtsp_to_webrtc is present (#93806) 2023-05-30 19:43:48 +02:00
J. Nick Koston e4744199ce
Raise an exception when trying to save camera snapshots to a not allowed path (#91869) 2023-04-23 01:15:56 +02:00
epenet c01b1eb013
Adjust async_track_time_interval name argument (#90838)
Adjust async_track_time_interval naming
2023-04-05 10:58:02 -04:00
J. Nick Koston 02ef7d445d
Allow passing an optional name to async_track_time_interval (#90244)
* Allow passing an optional name to async_track_time_interval

This is the same idea as passing a name to asyncio.create_task which
makes it easier to track down bugs

* more

* short

* still cannot find it

* add a few more

* test
2023-03-25 10:11:14 -04:00
Robert Svensson 5a499050f2
Remove lingering timer related to camera (#89394) 2023-03-08 15:52:01 -05:00
Marc Mueller 6397138589
Update Optional typing (1) [Py310] (#86417)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-23 09:56:10 +01:00
Marc Mueller 1cc8feabb7
Remove unnecessary try-else (1) (#86158) 2023-01-18 14:24:52 +01:00
Franck Nijhof b0cee0bc46
String formatting and max line length - Part 1 (#84390)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
Michaël Arnauts 7142b4ecac
Fixes some grammar mistakes (#84283) 2022-12-20 11:10:31 +01:00
epenet 8b54a0679f
Enforce CameraEntityFeature (#82325) 2022-11-22 07:08:28 +01:00
epenet 5d78632d04
Adjust type hints for CameraEntityFeature (#82191) 2022-11-16 14:44:08 +01:00
epenet a91abebea8
Use IntFlag for EntityFeature (#81903) 2022-11-16 12:43:17 +01:00
uvjustin e7dd31f37b
Iterate over entities safely in camera setup (#82080)
fixes undefined
2022-11-15 08:02:35 -06:00
uvjustin ee910bd0e4
Refactor camera stream settings (#81663) 2022-11-13 01:22:59 +08:00
uvjustin 84725f15a6
Use IntEnum for stream orientation (#81835)
* Use IntEnum for stream orientation

* Rename enum values

* Add comments

* Fix import
2022-11-09 07:28:28 -08:00
epenet 402bac5ed7
Improve type hints in camera (#81794) 2022-11-09 12:14:26 +01:00
epenet 5442d6af01
Improve msg type hint in websocket commands (#80530) 2022-10-18 16:41:17 +02:00
epenet b4afb1cb6b
Make use of generic EntityComponent (#78492) 2022-09-15 11:53:00 +02:00
epenet 7871a517a8
Import constants from root (#78271) 2022-09-12 18:53:05 +02:00
epenet 253d355526
Remove unused mypy ignore statements (#78292) 2022-09-12 09:25:11 -04:00
uvjustin 34da463df0
Cleanup camera after late PR review (#77880)
Cleanup changes to camera from #77439
2022-09-06 12:33:21 +02:00
uvjustin 852b0caf5b
Add orientation transforms to stream (#77439) 2022-09-06 13:31:36 +08:00
uvjustin 6540bed59d
Defer preload stream start on startup (#75801) 2022-08-08 11:15:31 -04:00
Franck Nijhof c795597511
Improve authentication handling for camera view (#75979) 2022-07-31 18:00:42 +02:00
Franck Nijhof 166e58eaa4
Fix camera token to trigger authentication IP ban (#75870) 2022-07-28 18:20:39 +02:00
uvjustin c5912f0fae
Cleanup unused camera constants (#75772)
Cleanup unused camera constants after #75452
2022-07-26 23:04:08 +02:00
uvjustin d989e4373d
Remove websocket_api send_big_result (#75452) 2022-07-19 21:08:11 -07:00
uvjustin 6b60fb9541
Don't use executor in send_big_result (#75427) 2022-07-19 08:40:23 -05: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
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
J. Nick Koston f7626bd511
Speed up camera tokens (#73098) 2022-06-05 12:28:57 -10:00
Franck Nijhof 8f4caf4141
Clean up accessing event helpers via hass (#72011) 2022-05-17 19:36:29 +02:00
uvjustin 32b3ce5727
Clean up use_wallclock_as_timestamps in generic (#71940) 2022-05-16 09:06:54 -07:00
uvjustin 221b77297e
Declare exports from stream explicitly (#71898) 2022-05-15 17:58:57 +02:00
Trevor North 074dfd5a21
Allow RTMP sources for RTSPtoWeb (#71695) 2022-05-11 15:05:42 -07:00
Marc Mueller 9b9b553521
Disable no-self-use [pylint] (#70641)
* Disable no-self-use

* Remove disable comments
2022-04-25 07:41:01 -07:00
Franck Nijhof c93c7e8eff
Replace Camera STREAM_ constants with StreamType enum (#69871) 2022-04-11 16:27:27 -07:00
Franck Nijhof 93571c2d01
Add EntityFeature enum to Camera (#69072) 2022-04-01 09:38:03 -07:00
J. Nick Koston 8e3454e46a
Remove legacy compatiblity for camera platforms that do not support width/height (#68039)
- async_camera_image or camera_image must accept the width and
  height arguments
2022-03-12 20:47:14 +02:00
uvjustin c222be0958
Catch ConnectionResetError when writing MJPEG in camera (#66245) 2022-02-10 12:25:31 -08:00
Paulus Schoutsen 716a1e2a64
Add camera media source (#65977) 2022-02-08 14:32:02 -08:00
Paulus Schoutsen 08083f399e
Convert some tests to async and drop usage get_test_home_assistant (#64394)
* Fix some tests

* Update MS tests

* Convert last logbook tests to async
2022-01-18 19:37:17 -08:00
Josh Soref ab73d7c347
spelling: components/camera (#64242)
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-01-17 16:27:39 +01:00
Marc Mueller 67c35652f0
Update typing - collections.abc (2) (#63934) 2022-01-12 09:04:37 +01:00
Erik Montnemery 9c9dc4cb8c
Import websocket_api (part 1) (#63905) 2022-01-11 18:24:08 +01:00
Allen Porter 596edc8919
Add a stream_id parameter to the WebRTC provider (#63625)
* Add a stream_id parameter to the WebRTC provider

Add an additional stream id parameter (effectively, the camera entity id)
to allow updating an existing stream source when the strema changes. This
is useful for stream sources that have expiring URLs, like Nest.

* Redefine the provider using a type

* Use old typing methods for type definintion to pass python3.8 pylint
2022-01-10 17:56:18 -08:00
Allen Porter 81aff973ea
Keep entity state management within entity (#63183)
Simplify the entity state management for webrtc providers, incurring
extra state writes on startup.  Followup post-review comments for PR #62962
2022-01-01 11:22:48 -08:00
Allen Porter 0dee4f85f0
Implement an rtsp to webrtc registry in camera (#62962)
* Implement a webrtc to rtsp support in camera as a registry

Allow integrations to register a provider that can convert an RTSP stream and WebRTC offer to a WebRTC answer. This is
planned to be used by the RTSPtoWebRTC server integration as an initial pass, but could
support other server implementations as well (or even native implementationf or that matter).

* Fix test bug to improve test covergae and restructure statements

* Add missing call to refresh webrtc providers

* Run provider refresh in parallel since it may send RPCs

* Replace for loop with any

* Fix pylint warning to use a generator
2021-12-31 13:44:33 -08:00