homeassistant-stubs 2024.11.0b1__py3-none-any.whl → 2024.11.0b3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import CONF_DEBUG_UI as CONF_DEBUG_UI, DEBUG_UI_URL_MESSAGE as DEBUG_UI_URL_MESSAGE, DOMAIN as DOMAIN
2
2
  from .server import Server as Server
3
3
  from _typeshed import Incomplete
4
4
  from go2rtc_client.ws import ReceiveMessages as ReceiveMessages
@@ -1,2 +1,3 @@
1
1
  DOMAIN: str
2
- CONF_BINARY: str
2
+ CONF_DEBUG_UI: str
3
+ DEBUG_UI_URL_MESSAGE: str
@@ -7,16 +7,18 @@ _LOGGER: Incomplete
7
7
  _TERMINATE_TIMEOUT: int
8
8
  _SETUP_TIMEOUT: int
9
9
  _SUCCESSFUL_BOOT_MESSAGE: str
10
- _GO2RTC_CONFIG: str
10
+ _LOCALHOST_IP: str
11
+ _GO2RTC_CONFIG_FORMAT: str
11
12
 
12
- def _create_temp_file() -> str: ...
13
+ def _create_temp_file(api_ip: str) -> str: ...
13
14
 
14
15
  class Server:
15
16
  _hass: Incomplete
16
17
  _binary: Incomplete
17
18
  _process: Incomplete
18
19
  _startup_complete: Incomplete
19
- def __init__(self, hass: HomeAssistant, binary: str) -> None: ...
20
+ _api_ip: Incomplete
21
+ def __init__(self, hass: HomeAssistant, binary: str, *, enable_ui: bool = False) -> None: ...
20
22
  async def start(self) -> None: ...
21
23
  async def _log_output(self, process: asyncio.subprocess.Process) -> None: ...
22
24
  async def stop(self) -> None: ...
@@ -1,9 +1,11 @@
1
+ import abc
1
2
  import datetime
2
3
  from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
3
4
  from .device_info import NestDeviceInfo as NestDeviceInfo
4
5
  from _typeshed import Incomplete
6
+ from abc import ABC, abstractmethod
5
7
  from collections.abc import Callable as Callable
6
- from google_nest_sdm.camera_traits import RtspStream as RtspStream, Stream as Stream, WebRtcStream as WebRtcStream
8
+ from google_nest_sdm.camera_traits import CameraLiveStreamTrait, RtspStream as RtspStream, WebRtcStream as WebRtcStream
7
9
  from google_nest_sdm.device import Device as Device
8
10
  from google_nest_sdm.device_manager import DeviceManager as DeviceManager
9
11
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
@@ -21,40 +23,53 @@ STREAM_EXPIRATION_BUFFER: Incomplete
21
23
 
22
24
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
25
 
24
- class NestCamera(Camera):
26
+ class NestCameraBaseEntity(Camera, ABC, metaclass=abc.ABCMeta):
25
27
  _attr_has_entity_name: bool
26
28
  _attr_name: Incomplete
29
+ _attr_is_streaming: bool
30
+ _attr_supported_features: Incomplete
27
31
  _device: Incomplete
28
32
  _attr_device_info: Incomplete
29
33
  _attr_brand: Incomplete
30
34
  _attr_model: Incomplete
31
- _rtsp_stream: Incomplete
32
- _webrtc_sessions: Incomplete
33
- _create_stream_url_lock: Incomplete
34
- _stream_refresh_unsub: Incomplete
35
- _attr_is_streaming: bool
36
- _attr_supported_features: Incomplete
37
- _rtsp_live_stream_trait: Incomplete
38
35
  _attr_unique_id: Incomplete
