Commit Graph

245 Commits (463bffaeb663c5138fbc808eb1b987cde146ef4a)

Author SHA1 Message Date
Steven B. f44b7e202a
Check for async web offer overrides in camera capabilities (#129519) 2024-10-31 18:57:40 +01:00
Krisjanis Lejejs bf40e77d65
Add Stun server with port 3478 (#129501) 2024-10-30 15:40:23 +01:00
Robert Resch 963829712d
Add CameraCapabilities (#128455) 2024-10-29 21:36:30 +01:00
Robert Resch aa855e31c8
Convert async_get_webrtc_client_configuration to a callback (#129329) 2024-10-28 15:47:22 +01:00
Robert Resch 675ee8e813
Add async webrtc offer support (#127981)
* Add async webrtc offer support

* Create dataclass for messages

* Send session ID over websocket

* Fixes

* Rename

* Implement some review findings

* Add WebRTCError and small renames

* Use dedicated function instead of inspec

* Update go2rtc-client to 0.0.1b1

* Improve checking for sync offer

* Revert change as not needed anymore

* Typo

* Fix tests

* Add missing go2rtc tests

* Move webrtc offer tests to test_webrtc file

* Add ws camera/webrtc/candidate tests

* Add missing tests

* Implement suggestions

* Implement review changes

* rename

* Revert test to use ws endpoints

* Change doc string

* Don't import from submodule

* Get type form class name

* Update homeassistant/components/camera/__init__.py

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

* Adopt tests

* Apply suggestions from code review

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

* Fix tests

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-10-28 15:46:15 +01:00
Robert Resch 3512cb9599
Use webrtc-models package (#129032) 2024-10-25 10:18:55 +02:00
Erik Montnemery 487593af38
Allow configuring WebRTC stun and turn servers (#128984)
* Allow configuring WebRTC stun and turn servers

* Add tests

* Remove class WebRTCCoreConfiguration
2024-10-23 14:41:45 +02:00
Erik Montnemery 2c79173d20
Refactor camera.webrtc.register_ice_server (#129024)
* Refactor camera.webrtc.register_ice_server

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Add missing import

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-23 11:49:39 +02:00
Krisjanis Lejejs de77751779
Change Stun server port to 80 (#128879) 2024-10-22 14:23:29 +02:00
Erik Montnemery 8e5abcf5c2
Deprecate entity_id template variable in camera services (#128592)
* Deprecate entity_id template variable in camera services

* Update snapshots

* Tiny lang tweak

* Fix translation

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-10-21 19:38:02 +02:00
Robert Resch b56e22d4ee
Use homeassistant STUN server (#127922) 2024-10-08 12:25:20 +02:00
J. Nick Koston 0f29fd3e10
Switch to using fast cached_property implementation in propcache (#127339) 2024-10-03 13:11:02 -05:00
Robert Resch 04860ae1d2
Add go2rtc and extend camera integration for better WebRTC support (#124410) 2024-10-03 09:20:03 +02:00
epenet 2699eb62bd
Rename DOMAIN_DATA HassKey constants to DATA_COMPONENT (#126746)
* Rename DOMAIN_DATA HassKey constant to DATA

* DATA -> DATA_COMPONENT
2024-09-25 15:53:58 +02:00
G Johansson 711e0ee503
Change camera state to an enum (#126558)
* Change camera state to an enum

* copy/paste mistake

* Add test deprecated constants
2024-09-24 12:12:01 +02:00
epenet 37d527bd08
Use HassKey in camera (#126331) 2024-09-21 13:16:22 +02:00
epenet 8b44c16b57
Use HassKey in core components (a-c) (#126258)
* Use HassKey in conversation

* Use HassKey in assist_satellite

* automation

* More

* Unrelated

* Improve
2024-09-20 12:07:15 +02:00
Erik Montnemery ea7e88d000
Pass None instead of empty dict when registering entity services (#123878) 2024-08-14 07:04:29 -05:00
Erik Montnemery f6e82ae0ba
Remove unnecessary assignment of Template.hass from camera (#123663) 2024-08-12 14:54:41 +02:00
epenet 0bb8c4832d
Enable raise-within-try (TRY301) rule in ruff (#123351) 2024-08-12 09:16:33 +02:00
epenet f65d91f6d2
Refactor PLATFORM_SCHEMA imports in platforms (#120564) 2024-06-26 15:44:59 +02:00
Marc Mueller 3a5acd6a57
Use VolDictType for service schemas (#120403) 2024-06-25 12:33:41 +02:00
tronikos 2ca580898d
Fix typo in Camera.turn_on (#119386) 2024-06-12 08:50:34 -04:00
Marc Mueller 87bb7ced79
Use PEP 695 for simple type aliases (#117633) 2024-05-17 14:42:21 +02:00
J. Nick Koston 0b3627b59e
Add additional cached_property to camera entities (#115075) 2024-04-13 16:50:11 -05:00
J. Nick Koston ca5ed274cb
Deprecate calling async_listen and async_listen_once with run_immediately (#115169) 2024-04-08 10:07:54 -10:00
Marc Mueller 816ce116bf
Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
J. Nick Koston ec3db0a6aa
Migrate camera listeners to use run_immediately (#113840)
None of these need a call_soon
2024-03-19 19:58:59 -04:00
Sid 82a60fe8ad
Enable Ruff RSE (#113695) 2024-03-18 00:40:38 +01:00
Marc Mueller ff3a801936
Add empty line after module docstring [a-d] (#112697) 2024-03-08 14:51:32 +01:00
Paulus Schoutsen dd1ad71166
Only load camera prefs once (#112064) 2024-03-02 17:18:34 -05:00
Jan-Philipp Benecke 259171eda9
Revert "Remove `@bind_hass` from `camera` functions" (#111703)
Revert "Remove `@bind_hass` from `camera` functions (#111494)"

This reverts commit c890c1aeee.
2024-02-28 10:51:04 +01:00
Jan-Philipp Benecke c890c1aeee
Remove `@bind_hass` from `camera` functions (#111494)
* Remove `@bind_hass` from camera functions

* Pass hass to async_get_image in image_processing
2024-02-27 23:01:43 +01:00
On Freund 32dc8d9fcb
Improve code comment for Chrome frame bug in Camera (#111504) 2024-02-26 15:30:35 -05:00
Marc Mueller c82933175d
Use builtin TimeoutError [a-d] (#109678) 2024-02-05 11:31:33 +01:00
J. Nick Koston a0b00d78b1
Avoid duplicate property lookups in camera state_attributes (#107627) 2024-01-09 08:16:19 +01:00
Erik Montnemery c805ea7b4f
Include deprecated constants in wildcard imports (#107114) 2024-01-05 11:46:45 +01:00
J. Nick Koston 6506a8d511
Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 00:45:35 +01:00
Daniel Schall 485a02c89d
Fix Generic Camera interval calculation (#105820) 2023-12-27 13:45:49 +01:00
J. Nick Koston c7b4f8f780
Use faster contains check in camera for stream feature (#106429) 2023-12-26 10:48:31 -10:00
J. Nick Koston abd3c54cbe
Add support for attribute caching to the camera platform (#106256) 2023-12-23 13:01:47 -10:00
Robert Resch 20ba764d92
Deprecate deprecated camera constants (#106095) 2023-12-23 10:46:23 +01:00
Erik Montnemery 104bcc64b7
Allow inheriting base component entity descriptions in frozen dataclasses (#105512)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-15 23:33:50 -10:00
Erik Montnemery df73850f56
Move definition of attributes excluded from history to entity classes (#100430)
* Move definition of attributes excluded from history to entity classes

* Revert change which should be in a follow-up PR

* Fix sun unrecorded attributes

* Fix input_select unrecorded attributes
2023-09-21 15:02:47 +02:00
uvjustin 407aa31adc
Generate Stream snapshots using next keyframe (#96991)
* Add wait_for_next_keyframe option to stream images
Add STREAM_SNAPSHOT to CameraEntityFeature
Use wait_for_next_keyframe option for snapshots using stream

* Update stream test comments

* Add generic camera snapshot test

* Get stream still images directly in camera
Remove getting stream images from generic, nest, and ONVIF
Refactor camera preferences
Add use_stream_for_stills setting to camera
Update tests

* Only attempt to get stream image if integration supports stream

* Use property instead of entity registry setting

* Split out getting stream prerequisites from stream_source in nest

* Use cached_property for rtsp live stream trait

* Make rtsp live stream trait NestCamera attribute

* Update homeassistant/components/nest/camera.py

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

* Change usage of async_timeout

* Change import formatting in generic/test_camera

* Simplify Nest camera property initialization

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-08-26 10:39:40 -07:00
Ville Skyttä 3094991236
Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00
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