homeassistant-stubs 2024.11.0__py3-none-any.whl → 2024.11.0b0__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.
Files changed (29) hide show
  1. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -0
  2. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  3. homeassistant-stubs/components/bang_olufsen/websocket.pyi +0 -1
  4. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +0 -1
  5. homeassistant-stubs/components/camera/__init__.pyi +2 -6
  6. homeassistant-stubs/components/camera/webrtc.pyi +3 -4
  7. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -3
  8. homeassistant-stubs/components/go2rtc/const.pyi +1 -6
  9. homeassistant-stubs/components/go2rtc/server.pyi +3 -25
  10. homeassistant-stubs/components/intent/__init__.pyi +0 -5
  11. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -1
  12. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  13. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  14. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  15. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  16. homeassistant-stubs/components/music_assistant/media_player.pyi +91 -0
  17. homeassistant-stubs/components/nest/camera.pyi +17 -32
  18. homeassistant-stubs/components/onkyo/media_player.pyi +3 -4
  19. homeassistant-stubs/components/script/__init__.pyi +3 -2
  20. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +1 -1
  21. homeassistant-stubs/components/spotify/media_player.pyi +2 -4
  22. homeassistant-stubs/components/spotify/sensor.pyi +1 -4
  23. homeassistant-stubs/components/unifiprotect/camera.pyi +2 -3
  24. homeassistant-stubs/core.pyi +1 -5
  25. homeassistant-stubs/helpers/intent.pyi +0 -1
  26. {homeassistant_stubs-2024.11.0.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/METADATA +2 -2
  27. {homeassistant_stubs-2024.11.0.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/RECORD +29 -24
  28. {homeassistant_stubs-2024.11.0.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/WHEEL +0 -0
  29. {homeassistant_stubs-2024.11.0.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -67,6 +67,7 @@ ATTR_ITEM_NUMBER: Final[str]
67
67
  ATTR_FRIENDLY_NAME: Final[str]
68
68
  BANG_OLUFSEN_ON: Final[str]
69
69
  VALID_MEDIA_TYPES: Final[tuple]
70
+ HIDDEN_SOURCE_IDS: Final[tuple]
70
71
  FALLBACK_SOURCES: Final[SourceArray]
71
72
  BANG_OLUFSEN_WEBSOCKET_EVENT: Final[str]
72
73
  CONNECTION_STATUS: Final[str]
@@ -1,5 +1,5 @@
1
1
  from . import BangOlufsenConfigEntry as BangOlufsenConfigEntry
2
- from .const import BANG_OLUFSEN_REPEAT_FROM_HA as BANG_OLUFSEN_REPEAT_FROM_HA, BANG_OLUFSEN_REPEAT_TO_HA as BANG_OLUFSEN_REPEAT_TO_HA, BANG_OLUFSEN_STATES as BANG_OLUFSEN_STATES, BangOlufsenMediaType as BangOlufsenMediaType, BangOlufsenSource as BangOlufsenSource, CONF_BEOLINK_JID as CONF_BEOLINK_JID, CONNECTION_STATUS as CONNECTION_STATUS, DOMAIN as DOMAIN, FALLBACK_SOURCES as FALLBACK_SOURCES, VALID_MEDIA_TYPES as VALID_MEDIA_TYPES, WebsocketNotification as WebsocketNotification
2
+ from .const import BANG_OLUFSEN_REPEAT_FROM_HA as BANG_OLUFSEN_REPEAT_FROM_HA, BANG_OLUFSEN_REPEAT_TO_HA as BANG_OLUFSEN_REPEAT_TO_HA, BANG_OLUFSEN_STATES as BANG_OLUFSEN_STATES, BangOlufsenMediaType as BangOlufsenMediaType, BangOlufsenSource as BangOlufsenSource, CONF_BEOLINK_JID as CONF_BEOLINK_JID, CONNECTION_STATUS as CONNECTION_STATUS, DOMAIN as DOMAIN, FALLBACK_SOURCES as FALLBACK_SOURCES, HIDDEN_SOURCE_IDS as HIDDEN_SOURCE_IDS, VALID_MEDIA_TYPES as VALID_MEDIA_TYPES, WebsocketNotification as WebsocketNotification
3
3
  from .entity import BangOlufsenEntity as BangOlufsenEntity
4
4
  from .util import get_serial_number_from_jid as get_serial_number_from_jid
5
5
  from _typeshed import Incomplete
@@ -55,7 +55,7 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
55
55
  _attr_shuffle: Incomplete
56
56
  async def async_update(self) -> None: ...
57
57
  _attr_source_list: Incomplete
58
- async def _async_update_sources(self, _: Source | None = None) -> None: ...
58
+ async def _async_update_sources(self) -> None: ...
59
59
  async def _async_update_playback_metadata_and_beolink(self, data: PlaybackContentMetadata) -> None: ...
60
60
  def _async_update_playback_error(self, data: PlaybackError) -> None: ...
61
61
  def _async_update_playback_progress(self, data: PlaybackProgress) -> None: ...
@@ -24,7 +24,6 @@ class BangOlufsenWebsocket(BangOlufsenBase):
24
24
  def on_playback_metadata_notification(self, notification: PlaybackContentMetadata) -> None: ...
25
25
  def on_playback_progress_notification(self, notification: PlaybackProgress) -> None: ...
26
26
  def on_playback_state_notification(self, notification: RenderingState) -> None: ...
27
- def on_playback_source_notification(self, notification: Source) -> None: ...
28
27
  def on_source_change_notification(self, notification: Source) -> None: ...
29
28
  def on_volume_notification(self, notification: VolumeState) -> None: ...
30
29
  async def on_software_update_state(self, notification: SoftwareUpdateState) -> None: ...
@@ -28,4 +28,3 @@ class BMWOptionsFlow(OptionsFlowWithConfigEntry):
28
28
 
29
29
  class CannotConnect(HomeAssistantError): ...
30
30
  class InvalidAuth(HomeAssistantError): ...
31
- class MissingCaptcha(HomeAssistantError): ...
@@ -26,7 +26,6 @@ from homeassistant.helpers.template import Template as Template
26
26
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
27
27
  from homeassistant.loader import bind_hass as bind_hass
28
28
  from typing import Any, Final
29
- from webrtc_models import RTCIceCandidate as RTCIceCandidate
30
29
 
31
30
  _LOGGER: Incomplete
32
31
  ENTITY_ID_FORMAT: Final[Incomplete]
@@ -103,7 +102,6 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
103
102
  _attr_should_poll: bool
104
103
  _attr_state: None
105
104
  _attr_supported_features: CameraEntityFeature
106
- __supports_stream: CameraEntityFeature | None
107
105
  _cache: Incomplete
108
106
  stream: Incomplete
109
107
  stream_options: Incomplete
@@ -113,8 +111,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
113
111
  _create_stream_lock: Incomplete
114
112
  _webrtc_provider: Incomplete
115
113
  _legacy_webrtc_provider: Incomplete
116
- _supports_native_sync_webrtc: Incomplete
117
- _supports_native_async_webrtc: Incomplete
114
+ _webrtc_sync_offer: Incomplete
118
115
  def __init__(self) -> None: ...
119
116
  def entity_picture(self) -> str: ...
120
117
  def use_stream_for_stills(self) -> bool: ...
@@ -158,11 +155,10 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
158
155
  async def _async_get_supported_webrtc_provider[_T](self, fn: Callable[[HomeAssistant, Camera], Coroutine[None, None, _T | None]]) -> _T | None: ...
159
156
  def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
160
157
  def async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
161
- async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidate) -> None: ...
158
+ async def async_on_webrtc_candidate(self, session_id: str, candidate: str) -> None: ...
162
159
  def close_webrtc_session(self, session_id: str) -> None: ...
163
160
  def _invalidate_camera_capabilities_cache(self) -> None: ...
164
161
  def camera_capabilities(self) -> CameraCapabilities: ...
165
- def async_write_ha_state(self) -> None: ...
166
162
 
167
163
  class CameraView(HomeAssistantView):
168
164
  requires_auth: bool
@@ -12,7 +12,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
12
  from homeassistant.util.hass_dict import HassKey as HassKey
13
13
  from homeassistant.util.ulid import ulid as ulid
14
14
  from typing import Any, Protocol
15
- from webrtc_models import RTCConfiguration, RTCIceCandidate, RTCIceServer as RTCIceServer
15
+ from webrtc_models import RTCConfiguration, RTCIceServer as RTCIceServer
16
16
 
17
17
  _LOGGER: Incomplete
18
18
  DATA_WEBRTC_PROVIDERS: HassKey[set[CameraWebRTCProvider]]
@@ -38,8 +38,7 @@ class WebRTCAnswer(WebRTCMessage):
38
38
 
39
39
  @dataclass(frozen=True)
40
40
  class WebRTCCandidate(WebRTCMessage):
41
- candidate: RTCIceCandidate
42
- def as_dict(self) -> dict[str, Any]: ...
41
+ candidate: str
43
42
  def __init__(self, candidate) -> None: ...
44
43
 
45
44
  @dataclass(frozen=True)
@@ -66,7 +65,7 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
66
65
  @abstractmethod
67
66
  async def async_handle_async_webrtc_offer(self, camera: Camera, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
68
67
  @abstractmethod
69
- async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidate) -> None: ...
68
+ async def async_on_webrtc_candidate(self, session_id: str, candidate: str) -> None: ...
70
69
  def async_close_session(self, session_id: str) -> None: ...
71
70
 
72
71
  class CameraWebRTCLegacyProvider(Protocol):
@@ -1,4 +1,4 @@
1
- from .const import CONF_DEBUG_UI as CONF_DEBUG_UI, DEBUG_UI_URL_MESSAGE as DEBUG_UI_URL_MESSAGE, DOMAIN as DOMAIN, HA_MANAGED_URL as HA_MANAGED_URL
1
+ from .const import 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
@@ -12,7 +12,6 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
13
  from homeassistant.util.hass_dict import HassKey as HassKey
14
14
  from homeassistant.util.package import is_docker_env as is_docker_env
15
- from webrtc_models import RTCIceCandidate
16
15
 
17
16
  _LOGGER: Incomplete
18
17
  _SUPPORTED_STREAMS: Incomplete
@@ -37,5 +36,5 @@ class WebRTCProvider(CameraWebRTCProvider):
37
36
  def domain(self) -> str: ...
38
37
  def async_is_supported(self, stream_source: str) -> bool: ...
39
38
  async def async_handle_async_webrtc_offer(self, camera: Camera, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
40
- async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidate) -> None: ...
39
+ async def async_on_webrtc_candidate(self, session_id: str, candidate: str) -> None: ...
41
40
  def async_close_session(self, session_id: str) -> None: ...
@@ -1,7 +1,2 @@
1
- from _typeshed import Incomplete
2
-
3
1
  DOMAIN: str
4
- CONF_DEBUG_UI: str
5
- DEBUG_UI_URL_MESSAGE: str
6
- HA_MANAGED_API_PORT: int
7
- HA_MANAGED_URL: Incomplete
2
+ CONF_BINARY: str
@@ -1,44 +1,22 @@
1
1
  import asyncio
2
- from .const import HA_MANAGED_API_PORT as HA_MANAGED_API_PORT, HA_MANAGED_URL as HA_MANAGED_URL
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.core import HomeAssistant as HomeAssistant
5
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
5
 
8
6
  _LOGGER: Incomplete
9
7
  _TERMINATE_TIMEOUT: int
10
8
  _SETUP_TIMEOUT: int
11
9
  _SUCCESSFUL_BOOT_MESSAGE: str
12
- _LOCALHOST_IP: str
13
- _LOG_BUFFER_SIZE: int
14
- _RESPAWN_COOLDOWN: int
15
- _GO2RTC_CONFIG_FORMAT: str
16
- _LOG_LEVEL_MAP: Incomplete
10
+ _GO2RTC_CONFIG: str
17
11
 
18
- class Go2RTCServerStartError(HomeAssistantError):
19
- _message: str
20
-
21
- class Go2RTCWatchdogError(HomeAssistantError): ...
22
-
23
- def _create_temp_file(api_ip: str) -> str: ...
12
+ def _create_temp_file() -> str: ...
24
13
 
25
14
  class Server:
26
15
  _hass: Incomplete
27
16
  _binary: Incomplete
28
- _log_buffer: Incomplete
29
17
  _process: Incomplete
30
18
  _startup_complete: Incomplete
31
- _api_ip: Incomplete
32
- _watchdog_task: Incomplete
33
- _watchdog_tasks: Incomplete
34
- def __init__(self, hass: HomeAssistant, binary: str, *, enable_ui: bool = False) -> None: ...
19
+ def __init__(self, hass: HomeAssistant, binary: str) -> None: ...
35
20
  async def start(self) -> None: ...
36
- async def _start(self) -> None: ...
37
21
  async def _log_output(self, process: asyncio.subprocess.Process) -> None: ...
38
- def _log_server_output(self, loglevel: int) -> None: ...
39
- async def _watchdog(self) -> None: ...
40
- async def _monitor_process(self) -> None: ...
41
- async def _monitor_api(self) -> None: ...
42
- async def _stop_watchdog(self) -> None: ...
43
22
  async def stop(self) -> None: ...
44
- async def _stop(self) -> None: ...
@@ -40,11 +40,6 @@ class GetCurrentTimeIntentHandler(intent.IntentHandler):
40
40
  description: str
41
41
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
42
42
 
43
- class HelloIntentHandler(intent.IntentHandler):
44
- intent_type: Incomplete
45
- description: str
46
- async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
47
-
48
43
  class IntentHandleView(http.HomeAssistantView):
49
44
  url: str
50
45
  name: str
@@ -10,7 +10,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
13
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
 
16
16
  def add_lcn_entities(config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
@@ -0,0 +1,27 @@
1
+ import asyncio
2
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
6
+ from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
7
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
11
+ from music_assistant_client import MusicAssistantClient
12
+ from music_assistant_models.event import MassEvent as MassEvent
13
+
14
+ type MusicAssistantConfigEntry = ConfigEntry[MusicAssistantEntryData]
15
+ PLATFORMS: Incomplete
16
+ CONNECT_TIMEOUT: int
17
+ LISTEN_READY_TIMEOUT: int
18
+
19
+ @dataclass
20
+ class MusicAssistantEntryData:
21
+ mass: MusicAssistantClient
22
+ listen_task: asyncio.Task
23
+ def __init__(self, mass, listen_task) -> None: ...
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry) -> bool: ...
26
+ async def _client_listen(hass: HomeAssistant, entry: ConfigEntry, mass: MusicAssistantClient, init_ready: asyncio.Event) -> None: ...
27
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,24 @@
1
+ import voluptuous as vol
2
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components import zeroconf as zeroconf
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_URL as CONF_URL
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
9
+ from music_assistant_models.api import ServerInfoMessage
10
+ from typing import Any
11
+
12
+ DEFAULT_URL: str
13
+ DEFAULT_TITLE: str
14
+
15
+ def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
16
+ async def get_server_info(hass: HomeAssistant, url: str) -> ServerInfoMessage: ...
17
+
18
+ class MusicAssistantConfigFlow(ConfigFlow, domain=DOMAIN):
19
+ VERSION: int
20
+ server_info: Incomplete
21
+ def __init__(self) -> None: ...
22
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
24
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,12 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ DOMAIN_EVENT: Incomplete
5
+ DEFAULT_NAME: str
6
+ ATTR_IS_GROUP: str
7
+ ATTR_GROUP_MEMBERS: str
8
+ ATTR_GROUP_PARENTS: str
9
+ ATTR_MASS_PLAYER_TYPE: str
10
+ ATTR_ACTIVE_QUEUE: str
11
+ ATTR_STREAM_TITLE: str
12
+ LOGGER: Incomplete
@@ -0,0 +1,24 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
4
+ from homeassistant.helpers.entity import Entity as Entity
5
+ from music_assistant_client import MusicAssistantClient as MusicAssistantClient
6
+ from music_assistant_models.event import MassEvent as MassEvent
7
+ from music_assistant_models.player import Player as Player
8
+
9
+ class MusicAssistantEntity(Entity):
10
+ _attr_has_entity_name: bool
11
+ _attr_should_poll: bool
12
+ mass: Incomplete
13
+ player_id: Incomplete
14
+ _attr_device_info: Incomplete
15
+ def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
16
+ async def async_added_to_hass(self) -> None: ...
17
+ @property
18
+ def player(self) -> Player: ...
19
+ @property
20
+ def unique_id(self) -> str | None: ...
21
+ @property
22
+ def available(self) -> bool: ...
23
+ async def __on_mass_update(self, event: MassEvent) -> None: ...
24
+ async def async_on_update(self) -> None: ...
@@ -0,0 +1,91 @@
1
+ from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
2
+ from .const import ATTR_ACTIVE_QUEUE as ATTR_ACTIVE_QUEUE, ATTR_MASS_PLAYER_TYPE as ATTR_MASS_PLAYER_TYPE, DOMAIN as DOMAIN
3
+ from .entity import MusicAssistantEntity as MusicAssistantEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
6
+ from homeassistant.components import media_source as media_source
7
+ from homeassistant.components.media_player import ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
8
+ from homeassistant.const import STATE_OFF as STATE_OFF
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp
13
+ from music_assistant_client import MusicAssistantClient as MusicAssistantClient
14
+ from music_assistant_models.enums import MediaType, QueueOption
15
+ from music_assistant_models.event import MassEvent as MassEvent
16
+ from music_assistant_models.player import Player as Player
17
+ from music_assistant_models.player_queue import PlayerQueue as PlayerQueue
18
+ from typing import Any
19
+
20
+ SUPPORTED_FEATURES: Incomplete
21
+ QUEUE_OPTION_MAP: Incomplete
22
+ ATTR_RADIO_MODE: str
23
+ ATTR_MEDIA_ID: str
24
+ ATTR_MEDIA_TYPE: str
25
+ ATTR_ARTIST: str
26
+ ATTR_ALBUM: str
27
+ ATTR_URL: str
28
+ ATTR_USE_PRE_ANNOUNCE: str
29
+ ATTR_ANNOUNCE_VOLUME: str
30
+ ATTR_SOURCE_PLAYER: str
31
+ ATTR_AUTO_PLAY: str
32
+
33
+ def catch_musicassistant_error[_R, **P](func: Callable[..., Awaitable[_R]]) -> Callable[..., Coroutine[Any, Any, _R | None]]: ...
34
+ async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
35
+
36
+ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
37
+ _attr_name: Incomplete
38
+ _attr_media_image_remotely_accessible: bool
39
+ _attr_media_content_type: Incomplete
40
+ _attr_icon: Incomplete
41
+ _attr_supported_features: Incomplete
42
+ _attr_device_class: Incomplete
43
+ _prev_time: int
44
+ def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
45
+ async def async_added_to_hass(self) -> None: ...
46
+ @property
47
+ def active_queue(self) -> PlayerQueue | None: ...
48
+ @property
49
+ def extra_state_attributes(self) -> Mapping[str, Any]: ...
50
+ _attr_state: Incomplete
51
+ _attr_group_members: Incomplete
52
+ _attr_volume_level: Incomplete
53
+ _attr_is_volume_muted: Incomplete
54
+ async def async_on_update(self) -> None: ...
55
+ async def async_media_play(self) -> None: ...
56
+ async def async_media_pause(self) -> None: ...
57
+ async def async_media_stop(self) -> None: ...
58
+ async def async_media_next_track(self) -> None: ...
59
+ async def async_media_previous_track(self) -> None: ...
60
+ async def async_media_seek(self, position: float) -> None: ...
61
+ async def async_mute_volume(self, mute: bool) -> None: ...
62
+ async def async_set_volume_level(self, volume: float) -> None: ...
63
+ async def async_volume_up(self) -> None: ...
64
+ async def async_volume_down(self) -> None: ...
65
+ async def async_turn_on(self) -> None: ...
66
+ async def async_turn_off(self) -> None: ...
67
+ async def async_set_shuffle(self, shuffle: bool) -> None: ...
68
+ async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
69
+ async def async_clear_playlist(self) -> None: ...
70
+ async def async_play_media(self, media_type: MediaType | str, media_id: str, enqueue: MediaPlayerEnqueue | None = None, announce: bool | None = None, **kwargs: Any) -> None: ...
71
+ async def async_join_players(self, group_members: list[str]) -> None: ...
72
+ async def async_unjoin_player(self) -> None: ...
73
+ async def _async_handle_play_media(self, media_id: list[str], enqueue: MediaPlayerEnqueue | QueueOption | None = None, radio_mode: bool | None = None, media_type: str | None = None) -> None: ...
74
+ async def _async_handle_play_announcement(self, url: str, use_pre_announce: bool | None = None, announce_volume: int | None = None) -> None: ...
75
+ async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
76
+ _attr_media_image_url: Incomplete
77
+ def _update_media_image_url(self, player: Player, queue: PlayerQueue | None) -> None: ...
78
+ _attr_media_artist: Incomplete
79
+ _attr_media_album_artist: Incomplete
80
+ _attr_media_album_name: Incomplete
81
+ _attr_media_title: Incomplete
82
+ _attr_media_content_id: Incomplete
83
+ _attr_media_duration: Incomplete
84
+ _attr_media_position: Incomplete
85
+ _attr_media_position_updated_at: Incomplete
86
+ _attr_app_id: Incomplete
87
+ _attr_shuffle: Incomplete
88
+ _attr_repeat: Incomplete
89
+ _attr_source: Incomplete
90
+ def _update_media_attributes(self, player: Player, queue: PlayerQueue | None) -> None: ...
91
+ def _convert_queueoption_to_media_player_enqueue(self, queue_option: MediaPlayerEnqueue | QueueOption | None) -> QueueOption | None: ...
@@ -1,11 +1,9 @@
1
- import abc
2
1
  import datetime
3
2
  from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
4
3
  from .device_info import NestDeviceInfo as NestDeviceInfo
5
4
  from _typeshed import Incomplete
6
- from abc import ABC, abstractmethod
7
5
  from collections.abc import Callable as Callable
8
- from google_nest_sdm.camera_traits import CameraLiveStreamTrait, RtspStream as RtspStream, WebRtcStream as WebRtcStream
6
+ from google_nest_sdm.camera_traits import RtspStream as RtspStream, Stream as Stream, WebRtcStream as WebRtcStream
9
7
  from google_nest_sdm.device import Device as Device
10
8
  from google_nest_sdm.device_manager import DeviceManager as DeviceManager
11
9
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
@@ -23,53 +21,40 @@ STREAM_EXPIRATION_BUFFER: Incomplete
23
21
 
24
22
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
23
 
26
- class NestCameraBaseEntity(Camera, ABC, metaclass=abc.ABCMeta):
24
+ class NestCamera(Camera):
27
25
  _attr_has_entity_name: bool
28
26
  _attr_name: Incomplete
29
- _attr_is_streaming: bool
30
- _attr_supported_features: Incomplete
31
27
  _device: Incomplete
32
28
  _attr_device_info: Incomplete
33
29
  _attr_brand: Incomplete
34
30
  _attr_model: Incomplete
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
31
+ _rtsp_stream: Incomplete
32
+ _webrtc_sessions: Incomplete
50
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
+ _attr_unique_id: Incomplete
51
39
  def __init__(self, device: Device) -> None: ...
52
40
  @property
53
41
  def use_stream_for_stills(self) -> bool: ...
54
42
  @property
43
+ def frontend_stream_type(self) -> StreamType | None: ...
44
+ @property
55
45
  def available(self) -> bool: ...
56
46
  async def stream_source(self) -> str | None: ...
57
- def _stream_expires_at(self) -> datetime.datetime | 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: ...
58
50
  stream: Incomplete
59
- async def _async_refresh_stream(self) -> None: ...
51
+ async def _handle_rtsp_stream_refresh(self) -> None: ...
52
+ async def _handle_webrtc_stream_refresh(self) -> None: ...
60
53
  async def async_will_remove_from_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: ...
54
+ async def async_added_to_hass(self) -> None: ...
69
55
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
70
56
  @classmethod
71
57
  def placeholder_image(cls) -> bytes: ...
72
58
  async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
73
59
  def close_webrtc_session(self, session_id: str) -> None: ...
74
60
  def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
75
- async def async_will_remove_from_hass(self) -> None: ...
@@ -31,8 +31,8 @@ AUDIO_INFORMATION_MAPPING: Incomplete
31
31
  VIDEO_INFORMATION_MAPPING: Incomplete
32
32
  ISSUE_URL_PLACEHOLDER: str
33
33
  type InputLibValue = str | tuple[str, ...]
34
+ _cmds: dict[str, InputLibValue]
34
35
 
35
- def _input_lib_cmds(zone: str) -> dict[InputSource, InputLibValue]: ...
36
36
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
37
37
  async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
38
38
 
@@ -48,10 +48,9 @@ class OnkyoMediaPlayer(MediaPlayerEntity):
48
48
  _zone: Incomplete
49
49
  _volume_resolution: Incomplete
50
50
  _max_volume: Incomplete
51
- _name_mapping: Incomplete
52
- _reverse_name_mapping: Incomplete
51
+ _source_mapping: Incomplete
52
+ _reverse_mapping: Incomplete
53
53
  _lib_mapping: Incomplete
54
- _reverse_lib_mapping: Incomplete
55
54
  _attr_source_list: Incomplete
56
55
  _attr_extra_state_attributes: Incomplete
57
56
  def __init__(self, receiver: Receiver, zone: str, *, volume_resolution: VolumeResolution, max_volume: float, sources: dict[InputSource, str]) -> 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_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_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
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_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
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
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,6 +16,7 @@ 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
19
20
  from homeassistant.helpers.service import async_set_service_schema as async_set_service_schema
20
21
  from homeassistant.helpers.trace import trace_get as trace_get, trace_path as trace_path
21
22
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -1,6 +1,6 @@
1
1
  from .coordinator import SpeedTestDataCoordinator as SpeedTestDataCoordinator
2
2
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import Platform as Platform
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -4,23 +4,21 @@ from .const import MEDIA_PLAYER_PREFIX as MEDIA_PLAYER_PREFIX, PLAYABLE_MEDIA_TY
4
4
  from .coordinator import SpotifyConfigEntry as SpotifyConfigEntry, SpotifyCoordinator as SpotifyCoordinator
5
5
  from .entity import SpotifyEntity as SpotifyEntity
6
6
  from _typeshed import Incomplete
7
- from collections.abc import Awaitable, Callable as Callable, Coroutine
7
+ from collections.abc import Callable as Callable
8
8
  from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
12
12
  from spotifyaio import Device as Device, Item as Item, PlaybackState as PlaybackState
13
- from typing import Any, Concatenate
13
+ from typing import Any
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  SUPPORT_SPOTIFY: Incomplete
17
17
  REPEAT_MODE_MAPPING_TO_HA: Incomplete
18
18
  REPEAT_MODE_MAPPING_TO_SPOTIFY: Incomplete
19
- AFTER_REQUEST_SLEEP: int
20
19
 
21
20
  async def async_setup_entry(hass: HomeAssistant, entry: SpotifyConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
21
  def ensure_item[_R](func: Callable[[SpotifyMediaPlayer, Item], _R]) -> Callable[[SpotifyMediaPlayer], _R | None]: ...
23
- def async_refresh_after[_T: SpotifyEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
24
22
 
25
23
  class SpotifyMediaPlayer(SpotifyEntity, MediaPlayerEntity):
26
24
  _attr_media_image_remotely_accessible: bool
@@ -7,16 +7,13 @@ 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, Key
10
+ from spotifyaio.models import AudioFeatures as AudioFeatures
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
-
20
17
  def _get_key(audio_features: AudioFeatures) -> str | None: ...
21
18
 
22
19
  AUDIO_FEATURE_SENSORS: tuple[SpotifyAudioFeaturesSensorEntityDescription, ...]
@@ -18,8 +18,7 @@ def _get_camera_channels(hass: HomeAssistant, entry: UFPConfigEntry, data: Prote
18
18
  def _async_camera_entities(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, ufp_device: UFPCamera | None = None) -> list[ProtectDeviceEntity]: ...
19
19
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
20
 
21
- _DISABLE_FEATURE: Incomplete
22
- _ENABLE_FEATURE: Incomplete
21
+ _EMPTY_CAMERA_FEATURES: Incomplete
23
22
 
24
23
  class ProtectCamera(ProtectDeviceEntity, Camera):
25
24
  device: UFPCamera
@@ -32,8 +31,8 @@ class ProtectCamera(ProtectDeviceEntity, Camera):
32
31
  _attr_name: Incomplete
33
32
  _attr_entity_registry_enabled_default: Incomplete
34
33
  def __init__(self, data: ProtectData, camera: UFPCamera, channel: CameraChannel, is_default: bool, secure: bool, disable_stream: bool) -> None: ...
35
- _attr_supported_features: Incomplete
36
34
  _stream_source: Incomplete
35
+ _attr_supported_features: Incomplete
37
36
  def _async_set_stream_source(self) -> None: ...
38
37
  _attr_motion_detection_enabled: Incomplete
39
38
  _attr_is_recording: Incomplete
@@ -9,7 +9,7 @@ from .components.http import HomeAssistantHTTP as HomeAssistantHTTP
9
9
  from .config_entries import ConfigEntries as ConfigEntries
10
10
  from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, __version__ as __version__
11
11
  from .exceptions import HomeAssistantError as HomeAssistantError, InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, MaxLengthExceeded as MaxLengthExceeded, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
12
- from .helpers.deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
12
+ from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
13
13
  from .helpers.entity import StateInfo as StateInfo
14
14
  from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
15
15
  from .helpers.typing import VolSchemaType as VolSchemaType
@@ -59,10 +59,6 @@ class EventStateReportedData(EventStateEventData):
59
59
  _DEPRECATED_SOURCE_DISCOVERED: Incomplete
60
60
  _DEPRECATED_SOURCE_STORAGE: Incomplete
61
61
  _DEPRECATED_SOURCE_YAML: Incomplete
62
-
63
- def _deprecated_core_config() -> Any: ...
64
-
65
- _DEPRECATED_Config: Incomplete
66
62
  TIMEOUT_EVENT_START: int
67
63
  EVENTS_EXCLUDED_FROM_MATCH_ALL: Incomplete
68
64
  _LOGGER: Incomplete
@@ -34,7 +34,6 @@ INTENT_UNPAUSE_TIMER: str
34
34
  INTENT_TIMER_STATUS: str
35
35
  INTENT_GET_CURRENT_DATE: str
36
36
  INTENT_GET_CURRENT_TIME: str
37
- INTENT_RESPOND: str
38
37
  SLOT_SCHEMA: Incomplete
39
38
  DATA_KEY: HassKey[dict[str, IntentHandler]]
40
39
  SPEECH_TYPE_PLAIN: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: homeassistant-stubs
3
- Version: 2024.11.0
3
+ Version: 2024.11.0b0
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.0
21
+ Requires-Dist: homeassistant==2024.11.0b0
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)
@@ -5,7 +5,7 @@ homeassistant-stubs/bootstrap.pyi,sha256=1MV3BF2h4aW_kkk4fEzDapw-afVneWCT4o8iBhN
5
5
  homeassistant-stubs/config.pyi,sha256=JNEMpWGOkJJtFZLWcltjn581qHOZBa1gFVLvdRnJ89g,7020
6
6
  homeassistant-stubs/config_entries.pyi,sha256=3Ge3LwZym0rfUR8VfGo4Nf5cOBsjQ9hDGYvDn4Y4q3Y,22294
7
7
  homeassistant-stubs/const.pyi,sha256=gnWmYQqr72hd1mR875F_IKQIRG1m-H3H1hwHhrai9C8,26770
8
- homeassistant-stubs/core.pyi,sha256=PZtrX8foEX8YRuEnCT0o_VG9DRSTdX2q758cLnYI-9E,23062
8
+ homeassistant-stubs/core.pyi,sha256=69JWOSjXWsvIuqE3_rlcBX2yB_RXv2ZSH4aj55pcrLU,22935
9
9
  homeassistant-stubs/core_config.pyi,sha256=dadqISPd6hwSxD-i1_KNHvuJDikwzEy6EjSUoTstRBc,6164
10
10
  homeassistant-stubs/data_entry_flow.pyi,sha256=ot06KBKn_TQBU60t2e7M_M8mu3Pe2kPxpRO0Cdnn-rU,8836
11
11
  homeassistant-stubs/exceptions.pyi,sha256=Fph9efKLGi0Apdz5RxoxEHMLNYAWeKVSQLD8AjXTTLA,3720
@@ -419,11 +419,11 @@ homeassistant-stubs/components/baf/sensor.pyi,sha256=TTeK_3_lrRvWLbQiCBv8fsNcbko
419
419
  homeassistant-stubs/components/baf/switch.pyi,sha256=2aOgG-eiY6WbaBX0sLuK1l1cy9oWeDDjWZFa3dsjW2s,1635
420
420
  homeassistant-stubs/components/bang_olufsen/__init__.pyi,sha256=DWMPLh6spvL4jieBQkc3_LI6QWgkeQNME6aR_vrHcAw,1033
421
421
  homeassistant-stubs/components/bang_olufsen/config_flow.pyi,sha256=UmPcI4AkwCdc0DxluKmwLxSyRWFYyyO8Mrm1CQZv2hA,1716
422
- homeassistant-stubs/components/bang_olufsen/const.pyi,sha256=07GZP3vcJaXcQUvXzKrtr_kZSB7LRDAqJGp0ZcwwVC4,2341
422
+ homeassistant-stubs/components/bang_olufsen/const.pyi,sha256=bjt9zymMHTf2opYfrAn7QSnA68u_glmxQ9YVroeW3s4,2373
423
423
  homeassistant-stubs/components/bang_olufsen/entity.pyi,sha256=EXOKAxy9ffOx8dt9LTUlljM5rN_2sqS4CRZeHx1C4sU,1167
424
- homeassistant-stubs/components/bang_olufsen/media_player.pyi,sha256=cK5-dZTnWjpwgqBmOjuDGefjgbOT-y7da-DrkJs1kNY,7057
424
+ homeassistant-stubs/components/bang_olufsen/media_player.pyi,sha256=ccJPq6D3Wocf8MogLUJkikMSCZ4jbKT9M8lyzeaL1II,7072
425
425
  homeassistant-stubs/components/bang_olufsen/util.pyi,sha256=hq3UF46X_IceVaQySA_Rry7XWw3VhfvhcgiisNMHkPM,301
426
- homeassistant-stubs/components/bang_olufsen/websocket.pyi,sha256=2pL8icdn3zvornQHT8EhT0BU70MKi8X32ear6QR-eUE,2330
426
+ homeassistant-stubs/components/bang_olufsen/websocket.pyi,sha256=eE00lgofnMfpZ7dYsD0XvZigWjKqoOjqWBpTItFA_y0,2249
427
427
  homeassistant-stubs/components/bayesian/__init__.pyi,sha256=rWT3SFRVo9UAulZ2cOIIZLDcsSvgXDgWjiGGp2jOpoY,121
428
428
  homeassistant-stubs/components/bayesian/binary_sensor.pyi,sha256=w8AQMtb9ZJdVDFtN2i2diZrOBSUEn9RZu6WehAnpSks,4629
429
429
  homeassistant-stubs/components/bayesian/const.pyi,sha256=vxKV9AjDTpi1KJ0cyEZY-mlwSjkmvLoRTXCckyjOHkc,345
@@ -477,7 +477,7 @@ homeassistant-stubs/components/bluetooth_tracker/device_tracker.pyi,sha256=x33M_
477
477
  homeassistant-stubs/components/bmw_connected_drive/__init__.pyi,sha256=H6Qss40KjP6UHx2k_m-6e7pUDNP3MspTyz38fCBgQsg,1241
478
478
  homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi,sha256=wdevqh3ETyhUuVjJa3KBqjhxrkQKd5NgHP1Vu95NC1I,2749
479
479
  homeassistant-stubs/components/bmw_connected_drive/button.pyi,sha256=98FWTp_o2vNby8C3TsDs1Sz6WTxECj3AD9PAQsLMu-A,2004
480
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi,sha256=q-LOlPUwy8zz-5sdSRPd23trL0f_HdfdL9H1B6AyZ2k,2029
480
+ homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi,sha256=wakoW5eVy-J0BbF0yhCLCCy0KI5r-UkzIXap5fAgUNY,1983
481
481
  homeassistant-stubs/components/bmw_connected_drive/const.pyi,sha256=IvzkouJqxVPq2-8BkXV_71HfeKpIOjRQjAq68HaQ5vE,351
482
482
  homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi,sha256=MThU0SjYv87xdErN0OQEDe70S16ioc6dMiuAejyiaZM,1207
483
483
  homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi,sha256=ZtkntTTw7OhcFcdlI48huYrdfm-Px0U1JH1OlLycPqM,1226
@@ -548,7 +548,7 @@ homeassistant-stubs/components/cambridge_audio/entity.pyi,sha256=FBMzxk6dl5vuAtG
548
548
  homeassistant-stubs/components/cambridge_audio/media_player.pyi,sha256=VDtB5KTtAQfAv0XYnY0x8ZfLBDCQ0CpWnwBjCk-rBMY,3595
549
549
  homeassistant-stubs/components/cambridge_audio/select.pyi,sha256=ZO8Y5oLILG1U1ngzpEN9068XLzJfQTlwejH_RrK2mEo,2170
550
550
  homeassistant-stubs/components/cambridge_audio/switch.pyi,sha256=sAmWCY1931fk-LcOm8PuW9RXbYN9uvprKeUwopMNwtk,1879
551
- homeassistant-stubs/components/camera/__init__.pyi,sha256=rNiyDdg2nTzPu3LW6i34pIyv9vYpNmJyvczbN-BxzjA,12762
551
+ homeassistant-stubs/components/camera/__init__.pyi,sha256=Ru3XmzqZcanAgosf2dnitpXzKUaxlHwUkPWwrl5ouXE,12535
552
552
  homeassistant-stubs/components/camera/const.pyi,sha256=iYrPzTgW3tqIQ2lHYxR8UcVkuVu1EqISsxCZuoHk5fI,1252
553
553
  homeassistant-stubs/components/camera/diagnostics.pyi,sha256=1MPbSgsu7iSIxA9MPr2XwpX8B8e-qyrPZ9Vq0mnDtYk,459
554
554
  homeassistant-stubs/components/camera/helper.pyi,sha256=ngc3mpX9Z2jOWNtzxoH9xKIW_-9C1QeZ-dFQ2fGg8E8,306
@@ -556,7 +556,7 @@ homeassistant-stubs/components/camera/img_util.pyi,sha256=rEWvDRbmNe8sYRCzqs9mGc
556
556
  homeassistant-stubs/components/camera/media_source.pyi,sha256=TSzIb36nNbaNsiVlPfHn6BtOuc7ppazFxXyivLqclec,1350
557
557
  homeassistant-stubs/components/camera/prefs.pyi,sha256=U94agOymP4IZ03V3PU3LOdbByMH0ZdWPoX4CRtJxEX0,1377
558
558
  homeassistant-stubs/components/camera/significant_change.pyi,sha256=jAQqTYLLfClGsTlFv9chopqShJ6bZQJqS7Fy84yRZ8c,265
559
- homeassistant-stubs/components/camera/webrtc.pyi,sha256=pMMMN_LXVyG1B33_Eu_uTM2UKk_M98OsRC3qsOdc30k,4605
559
+ homeassistant-stubs/components/camera/webrtc.pyi,sha256=MB-g_lKS1cCECpjX6DbL_1-nVHwJLi8fvoXahGnaRGE,4519
560
560
  homeassistant-stubs/components/canary/__init__.pyi,sha256=q-8u1Fbh-Qvx_iJO3Ql6nLg9OXc6jmftc72Apfdc3B4,1420
561
561
  homeassistant-stubs/components/canary/alarm_control_panel.pyi,sha256=YOBMFachY37IjxZsBh2qbXtL-V1P6SsqICnvllLEiTw,1750
562
562
  homeassistant-stubs/components/canary/camera.pyi,sha256=snwzZ1mNBGg9wfq7vq_sjp02ZIh7MH0kDPWe3iqPNIM,2474
@@ -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=jfH1gk961gkAMGj02i0Z8TkfDily4uzyNK1Ed8PNWIY,2516
1196
+ homeassistant-stubs/components/go2rtc/__init__.pyi,sha256=MwAaUUyoGDN2jTxptlMs_BehU-a57unDnSixTqaHyLs,2350
1197
1197
  homeassistant-stubs/components/go2rtc/config_flow.pyi,sha256=vm2mv28c3EqTWnBZ44h9BsVeFA6HkwcGRrkH-BDe9dA,336
1198
- homeassistant-stubs/components/go2rtc/const.pyi,sha256=D_MF01aCJXyEDA_iT78m2BwtXN69V__g2nwhnTMHvlY,143
1199
- homeassistant-stubs/components/go2rtc/server.pyi,sha256=djyRt4YycXgZICQTw2fOageqDZJx2j0junB44H3sbxQ,1585
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
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
@@ -1513,7 +1513,7 @@ homeassistant-stubs/components/integration/__init__.pyi,sha256=64pi7wDuX9BJBHe7V
1513
1513
  homeassistant-stubs/components/integration/config_flow.pyi,sha256=ODEUdIDWEGQxOjWPeb46ZCU6rpevm-L1_Of-u-9VqKU,1696
1514
1514
  homeassistant-stubs/components/integration/const.pyi,sha256=R7lHqjIAH5GaVha03LbSKy6qe8HkDhWxXr7WCkvr2N0,283
1515
1515
  homeassistant-stubs/components/integration/sensor.pyi,sha256=xhYG0ZUpEV04i-rPLHwftc3zQwoefa5YIy3m-sbZm2Y,7266
1516
- homeassistant-stubs/components/intent/__init__.pyi,sha256=byfPxkUFXRbmcpJ-2oGHHY_TGUuMrvOcD0y0koM8Gpo,2236
1516
+ homeassistant-stubs/components/intent/__init__.pyi,sha256=IaY7LWjaO9xz6Q3VtWXAGnNcG8qm24AONGTfXrCYG7c,2048
1517
1517
  homeassistant-stubs/components/intent/const.pyi,sha256=3O_gvS76ZKuzViWqM8923WbKQEZ9umuZYPeJryQTmco,69
1518
1518
  homeassistant-stubs/components/intent/timers.pyi,sha256=McG2RQz2JXT3vOctt5LaDaZuIhscLcvBB-ncd-50YyM,5603
1519
1519
  homeassistant-stubs/components/intent_script/__init__.pyi,sha256=gf5BVHXiOrRChe3i4221JZ1l6Cj6E2KXhsAOWLV210k,1749
@@ -1698,7 +1698,7 @@ homeassistant-stubs/components/laundrify/sensor.pyi,sha256=CZN1lKLgM-4kqV7fswvdn
1698
1698
  homeassistant-stubs/components/lawn_mower/__init__.pyi,sha256=BSy-hnZ_QBsql-jkAELioINENDUVpWl7LAUJcVyUjiE,2481
1699
1699
  homeassistant-stubs/components/lawn_mower/const.pyi,sha256=i-_kyaXNWyB42inhBnLj7olyYjTUSsbX-JoukHFS0dU,347
1700
1700
  homeassistant-stubs/components/lcn/__init__.pyi,sha256=Jz5gLLuZk2MhpOCh3NuRE1RtO9WMZFcNUi6xEpaYn7k,2201
1701
- homeassistant-stubs/components/lcn/binary_sensor.pyi,sha256=P9y3CsQ4s4f7tMriEy2-GutOe_14cob3l-Q-bBxP6iY,2592
1701
+ homeassistant-stubs/components/lcn/binary_sensor.pyi,sha256=FIOE-I3VHtOcg_FCmCZ9hIZKs8WJTMDmiY70ESUgSG0,2550
1702
1702
  homeassistant-stubs/components/lcn/climate.pyi,sha256=yMuLE7b0tmDN0hUN5ZUKQONLysl9100SDGYCB-VnlD8,2609
1703
1703
  homeassistant-stubs/components/lcn/config_flow.pyi,sha256=fgXvB-iugIAsIRWdHWSt2WL7cgFia7QautssydxewUA,1782
1704
1704
  homeassistant-stubs/components/lcn/const.pyi,sha256=0_86QTIy4Pa8kYAenkUS-SQ7byE7viGVbXhH3h706Dg,1295
@@ -2050,6 +2050,11 @@ homeassistant-stubs/components/mqtt/light/schema.pyi,sha256=uWMGNFfSJQ7x4bYFxOVL
2050
2050
  homeassistant-stubs/components/mqtt/light/schema_basic.pyi,sha256=AvY_VjqiBU_M3HPmVnGmt6jn4LiyVHItcx1wj4dNR8Q,6344
2051
2051
  homeassistant-stubs/components/mqtt/light/schema_json.pyi,sha256=RWmsKA9dJjNTtEO1IiCrHf5qOZ8uRfTY5cgNKotY-kA,4994
2052
2052
  homeassistant-stubs/components/mqtt/light/schema_template.pyi,sha256=5XtpeHgVVl2hRQFl5ULnZoNkIWig-AFLurx8tKio9Bg,3606
2053
+ homeassistant-stubs/components/music_assistant/__init__.pyi,sha256=OWSFdQcPgRlmpGT6XOyBzrjpnRhNw6yikIcEPDLDylc,1526
2054
+ homeassistant-stubs/components/music_assistant/config_flow.pyi,sha256=Vm3ANIbMkwLPIlFTQfnvhGG6HLiHTYHsXLKwOm3aP24,1197
2055
+ homeassistant-stubs/components/music_assistant/const.pyi,sha256=pV5vXJ9Kz5ZDhIHYizG8UjRxcWqFUrqx4BJeuAaPn2Q,248
2056
+ homeassistant-stubs/components/music_assistant/entity.pyi,sha256=3I5VLQXeCZ4cGaah9LSNUdWQeTQfUDn9mrRUMKDBLJ8,991
2057
+ homeassistant-stubs/components/music_assistant/media_player.pyi,sha256=yVLyQuHAq2yTY7cpjQRCUb9s4gm0vmHtjMrgGwDiyuY,5355
2053
2058
  homeassistant-stubs/components/my/__init__.pyi,sha256=hd2hje6JtLWqUf275vSS_yosSyxaeih0E721oaXfDwM,349
2054
2059
  homeassistant-stubs/components/mysensors/__init__.pyi,sha256=lvS_7VhbI1B8HsLzGXtc9g3LQvYXiUvMUEtYXfNwCZ0,1606
2055
2060
  homeassistant-stubs/components/mysensors/binary_sensor.pyi,sha256=Ayqf1mjyFxbf7NyS1h84FLSPzShQwnEksmCivhviKEY,1858
@@ -2114,7 +2119,7 @@ homeassistant-stubs/components/neato/vacuum.pyi,sha256=kbM3yB04TMjnem0JRzmclNiAn
2114
2119
  homeassistant-stubs/components/nest/__init__.pyi,sha256=2hduKHlE-1RXu6gqGaoL7HIJrML25m_yiYBOAI5YXgI,4356
2115
2120
  homeassistant-stubs/components/nest/api.pyi,sha256=Ajp5Ws33oVifHhDcljQctwwW06kH-2hYcd46NrQdPrs,1826
2116
2121
  homeassistant-stubs/components/nest/application_credentials.pyi,sha256=6FJeSY56LumWCAyaIGYgl_lYqbkON3G4JRInkguyBsE,394
2117
- homeassistant-stubs/components/nest/camera.pyi,sha256=gkh7oTGHhzwnoS8WJClRfArfxFueC9nvVBA2xhUGnXM,3846
2122
+ homeassistant-stubs/components/nest/camera.pyi,sha256=lN1CifD2d0m77tDY7HNBXWy9jHsEI0PizP4t03aoeMQ,3189
2118
2123
  homeassistant-stubs/components/nest/climate.pyi,sha256=NHC3rQdyyAE3Js2mpK8-arZmnr6kKhvExY1NeJ_t_-A,3458
2119
2124
  homeassistant-stubs/components/nest/config_flow.pyi,sha256=ou9XObZeU9KmVVIL7XiKrSKlGG3OsXeKEUW7ikMKeCs,3030
2120
2125
  homeassistant-stubs/components/nest/const.pyi,sha256=z7Zxyy-jXKF2Juk28QZWqibzNo0gANo9oRKCymBxbcc,451
@@ -2227,7 +2232,7 @@ homeassistant-stubs/components/onewire/switch.pyi,sha256=OYXs1mmwlZs3ygVWGahHEmK
2227
2232
  homeassistant-stubs/components/onkyo/__init__.pyi,sha256=kMCzfNkqKrCFA-TPmxBCfZtOVwNBuDOZgMXuIsambpo,1291
2228
2233
  homeassistant-stubs/components/onkyo/config_flow.pyi,sha256=LdK8lHS74EASp3RHszV234A6kXqWbjWXpRYTyl-2_hE,2611
2229
2234
  homeassistant-stubs/components/onkyo/const.pyi,sha256=6gQWzC4trsrcs9nZ03LFbK_4OvqXaBppAc0DbcZxjr8,1514
2230
- homeassistant-stubs/components/onkyo/media_player.pyi,sha256=s7Xr2NbwgoRZjedWH_Ogg24DW_AMleK8mJGZvPdSa8w,4554
2235
+ homeassistant-stubs/components/onkyo/media_player.pyi,sha256=wPpdM57B5RNwl0j0j-Lwr5Wh589O1rEPQTF8QviRLSg,4474
2231
2236
  homeassistant-stubs/components/onkyo/receiver.pyi,sha256=JfiJqQFItAZ7dg8EN8X4q9EgE6MTz9xr8h1Sc2nNpuo,1308
2232
2237
  homeassistant-stubs/components/onkyo/services.pyi,sha256=l0bRaz5TL5YdbRMU1xhoImNNGW2Ti6JkmfVvJgBJGDs,604
2233
2238
  homeassistant-stubs/components/open_meteo/__init__.pyi,sha256=b5_qJ_llgjYzMPtOeYdgxBJOjV3ipgNLN6rq1hM1WSc,855
@@ -2696,7 +2701,7 @@ homeassistant-stubs/components/scrape/config_flow.pyi,sha256=eRpcjSkgRODieE32buk
2696
2701
  homeassistant-stubs/components/scrape/const.pyi,sha256=Ihpov5N9PWbYPat-55jDU7dQ9jqzo-WyfjQk0LMHaNs,272
2697
2702
  homeassistant-stubs/components/scrape/coordinator.pyi,sha256=RwpErgQsfJyIH83XKh_GpK2KSRrsjaqjd5XXVqyAIfg,720
2698
2703
  homeassistant-stubs/components/scrape/sensor.pyi,sha256=6TY3H3PhwC9uFeWjPZg0z-M8atcNTDEmo8Om_-VN9O0,2830
2699
- homeassistant-stubs/components/script/__init__.pyi,sha256=x4KgNGcB9SVTFpAX07yX3RMwy2fU6T8ZR5kGOCCBAtc,7919
2704
+ homeassistant-stubs/components/script/__init__.pyi,sha256=K0cdIErWtGVwEaEe2YwA73pLQv3y5v0OwwDC76w5IjU,8077
2700
2705
  homeassistant-stubs/components/script/config.pyi,sha256=ENz4E1dT3FBYauKDavcp7NOmDJRAv6TlpFyl8XU6fsM,2708
2701
2706
  homeassistant-stubs/components/script/const.pyi,sha256=6Hyq1cZ-yHYdi9JLwW-uhGnMYpje4tXyGxL-CzNoufc,276
2702
2707
  homeassistant-stubs/components/script/helpers.pyi,sha256=ZmkHWWSGickK7ZKjpH4UCDHu40oUVBVIBycfBeNljAc,654
@@ -2864,7 +2869,7 @@ homeassistant-stubs/components/sonarr/const.pyi,sha256=_0V9wa4xeRQ9c69CsH3iytKkw
2864
2869
  homeassistant-stubs/components/sonarr/coordinator.pyi,sha256=UKFhyzNBbjwZe2yjjrtlI17clUv_cNlARfKxZTQemlI,2409
2865
2870
  homeassistant-stubs/components/sonarr/entity.pyi,sha256=NfkCA13fWWLadaAfOsDmjndC5HMEKSKvl8J-IkODMYc,860
2866
2871
  homeassistant-stubs/components/sonarr/sensor.pyi,sha256=MCk99Cwlrt6oHvBFHgKPPFraOw5bfLDhHcPM88NGNU4,2468
2867
- homeassistant-stubs/components/speedtestdotnet/__init__.pyi,sha256=sRC6iCx0SEu9-BXqbF8iFMMHRTH0e-YbMR1P6DfEqps,854
2872
+ homeassistant-stubs/components/speedtestdotnet/__init__.pyi,sha256=tekMnI6Gqa9YCFN-Hmua00-GSGpwODrx5qgXLuzCccw,816
2868
2873
  homeassistant-stubs/components/speedtestdotnet/config_flow.pyi,sha256=GrTtFwJFy5XfnQ-0pxWECAFki2LxLUXW3MllY2AyTsc,1046
2869
2874
  homeassistant-stubs/components/speedtestdotnet/const.pyi,sha256=l8_j3y61H7QbEhpt0C7J7L2lORswbs5s34Dbc0BtQgw,359
2870
2875
  homeassistant-stubs/components/speedtestdotnet/coordinator.pyi,sha256=e3bBIOnXqTqMKHSuJ1JUqbWx18ciSR3WyiV1rX5qt-A,936
@@ -2877,9 +2882,9 @@ homeassistant-stubs/components/spotify/const.pyi,sha256=GOw4vthI7eJAe4DJO1OrgoTa
2877
2882
  homeassistant-stubs/components/spotify/coordinator.pyi,sha256=zaZRGWilzTSQBFqjV3YB3XPgYuhsrMq2upsZwSD6Xok,1508
2878
2883
  homeassistant-stubs/components/spotify/diagnostics.pyi,sha256=o60XIOekBhj0Gsy7JUn_EfK2Oj-aRfrLhMPSr41Xrqc,268
2879
2884
  homeassistant-stubs/components/spotify/entity.pyi,sha256=CFCKXDGo1ql1i3J3qsM0TL1ywOzfPIV3eNzf6cVB138,534
2880
- homeassistant-stubs/components/spotify/media_player.pyi,sha256=NJEH0NKQQUFEdmtiXHWeEU-iRriNJPXSL-e51YIhYYM,4325
2885
+ homeassistant-stubs/components/spotify/media_player.pyi,sha256=BZkZHbsEqu3OG-ndUlSSAEy1bLjEReTrilTo9G8lM6Q,4097
2881
2886
  homeassistant-stubs/components/spotify/models.pyi,sha256=2Vrdk4u6nn0Gy0-uwHSNKMaUl60wUmOv4DHaeAGqnAg,540
2882
- homeassistant-stubs/components/spotify/sensor.pyi,sha256=Up3ptvVBXsuNdWhrc2RGYTMph0QDbyyvVGCaKCBulzE,2027
2887
+ homeassistant-stubs/components/spotify/sensor.pyi,sha256=5QQO7Hs0owNCgUQe9R2lFKcxMZEIs_GsuDIETie8FV8,1976
2883
2888
  homeassistant-stubs/components/spotify/system_health.pyi,sha256=Ht4CAzjNxrifQmLgrpkzVKivDt0VIcGlYj7RiDh1PTw,352
2884
2889
  homeassistant-stubs/components/spotify/util.pyi,sha256=odnvW67eBiuvju5lXSAUEAcN8KI7Q6DIrK37ZKncnkU,367
2885
2890
  homeassistant-stubs/components/sql/__init__.pyi,sha256=jI2uC0kT1w5dbLaq6mf5htbiHdo1WWObfgxNqf7birs,1694
@@ -3289,7 +3294,7 @@ homeassistant-stubs/components/unifi/hub/websocket.pyi,sha256=ah4FRwEgyW2bg_DNue
3289
3294
  homeassistant-stubs/components/unifiprotect/__init__.pyi,sha256=oOQ7QuK_FzJOBKeMs48csCJFzEaaPg4xasMc97UiIuw,2140
3290
3295
  homeassistant-stubs/components/unifiprotect/binary_sensor.pyi,sha256=EGlB7sny1AULN_7QTsbDbuucISYOcteR93PYI-HH3bw,4710
3291
3296
  homeassistant-stubs/components/unifiprotect/button.pyi,sha256=td19PPm8Sl1SyTqF04Ld_34BqmwwAHoV9gOdyuCs_iA,2645
3292
- homeassistant-stubs/components/unifiprotect/camera.pyi,sha256=DPp6Q5rQ15mVFFEdbvDQoyiRxnEeqgLgrQEAQBIvYME,2901
3297
+ homeassistant-stubs/components/unifiprotect/camera.pyi,sha256=B84sUSxuoc4_wIo26zTJIhevz3JB54VwShtjhrvRS24,2879
3293
3298
  homeassistant-stubs/components/unifiprotect/config_flow.pyi,sha256=5ZvvN5V7C_X9O24z4E5LJv0sjXHiBZxjj8QODiJHH50,3659
3294
3299
  homeassistant-stubs/components/unifiprotect/const.pyi,sha256=FnmmSKki5YDAYbSnM1JM2jGsNnW7GkaJdIvoJJW_uic,812
3295
3300
  homeassistant-stubs/components/unifiprotect/data.pyi,sha256=L0skdVbyutcDSBSyWmwokVvNOTTGiTe7vcRAlM2jY0k,4040
@@ -3646,7 +3651,7 @@ homeassistant-stubs/helpers/icon.pyi,sha256=11cQTsTU4CeKCh6ZRQuzAwmKRy1I4WJAWMPV
3646
3651
  homeassistant-stubs/helpers/importlib.pyi,sha256=qrWaOQ4nq-fiv2XPGvTudLF21llTWhoua5bdOLHnumQ,543
3647
3652
  homeassistant-stubs/helpers/instance_id.pyi,sha256=1FcKLhfq3FTLieBr0Si9HMbMNz43MIXNkAKDxr2ptKM,281
3648
3653
  homeassistant-stubs/helpers/integration_platform.pyi,sha256=KaY7sCc6VrXvdPLtEtZMKAQrasFLzait9b_L0--Hee0,2328
3649
- homeassistant-stubs/helpers/intent.pyi,sha256=bw4ilRnSTz48egT4g3ZgyT1gykjnyt9QvRTt1McvIYM,11852
3654
+ homeassistant-stubs/helpers/intent.pyi,sha256=c4lPvDZHqxQ8xggr7SayeIiW14p8V2uZ_yDeRcnDr7g,11832
3650
3655
  homeassistant-stubs/helpers/issue_registry.pyi,sha256=bCVyxmN2FuJEP9WGGDLTzalrBunQYsgL68U3kHNbB8U,4135
3651
3656
  homeassistant-stubs/helpers/json.pyi,sha256=PIxBwZx71qJb_-DKqyVJJoLeU4q8XlT2ODHt9eeL33Q,1798
3652
3657
  homeassistant-stubs/helpers/label_registry.pyi,sha256=B906kP5NesUcWjf-_et7VYaIoVVsE2fPcNLSEpju5b0,3181
@@ -3733,7 +3738,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3733
3738
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3734
3739
  homeassistant-stubs/util/yaml/loader.pyi,sha256=QiGKfosJZpv3z8MePSrXiwF8SSxVnaHgMhYZQ351nBM,4692
3735
3740
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3736
- homeassistant_stubs-2024.11.0.dist-info/METADATA,sha256=CC760-TVqvym2d_ruMz-EG86ycs2ZebHVRZNcJ7EIdo,2954
3737
- homeassistant_stubs-2024.11.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
3738
- homeassistant_stubs-2024.11.0.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3739
- homeassistant_stubs-2024.11.0.dist-info/RECORD,,
3741
+ homeassistant_stubs-2024.11.0b0.dist-info/METADATA,sha256=jBhnoob5NfFQLAgHd6G4ibFoNiYZD6YBPeQOncmXYbo,2958
3742
+ homeassistant_stubs-2024.11.0b0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
3743
+ homeassistant_stubs-2024.11.0b0.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3744
+ homeassistant_stubs-2024.11.0b0.dist-info/RECORD,,