36
+ _stream_refresh_unsub: Incomplete
37
+ def __init__(self, device: Device) -> None: ...
38
+ @abstractmethod
39
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
40
+ @abstractmethod
41
+ async def _async_refresh_stream(self) -> None: ...
42
+ def _schedule_stream_refresh(self) -> None: ...
43
+ async def _handle_stream_refresh(self, _: datetime.datetime) -> None: ...
44
+ async def async_added_to_hass(self) -> None: ...
45
+ async def async_will_remove_from_hass(self) -> None: ...
46
+
47
+ class NestRTSPEntity(NestCameraBaseEntity):
48
+ _rtsp_stream: RtspStream | None
49
+ _rtsp_live_stream_trait: CameraLiveStreamTrait
50
+ _create_stream_url_lock: Incomplete
39
51
  def __init__(self, device: Device) -> None: ...
40
52
  @property
41
53
  def use_stream_for_stills(self) -> bool: ...
42
54
  @property
43
- def frontend_stream_type(self) -> StreamType | None: ...
44
- @property
45
55
  def available(self) -> bool: ...
46
56
  async def stream_source(self) -> str | None: ...
47
- def _all_streams(self) -> list[Stream]: ...
48
- def _schedule_stream_refresh(self) -> None: ...
49
- async def _handle_stream_refresh(self, _: datetime.datetime) -> None: ...
57
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
50
58
  stream: Incomplete
51
- async def _handle_rtsp_stream_refresh(self) -> None: ...
52
- async def _handle_webrtc_stream_refresh(self) -> None: ...
59
+ async def _async_refresh_stream(self) -> None: ...
53
60
  async def async_will_remove_from_hass(self) -> None: ...
54
- async def async_added_to_hass(self) -> None: ...
61
+
62
+ class NestWebRTCEntity(NestCameraBaseEntity):
63
+ _webrtc_sessions: Incomplete
64
+ def __init__(self, device: Device) -> None: ...
65
+ @property
66
+ def frontend_stream_type(self) -> StreamType | None: ...
67
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
68
+ async def _async_refresh_stream(self) -> None: ...
55
69
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
56
70
  @classmethod
57
71
  def placeholder_image(cls) -> bytes: ...
58
72
  async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
59
73
  def close_webrtc_session(self, session_id: str) -> None: ...
60
74
  def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
75
+ async def async_will_remove_from_hass(self) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import abc
2
2
  from .config import ScriptConfig as ScriptConfig, ValidationStatus as ValidationStatus
3
- from .const import ATTR_LAST_ACTION as ATTR_LAST_ACTION, ATTR_LAST_TRIGGERED as ATTR_LAST_TRIGGERED, ATTR_VARIABLES as ATTR_VARIABLES, CONF_FIELDS as CONF_FIELDS, CONF_REQUIRED as CONF_REQUIRED, CONF_TRACE as CONF_TRACE, DOMAIN as DOMAIN, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, EVENT_SCRIPT_STARTED as EVENT_SCRIPT_STARTED, LOGGER as LOGGER
3
+ from .const import ATTR_LAST_ACTION as ATTR_LAST_ACTION, ATTR_LAST_TRIGGERED as ATTR_LAST_TRIGGERED, ATTR_VARIABLES as ATTR_VARIABLES, CONF_FIELDS as CONF_FIELDS, CONF_TRACE as CONF_TRACE, DOMAIN as DOMAIN, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, EVENT_SCRIPT_STARTED as EVENT_SCRIPT_STARTED, LOGGER as LOGGER
4
4
  from .helpers import async_get_blueprints as async_get_blueprints
5
5
  from .trace import trace_script as trace_script
6
6
  from _typeshed import Incomplete
@@ -8,7 +8,7 @@ from abc import ABC, abstractmethod
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.components import websocket_api as websocket_api
10
10
  from homeassistant.components.blueprint import CONF_USE_BLUEPRINT as CONF_USE_BLUEPRINT
11
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_MODE as ATTR_MODE, ATTR_NAME as ATTR_NAME, CONF_ALIAS as CONF_ALIAS, CONF_DEFAULT as CONF_DEFAULT, CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_ICON as CONF_ICON, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_PATH as CONF_PATH, CONF_SELECTOR as CONF_SELECTOR, CONF_SEQUENCE as CONF_SEQUENCE, CONF_VARIABLES as CONF_VARIABLES, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
11
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_MODE as ATTR_MODE, ATTR_NAME as ATTR_NAME, CONF_ALIAS as CONF_ALIAS, CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_ICON as CONF_ICON, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_PATH as CONF_PATH, CONF_SEQUENCE as CONF_SEQUENCE, CONF_VARIABLES as CONF_VARIABLES, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
12
12
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
13
13
  from homeassistant.helpers.config_validation import make_entity_service_schema as make_entity_service_schema
14
14
  from homeassistant.helpers.entity import ToggleEntity as ToggleEntity
@@ -16,7 +16,6 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
16
16
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
17
17
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
18
18
  from homeassistant.helpers.script import ATTR_CUR as ATTR_CUR, ATTR_MAX as ATTR_MAX, CONF_MAX as CONF_MAX, CONF_MAX_EXCEEDED as CONF_MAX_EXCEEDED, Script as Script, ScriptRunResult as ScriptRunResult, script_stack_cv as script_stack_cv
19
- from homeassistant.helpers.selector import selector as selector
20
19
  from homeassistant.helpers.service import async_set_service_schema as async_set_service_schema
21
20
  from homeassistant.helpers.trace import trace_get as trace_get, trace_path as trace_path
22
21
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -7,13 +7,16 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
7
7
  from homeassistant.const import PERCENTAGE as PERCENTAGE
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from spotifyaio.models import AudioFeatures as AudioFeatures
10
+ from spotifyaio.models import AudioFeatures as AudioFeatures, Key
11
11
 
12
12
  @dataclass(frozen=True, kw_only=True)
13
13
  class SpotifyAudioFeaturesSensorEntityDescription(SensorEntityDescription):
14
14
  value_fn: Callable[[AudioFeatures], float | str | None]
15
15
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
16
16
 
17
+ KEYS: dict[Key, str]
18
+ KEY_OPTIONS: Incomplete
19
+
17
20
  def _get_key(audio_features: AudioFeatures) -> str | None: ...
18
21
 
19
22
  AUDIO_FEATURE_SENSORS: tuple[SpotifyAudioFeaturesSensorEntityDescription, ...]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: homeassistant-stubs
3
- Version: 2024.11.0b1
3
+ Version: 2024.11.0b3
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
6
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
@@ -18,7 +18,7 @@ Classifier: Topic :: Home Automation
18
18
  Classifier: Topic :: Software Development
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: <3.14,>=3.12
21
- Requires-Dist: homeassistant==2024.11.0b1
21
+ Requires-Dist: homeassistant==2024.11.0b3
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)
@@ -1193,10 +1193,10 @@ homeassistant-stubs/components/glances/config_flow.pyi,sha256=9LFryGmnVNg15dQNth
1193
1193
  homeassistant-stubs/components/glances/const.pyi,sha256=bfttylfl1LkuE1doq8--8feKcQvBtgyt-lU59a6EUKg,155
1194
1194
  homeassistant-stubs/components/glances/coordinator.pyi,sha256=rht3P0VeXXngzYrFQer3jg1jH11lkz5k5frRAAwwhNQ,1009
1195
1195
  homeassistant-stubs/components/glances/sensor.pyi,sha256=lN9vtr3ZXfcHSifVyPCM-ZT9tXPg6awhpfQIyf5WX0Q,2453
1196
- homeassistant-stubs/components/go2rtc/__init__.pyi,sha256=MwAaUUyoGDN2jTxptlMs_BehU-a57unDnSixTqaHyLs,2350
1196
+ homeassistant-stubs/components/go2rtc/__init__.pyi,sha256=Ugl9SEspuBVQ0u1RTp0fKlsSkMsv17evYs5afzVeSBw,2428
1197
1197
  homeassistant-stubs/components/go2rtc/config_flow.pyi,sha256=vm2mv28c3EqTWnBZ44h9BsVeFA6HkwcGRrkH-BDe9dA,336
1198
- homeassistant-stubs/components/go2rtc/const.pyi,sha256=yfpVPJ15m9SLHC9f9AioUgygIXZ0q-tBBqD5s-Q4nAM,29
1199
- homeassistant-stubs/components/go2rtc/server.pyi,sha256=0UKMc-sIkdNI4WV7qjbHz4Eh_XRdIGcQRu_hsx3etmI,689
1198
+ homeassistant-stubs/components/go2rtc/const.pyi,sha256=k5L4Y6c1Ogd-9RIT1PvM59B8Id_jgvzbF46sUsBt2uo,57
1199
+ homeassistant-stubs/components/go2rtc/server.pyi,sha256=uyhjJMJA8LuOecbMGOtscHSTKW00tfi5XPp84nhE1_g,778
1200
1200
  homeassistant-stubs/components/goalzero/__init__.pyi,sha256=SewH2e3FxdXwaXOFXOr2DswVJMS2UzOHTk948U2P9eI,764
1201
1201
  homeassistant-stubs/components/goalzero/binary_sensor.pyi,sha256=XynzAbz3knRbNbeALSQT8Vkvj_u6VFtgmFvcMav1mdM,879
1202
1202
  homeassistant-stubs/components/goalzero/config_flow.pyi,sha256=Qe4AZ8GBXtQErAXYkrEdp_D0v1UlRqO-keyDpIx13KM,1083
@@ -2114,7 +2114,7 @@ homeassistant-stubs/components/neato/vacuum.pyi,sha256=kbM3yB04TMjnem0JRzmclNiAn
2114
2114
  homeassistant-stubs/components/nest/__init__.pyi,sha256=2hduKHlE-1RXu6gqGaoL7HIJrML25m_yiYBOAI5YXgI,4356
2115
2115
  homeassistant-stubs/components/nest/api.pyi,sha256=Ajp5Ws33oVifHhDcljQctwwW06kH-2hYcd46NrQdPrs,1826
2116
2116
  homeassistant-stubs/components/nest/application_credentials.pyi,sha256=6FJeSY56LumWCAyaIGYgl_lYqbkON3G4JRInkguyBsE,394
2117
- homeassistant-stubs/components/nest/camera.pyi,sha256=lN1CifD2d0m77tDY7HNBXWy9jHsEI0PizP4t03aoeMQ,3189
2117
+ homeassistant-stubs/components/nest/camera.pyi,sha256=gkh7oTGHhzwnoS8WJClRfArfxFueC9nvVBA2xhUGnXM,3846
2118
2118
  homeassistant-stubs/components/nest/climate.pyi,sha256=NHC3rQdyyAE3Js2mpK8-arZmnr6kKhvExY1NeJ_t_-A,3458
2119
2119
  homeassistant-stubs/components/nest/config_flow.pyi,sha256=ou9XObZeU9KmVVIL7XiKrSKlGG3OsXeKEUW7ikMKeCs,3030
2120
2120
  homeassistant-stubs/components/nest/const.pyi,sha256=z7Zxyy-jXKF2Juk28QZWqibzNo0gANo9oRKCymBxbcc,451
@@ -2696,7 +2696,7 @@ homeassistant-stubs/components/scrape/config_flow.pyi,sha256=eRpcjSkgRODieE32buk
2696
2696
  homeassistant-stubs/components/scrape/const.pyi,sha256=Ihpov5N9PWbYPat-55jDU7dQ9jqzo-WyfjQk0LMHaNs,272
2697
2697
  homeassistant-stubs/components/scrape/coordinator.pyi,sha256=RwpErgQsfJyIH83XKh_GpK2KSRrsjaqjd5XXVqyAIfg,720
2698
2698
  homeassistant-stubs/components/scrape/sensor.pyi,sha256=6TY3H3PhwC9uFeWjPZg0z-M8atcNTDEmo8Om_-VN9O0,2830
2699
- homeassistant-stubs/components/script/__init__.pyi,sha256=K0cdIErWtGVwEaEe2YwA73pLQv3y5v0OwwDC76w5IjU,8077
2699
+ homeassistant-stubs/components/script/__init__.pyi,sha256=x4KgNGcB9SVTFpAX07yX3RMwy2fU6T8ZR5kGOCCBAtc,7919
2700
2700
  homeassistant-stubs/components/script/config.pyi,sha256=ENz4E1dT3FBYauKDavcp7NOmDJRAv6TlpFyl8XU6fsM,2708
2701
2701
  homeassistant-stubs/components/script/const.pyi,sha256=6Hyq1cZ-yHYdi9JLwW-uhGnMYpje4tXyGxL-CzNoufc,276
2702
2702
  homeassistant-stubs/components/script/helpers.pyi,sha256=ZmkHWWSGickK7ZKjpH4UCDHu40oUVBVIBycfBeNljAc,654
@@ -2879,7 +2879,7 @@ homeassistant-stubs/components/spotify/diagnostics.pyi,sha256=o60XIOekBhj0Gsy7JU
2879
2879
  homeassistant-stubs/components/spotify/entity.pyi,sha256=CFCKXDGo1ql1i3J3qsM0TL1ywOzfPIV3eNzf6cVB138,534
2880
2880
  homeassistant-stubs/components/spotify/media_player.pyi,sha256=BZkZHbsEqu3OG-ndUlSSAEy1bLjEReTrilTo9G8lM6Q,4097
2881
2881
  homeassistant-stubs/components/spotify/models.pyi,sha256=2Vrdk4u6nn0Gy0-uwHSNKMaUl60wUmOv4DHaeAGqnAg,540
2882
- homeassistant-stubs/components/spotify/sensor.pyi,sha256=5QQO7Hs0owNCgUQe9R2lFKcxMZEIs_GsuDIETie8FV8,1976
2882
+ homeassistant-stubs/components/spotify/sensor.pyi,sha256=Up3ptvVBXsuNdWhrc2RGYTMph0QDbyyvVGCaKCBulzE,2027
2883
2883
  homeassistant-stubs/components/spotify/system_health.pyi,sha256=Ht4CAzjNxrifQmLgrpkzVKivDt0VIcGlYj7RiDh1PTw,352
2884
2884
  homeassistant-stubs/components/spotify/util.pyi,sha256=odnvW67eBiuvju5lXSAUEAcN8KI7Q6DIrK37ZKncnkU,367
2885
2885
  homeassistant-stubs/components/sql/__init__.pyi,sha256=jI2uC0kT1w5dbLaq6mf5htbiHdo1WWObfgxNqf7birs,1694
@@ -3733,7 +3733,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3733
3733
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3734
3734
  homeassistant-stubs/util/yaml/loader.pyi,sha256=QiGKfosJZpv3z8MePSrXiwF8SSxVnaHgMhYZQ351nBM,4692
3735
3735
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3736
- homeassistant_stubs-2024.11.0b1.dist-info/METADATA,sha256=qr5PEwLtNmjSXxOfNv-gEwEmgvHRZlWqeb_6wMzzzmI,2958
3737
- homeassistant_stubs-2024.11.0b1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
3738
- homeassistant_stubs-2024.11.0b1.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3739
- homeassistant_stubs-2024.11.0b1.dist-info/RECORD,,
3736
+ homeassistant_stubs-2024.11.0b3.dist-info/METADATA,sha256=fAA1lOU1eNXrSwQP1fuzVY1QQusQZ07QLb9DZ38hueE,2958
3737
+ homeassistant_stubs-2024.11.0b3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
3738
+ homeassistant_stubs-2024.11.0b3.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3739
+ homeassistant_stubs-2024.11.0b3.dist-info/RECORD,,