homeassistant-stubs 2025.3.0b1__py3-none-any.whl → 2025.3.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.
Files changed (23) hide show
  1. homeassistant-stubs/components/alert/entity.pyi +1 -1
  2. homeassistant-stubs/components/backup/manager.pyi +3 -0
  3. homeassistant-stubs/components/climate/__init__.pyi +1 -1
  4. homeassistant-stubs/components/climate/const.pyi +0 -1
  5. homeassistant-stubs/components/climate/intent.pyi +1 -8
  6. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  7. homeassistant-stubs/components/intent/__init__.pyi +7 -0
  8. homeassistant-stubs/components/music_assistant/actions.pyi +2 -2
  9. homeassistant-stubs/components/music_assistant/const.pyi +2 -0
  10. homeassistant-stubs/components/music_assistant/schemas.pyi +1 -1
  11. homeassistant-stubs/components/onedrive/__init__.pyi +1 -0
  12. homeassistant-stubs/components/onedrive/diagnostics.pyi +10 -0
  13. homeassistant-stubs/components/recorder/backup.pyi +1 -1
  14. homeassistant-stubs/components/recorder/const.pyi +1 -0
  15. homeassistant-stubs/components/recorder/history/modern.pyi +9 -6
  16. homeassistant-stubs/components/recorder/models/database.pyi +1 -0
  17. homeassistant-stubs/components/recorder/statistics.pyi +5 -3
  18. homeassistant-stubs/helpers/intent.pyi +1 -0
  19. homeassistant-stubs/helpers/llm.pyi +0 -1
  20. {homeassistant_stubs-2025.3.0b1.dist-info → homeassistant_stubs-2025.3.0b3.dist-info}/METADATA +2 -2
  21. {homeassistant_stubs-2025.3.0b1.dist-info → homeassistant_stubs-2025.3.0b3.dist-info}/RECORD +23 -22
  22. {homeassistant_stubs-2025.3.0b1.dist-info → homeassistant_stubs-2025.3.0b3.dist-info}/WHEEL +0 -0
  23. {homeassistant_stubs-2025.3.0b1.dist-info → homeassistant_stubs-2025.3.0b3.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,7 @@ from collections.abc import Callable as Callable
4
4
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TITLE as ATTR_TITLE
5
5
  from homeassistant.const import STATE_IDLE as STATE_IDLE, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
6
6
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant
7
- from homeassistant.exceptions import ServiceNotFound as ServiceNotFound
7
+ from homeassistant.exceptions import ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError
8
8
  from homeassistant.helpers.entity import Entity as Entity
9
9
  from homeassistant.helpers.event import async_track_point_in_time as async_track_point_in_time, async_track_state_change_event as async_track_state_change_event
10
10
  from homeassistant.helpers.template import Template as Template
@@ -141,6 +141,9 @@ class DecryptOnDowloadNotSupported(BackupManagerError):
141
141
  error_code: str
142
142
  _message: str
143
143
 
144
+ class BackupManagerExceptionGroup(BackupManagerError, ExceptionGroup):
145
+ error_code: str
146
+
144
147
  class BackupManager:
145
148
  hass: Incomplete
146
149
  platforms: dict[str, BackupPlatformProtocol]
@@ -1,4 +1,4 @@
1
- from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
1
+ from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
@@ -75,7 +75,6 @@ DEFAULT_MAX_TEMP: int
75
75
  DEFAULT_MIN_HUMIDITY: int
76
76
  DEFAULT_MAX_HUMIDITY: int
77
77
  DOMAIN: str
78
- INTENT_GET_TEMPERATURE: str
79
78
  INTENT_SET_TEMPERATURE: str
80
79
  SERVICE_SET_AUX_HEAT: str
81
80
  SERVICE_SET_FAN_MODE: str
@@ -1,4 +1,4 @@
1
- from . import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE
1
+ from . import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -6,13 +6,6 @@ from homeassistant.helpers import intent as intent
6
6
 
7
7
  async def async_setup_intents(hass: HomeAssistant) -> None: ...
8
8
 
9
- class GetTemperatureIntent(intent.IntentHandler):
10
- intent_type = INTENT_GET_TEMPERATURE
11
- description: str
12
- slot_schema: Incomplete
13
- platforms: Incomplete
14
- async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
15
-
16
9
  class SetTemperatureIntent(intent.IntentHandler):
17
10
  intent_type = INTENT_SET_TEMPERATURE
18
11
  description: str
@@ -5,11 +5,11 @@ from decimal import Decimal
5
5
  from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS, RestoreSensor as RestoreSensor, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_SOURCE as CONF_SOURCE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
8
- from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData, HomeAssistant as HomeAssistant, State as State, callback as callback
9
9
  from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
12
- from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
12
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
14
14
 
15
15
  _LOGGER: Incomplete
@@ -46,6 +46,13 @@ class RespondIntentHandler(intent.IntentHandler):
46
46
  slot_schema: Incomplete
47
47
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
48
48
 
49
+ class GetTemperatureIntent(intent.IntentHandler):
50
+ intent_type: Incomplete
51
+ description: str
52
+ slot_schema: Incomplete
53
+ platforms: Incomplete
54
+ async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
55
+
49
56
  class IntentHandleView(http.HomeAssistantView):
50
57
  url: str
51
58
  name: str
@@ -1,11 +1,11 @@
1
1
  from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
2
- from .const import ATTR_ALBUMS as ATTR_ALBUMS, ATTR_ALBUM_ARTISTS_ONLY as ATTR_ALBUM_ARTISTS_ONLY, ATTR_ALBUM_TYPE as ATTR_ALBUM_TYPE, ATTR_ARTISTS as ATTR_ARTISTS, ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_FAVORITE as ATTR_FAVORITE, ATTR_ITEMS as ATTR_ITEMS, ATTR_LIBRARY_ONLY as ATTR_LIBRARY_ONLY, ATTR_LIMIT as ATTR_LIMIT, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_OFFSET as ATTR_OFFSET, ATTR_ORDER_BY as ATTR_ORDER_BY, ATTR_PLAYLISTS as ATTR_PLAYLISTS, ATTR_RADIO as ATTR_RADIO, ATTR_SEARCH as ATTR_SEARCH, ATTR_SEARCH_ALBUM as ATTR_SEARCH_ALBUM, ATTR_SEARCH_ARTIST as ATTR_SEARCH_ARTIST, ATTR_SEARCH_NAME as ATTR_SEARCH_NAME, ATTR_TRACKS as ATTR_TRACKS, DOMAIN as DOMAIN
2
+ from .const import ATTR_ALBUMS as ATTR_ALBUMS, ATTR_ALBUM_ARTISTS_ONLY as ATTR_ALBUM_ARTISTS_ONLY, ATTR_ALBUM_TYPE as ATTR_ALBUM_TYPE, ATTR_ARTISTS as ATTR_ARTISTS, ATTR_AUDIOBOOKS as ATTR_AUDIOBOOKS, ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_FAVORITE as ATTR_FAVORITE, ATTR_ITEMS as ATTR_ITEMS, ATTR_LIBRARY_ONLY as ATTR_LIBRARY_ONLY, ATTR_LIMIT as ATTR_LIMIT, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_OFFSET as ATTR_OFFSET, ATTR_ORDER_BY as ATTR_ORDER_BY, ATTR_PLAYLISTS as ATTR_PLAYLISTS, ATTR_PODCASTS as ATTR_PODCASTS, ATTR_RADIO as ATTR_RADIO, ATTR_SEARCH as ATTR_SEARCH, ATTR_SEARCH_ALBUM as ATTR_SEARCH_ALBUM, ATTR_SEARCH_ARTIST as ATTR_SEARCH_ARTIST, ATTR_SEARCH_NAME as ATTR_SEARCH_NAME, ATTR_TRACKS as ATTR_TRACKS, DOMAIN as DOMAIN
3
3
  from .schemas import LIBRARY_RESULTS_SCHEMA as LIBRARY_RESULTS_SCHEMA, SEARCH_RESULT_SCHEMA as SEARCH_RESULT_SCHEMA, media_item_dict_from_mass_item as media_item_dict_from_mass_item
4
4
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
6
6
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
7
  from music_assistant_client import MusicAssistantClient as MusicAssistantClient
8
- from music_assistant_models.media_items import Album as Album, Artist as Artist, Playlist as Playlist, Radio as Radio, Track as Track
8
+ from music_assistant_models.media_items import Album as Album, Artist as Artist, Audiobook as Audiobook, Playlist as Playlist, Podcast as Podcast, Radio as Radio, Track as Track
9
9
 
10
10
  SERVICE_SEARCH: str
11
11
  SERVICE_GET_LIBRARY: str
@@ -29,6 +29,8 @@ ATTR_ARTISTS: str
29
29
  ATTR_ALBUMS: str
30
30
  ATTR_TRACKS: str
31
31
  ATTR_PLAYLISTS: str
32
+ ATTR_AUDIOBOOKS: str
33
+ ATTR_PODCASTS: str
32
34
  ATTR_RADIO: str
33
35
  ATTR_ITEMS: str
34
36
  ATTR_RADIO_MODE: str
@@ -1,4 +1,4 @@
1
- from .const import ATTR_ACTIVE as ATTR_ACTIVE, ATTR_ALBUM as ATTR_ALBUM, ATTR_ALBUMS as ATTR_ALBUMS, ATTR_ARTISTS as ATTR_ARTISTS, ATTR_BIT_DEPTH as ATTR_BIT_DEPTH, ATTR_CONTENT_TYPE as ATTR_CONTENT_TYPE, ATTR_CURRENT_INDEX as ATTR_CURRENT_INDEX, ATTR_CURRENT_ITEM as ATTR_CURRENT_ITEM, ATTR_DURATION as ATTR_DURATION, ATTR_ELAPSED_TIME as ATTR_ELAPSED_TIME, ATTR_IMAGE as ATTR_IMAGE, ATTR_ITEMS as ATTR_ITEMS, ATTR_ITEM_ID as ATTR_ITEM_ID, ATTR_LIMIT as ATTR_LIMIT, ATTR_MEDIA_ITEM as ATTR_MEDIA_ITEM, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_NEXT_ITEM as ATTR_NEXT_ITEM, ATTR_OFFSET as ATTR_OFFSET, ATTR_ORDER_BY as ATTR_ORDER_BY, ATTR_PLAYLISTS as ATTR_PLAYLISTS, ATTR_PROVIDER as ATTR_PROVIDER, ATTR_QUEUE_ID as ATTR_QUEUE_ID, ATTR_QUEUE_ITEM_ID as ATTR_QUEUE_ITEM_ID, ATTR_RADIO as ATTR_RADIO, ATTR_REPEAT_MODE as ATTR_REPEAT_MODE, ATTR_SAMPLE_RATE as ATTR_SAMPLE_RATE, ATTR_SHUFFLE_ENABLED as ATTR_SHUFFLE_ENABLED, ATTR_STREAM_DETAILS as ATTR_STREAM_DETAILS, ATTR_STREAM_TITLE as ATTR_STREAM_TITLE, ATTR_TRACKS as ATTR_TRACKS, ATTR_URI as ATTR_URI, ATTR_VERSION as ATTR_VERSION
1
+ from .const import ATTR_ACTIVE as ATTR_ACTIVE, ATTR_ALBUM as ATTR_ALBUM, ATTR_ALBUMS as ATTR_ALBUMS, ATTR_ARTISTS as ATTR_ARTISTS, ATTR_AUDIOBOOKS as ATTR_AUDIOBOOKS, ATTR_BIT_DEPTH as ATTR_BIT_DEPTH, ATTR_CONTENT_TYPE as ATTR_CONTENT_TYPE, ATTR_CURRENT_INDEX as ATTR_CURRENT_INDEX, ATTR_CURRENT_ITEM as ATTR_CURRENT_ITEM, ATTR_DURATION as ATTR_DURATION, ATTR_ELAPSED_TIME as ATTR_ELAPSED_TIME, ATTR_IMAGE as ATTR_IMAGE, ATTR_ITEMS as ATTR_ITEMS, ATTR_ITEM_ID as ATTR_ITEM_ID, ATTR_LIMIT as ATTR_LIMIT, ATTR_MEDIA_ITEM as ATTR_MEDIA_ITEM, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_NEXT_ITEM as ATTR_NEXT_ITEM, ATTR_OFFSET as ATTR_OFFSET, ATTR_ORDER_BY as ATTR_ORDER_BY, ATTR_PLAYLISTS as ATTR_PLAYLISTS, ATTR_PODCASTS as ATTR_PODCASTS, ATTR_PROVIDER as ATTR_PROVIDER, ATTR_QUEUE_ID as ATTR_QUEUE_ID, ATTR_QUEUE_ITEM_ID as ATTR_QUEUE_ITEM_ID, ATTR_RADIO as ATTR_RADIO, ATTR_REPEAT_MODE as ATTR_REPEAT_MODE, ATTR_SAMPLE_RATE as ATTR_SAMPLE_RATE, ATTR_SHUFFLE_ENABLED as ATTR_SHUFFLE_ENABLED, ATTR_STREAM_DETAILS as ATTR_STREAM_DETAILS, ATTR_STREAM_TITLE as ATTR_STREAM_TITLE, ATTR_TRACKS as ATTR_TRACKS, ATTR_URI as ATTR_URI, ATTR_VERSION as ATTR_VERSION
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_NAME as ATTR_NAME
4
4
  from music_assistant_client import MusicAssistantClient as MusicAssistantClient
@@ -17,4 +17,5 @@ async def async_setup_entry(hass: HomeAssistant, entry: OneDriveConfigEntry) ->
17
17
  async def async_unload_entry(hass: HomeAssistant, entry: OneDriveConfigEntry) -> bool: ...
18
18
  async def _migrate_backup_files(client: OneDriveClient, backup_folder_id: str) -> None: ...
19
19
  async def async_migrate_entry(hass: HomeAssistant, entry: OneDriveConfigEntry) -> bool: ...
20
+ async def _get_onedrive_client(hass: HomeAssistant, entry: OneDriveConfigEntry) -> tuple[OneDriveClient, Callable[[], Awaitable[str]]]: ...
20
21
  async def _handle_item_operation(func: Callable[[], Awaitable[Item]], folder: str) -> Item: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import OneDriveConfigEntry as OneDriveConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: OneDriveConfigEntry) -> dict[str, Any]: ...
@@ -1,6 +1,6 @@
1
1
  from .util import async_migration_in_progress as async_migration_in_progress, get_instance as get_instance
2
2
  from _typeshed import Incomplete
3
- from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.core import CoreState as CoreState, HomeAssistant as HomeAssistant
4
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
5
 
6
6
  _LOGGER: Incomplete
@@ -13,6 +13,7 @@ DOMAIN: str
13
13
  CONF_DB_INTEGRITY_CHECK: str
14
14
  MAX_QUEUE_BACKLOG_MIN_VALUE: int
15
15
  MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG: Incomplete
16
+ MAX_IDS_FOR_INDEXED_GROUP_BY: int
16
17
  DEFAULT_MAX_BIND_VARS: int
17
18
  DB_WORKER_PREFIX: str
18
19
  ALL_DOMAIN_EXCLUDE_ATTRS: Incomplete
@@ -1,4 +1,4 @@
1
- from ..const import LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION
1
+ from ..const import LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION, MAX_IDS_FOR_INDEXED_GROUP_BY as MAX_IDS_FOR_INDEXED_GROUP_BY
2
2
  from ..db_schema import SHARED_ATTR_OR_LEGACY_ATTRIBUTES as SHARED_ATTR_OR_LEGACY_ATTRIBUTES, StateAttributes as StateAttributes, States as States, StatesMeta as StatesMeta
3
3
  from ..filters import Filters as Filters
4
4
  from ..models import LazyState as LazyState, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, extract_metadata_ids as extract_metadata_ids, row_to_compressed_state as row_to_compressed_state
@@ -10,8 +10,9 @@ from datetime import datetime
10
10
  from homeassistant.const import COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, split_entity_id as split_entity_id
12
12
  from homeassistant.helpers.recorder import get_instance as get_instance
13
- from sqlalchemy import CompoundSelect as CompoundSelect, Select as Select, Subquery as Subquery
14
- from sqlalchemy.engine.row import Row as Row
13
+ from homeassistant.util.collection import chunked_or_all as chunked_or_all
14
+ from sqlalchemy import CompoundSelect as CompoundSelect, Select as Select, StatementLambdaElement as StatementLambdaElement, Subquery as Subquery
15
+ from sqlalchemy.engine.row import Row
15
16
  from sqlalchemy.orm.session import Session as Session
16
17
  from typing import Any
17
18
 
@@ -21,16 +22,18 @@ def _stmt_and_join_attributes(no_attributes: bool, include_last_changed: bool, i
21
22
  def _stmt_and_join_attributes_for_start_state(no_attributes: bool, include_last_changed: bool, include_last_reported: bool) -> Select: ...
22
23
  def _select_from_subquery(subquery: Subquery | CompoundSelect, no_attributes: bool, include_last_changed: bool, include_last_reported: bool) -> Select: ...
23
24
  def get_significant_states(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
24
- def _significant_states_stmt(start_time_ts: float, end_time_ts: float | None, single_metadata_id: int | None, metadata_ids: list[int], metadata_ids_in_significant_domains: list[int], significant_changes_only: bool, no_attributes: bool, include_start_time_state: bool, run_start_ts: float | None) -> Select | CompoundSelect: ...
25
+ def _significant_states_stmt(start_time_ts: float, end_time_ts: float | None, single_metadata_id: int | None, metadata_ids: list[int], metadata_ids_in_significant_domains: list[int], significant_changes_only: bool, no_attributes: bool, include_start_time_state: bool, run_start_ts: float | None, slow_dependent_subquery: bool) -> Select | CompoundSelect: ...
25
26
  def get_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
27
+ def _generate_significant_states_with_session_stmt(start_time_ts: float, end_time_ts: float | None, single_metadata_id: int | None, metadata_ids: list[int], metadata_ids_in_significant_domains: list[int], significant_changes_only: bool, no_attributes: bool, include_start_time_state: bool, oldest_ts: float | None, slow_dependent_subquery: bool) -> StatementLambdaElement: ...
26
28
  def get_full_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, no_attributes: bool = False) -> dict[str, list[State]]: ...
27
29
  def _state_changed_during_period_stmt(start_time_ts: float, end_time_ts: float | None, single_metadata_id: int, no_attributes: bool, limit: int | None, include_start_time_state: bool, run_start_ts: float | None, include_last_reported: bool) -> Select | CompoundSelect: ...
28
30
  def state_changes_during_period(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_id: str | None = None, no_attributes: bool = False, descending: bool = False, limit: int | None = None, include_start_time_state: bool = True) -> dict[str, list[State]]: ...
29
31
  def _get_last_state_changes_single_stmt(metadata_id: int) -> Select: ...
30
32
  def _get_last_state_changes_multiple_stmt(number_of_states: int, metadata_id: int, include_last_reported: bool) -> Select: ...
31
33
  def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
32
- def _get_start_time_state_for_entities_stmt(epoch_time: float, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
34
+ def _get_start_time_state_for_entities_stmt_dependent_sub_query(epoch_time: float, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
35
+ def _get_start_time_state_for_entities_stmt_group_by(epoch_time: float, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
33
36
  def _get_oldest_possible_ts(hass: HomeAssistant, utc_point_in_time: datetime) -> float | None: ...
34
- def _get_start_time_state_stmt(epoch_time: float, single_metadata_id: int | None, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
37
+ def _get_start_time_state_stmt(epoch_time: float, single_metadata_id: int | None, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool, slow_dependent_subquery: bool) -> Select: ...
35
38
  def _get_single_entity_start_time_stmt(epoch_time: float, metadata_id: int, no_attributes: bool, include_last_changed: bool, include_last_reported: bool) -> Select: ...
36
39
  def _sorted_states_to_dict(states: Iterable[Row], start_time_ts: float | None, entity_ids: list[str], entity_id_to_metadata_id: dict[str, int | None], minimal_response: bool = False, compressed_state_format: bool = False, descending: bool = False, no_attributes: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
@@ -14,3 +14,4 @@ class DatabaseEngine:
14
14
  @dataclass
15
15
  class DatabaseOptimizer:
16
16
  slow_range_in_select: bool
17
+ slow_dependent_subquery: bool
@@ -1,6 +1,6 @@
1
1
  import dataclasses
2
2
  from . import Recorder as Recorder
3
- from .const import DOMAIN as DOMAIN, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, INTEGRATION_PLATFORM_COMPILE_STATISTICS as INTEGRATION_PLATFORM_COMPILE_STATISTICS, INTEGRATION_PLATFORM_LIST_STATISTIC_IDS as INTEGRATION_PLATFORM_LIST_STATISTIC_IDS, INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES as INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES, INTEGRATION_PLATFORM_VALIDATE_STATISTICS as INTEGRATION_PLATFORM_VALIDATE_STATISTICS, SupportedDialect as SupportedDialect
3
+ from .const import DOMAIN as DOMAIN, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, INTEGRATION_PLATFORM_COMPILE_STATISTICS as INTEGRATION_PLATFORM_COMPILE_STATISTICS, INTEGRATION_PLATFORM_LIST_STATISTIC_IDS as INTEGRATION_PLATFORM_LIST_STATISTIC_IDS, INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES as INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES, INTEGRATION_PLATFORM_VALIDATE_STATISTICS as INTEGRATION_PLATFORM_VALIDATE_STATISTICS, MAX_IDS_FOR_INDEXED_GROUP_BY as MAX_IDS_FOR_INDEXED_GROUP_BY, SupportedDialect as SupportedDialect
4
4
  from .db_schema import STATISTICS_TABLES as STATISTICS_TABLES, Statistics as Statistics, StatisticsBase as StatisticsBase, StatisticsMeta as StatisticsMeta, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm
5
5
  from .models import StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMetaData as StatisticMetaData, StatisticResult as StatisticResult, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_timestamp as process_timestamp
6
6
  from .util import execute as execute, execute_stmt_lambda_element as execute_stmt_lambda_element, filter_unique_constraint_integrity_error as filter_unique_constraint_integrity_error, get_instance as get_instance, retryable_database_job as retryable_database_job, session_scope as session_scope
@@ -13,6 +13,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.helpers.recorder import DATA_RECORDER as DATA_RECORDER
14
14
  from homeassistant.helpers.singleton import singleton as singleton
15
15
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
16
+ from homeassistant.util.collection import chunked_or_all as chunked_or_all
16
17
  from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
17
18
  from sqlalchemy import Select as Select
18
19
  from sqlalchemy.engine.row import Row
@@ -128,8 +129,9 @@ def get_last_short_term_statistics(hass: HomeAssistant, number_of_stats: int, st
128
129
  def get_latest_short_term_statistics_by_ids(session: Session, ids: Iterable[int]) -> list[Row]: ...
129
130
  def _latest_short_term_statistics_by_ids_stmt(ids: Iterable[int]) -> StatementLambdaElement: ...
130
131
  def get_latest_short_term_statistics_with_session(hass: HomeAssistant, session: Session, statistic_ids: set[str], types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']], metadata: dict[str, tuple[int, StatisticMetaData]] | None = None) -> dict[str, list[StatisticsRow]]: ...
131
- def _generate_statistics_at_time_stmt(table: type[StatisticsBase], metadata_ids: set[int], start_time_ts: float, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> StatementLambdaElement: ...
132
- def _statistics_at_time(session: Session, metadata_ids: set[int], table: type[StatisticsBase], start_time: datetime, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> Sequence[Row] | None: ...
132
+ def _generate_statistics_at_time_stmt_group_by(table: type[StatisticsBase], metadata_ids: set[int], start_time_ts: float, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> StatementLambdaElement: ...
133
+ def _generate_statistics_at_time_stmt_dependent_sub_query(table: type[StatisticsBase], metadata_ids: set[int], start_time_ts: float, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> StatementLambdaElement: ...
134
+ def _statistics_at_time(instance: Recorder, session: Session, metadata_ids: set[int], table: type[StatisticsBase], start_time: datetime, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> Sequence[Row] | None: ...
133
135
  def _build_sum_converted_stats(db_rows: list[Row], table_duration_seconds: float, start_ts_idx: int, sum_idx: int, convert: Callable[[float | None], float | None] | Callable[[float], float]) -> list[StatisticsRow]: ...
134
136
  def _build_sum_stats(db_rows: list[Row], table_duration_seconds: float, start_ts_idx: int, sum_idx: int) -> list[StatisticsRow]: ...
135
137
  def _build_stats(db_rows: list[Row], table_duration_seconds: float, start_ts_idx: int, row_mapping: tuple[tuple[str, int], ...]) -> list[StatisticsRow]: ...
@@ -38,6 +38,7 @@ INTENT_GET_CURRENT_DATE: str
38
38
  INTENT_GET_CURRENT_TIME: str
39
39
  INTENT_RESPOND: str
40
40
  INTENT_BROADCAST: str
41
+ INTENT_GET_TEMPERATURE: str
41
42
  SLOT_SCHEMA: Incomplete
42
43
  DATA_KEY: HassKey[dict[str, IntentHandler]]
43
44
  SPEECH_TYPE_PLAIN: str
@@ -7,7 +7,6 @@ from abc import ABC, abstractmethod
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass, field as dc_field
9
9
  from homeassistant.components.calendar import SERVICE_GET_EVENTS as SERVICE_GET_EVENTS
10
- from homeassistant.components.climate import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
11
10
  from homeassistant.components.cover import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
12
11
  from homeassistant.components.homeassistant import async_should_expose as async_should_expose
13
12
  from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.3.0b1
3
+ Version: 2025.3.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.13
21
- Requires-Dist: homeassistant==2025.3.0b1
21
+ Requires-Dist: homeassistant==2025.3.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)
@@ -194,7 +194,7 @@ homeassistant-stubs/components/alarm_control_panel/reproduce_state.pyi,sha256=wS
194
194
  homeassistant-stubs/components/alarm_control_panel/significant_change.pyi,sha256=_h0aIQLLz71apR5PeiP_xPXirGREDptJo_avXc1fNwQ,408
195
195
  homeassistant-stubs/components/alert/__init__.pyi,sha256=D-bDbxArT1Mq47dJg_yk3ZWie67Wk1poUjcgVID46x8,1060
196
196
  homeassistant-stubs/components/alert/const.pyi,sha256=BIlouKkzZh_l0MR_On8ll-WBXrZ-G0MSDMWFkyPwilI,281
197
- homeassistant-stubs/components/alert/entity.pyi,sha256=NpaxlUv1G6YZ3s_i2qSuWDw_30ROYuMG6Xhv5d7lLjY,2417
197
+ homeassistant-stubs/components/alert/entity.pyi,sha256=Oe6BkQrPv45ARZD_L4YWLUoC_vGVR9S1a6W4CTaJ0lM,2467
198
198
  homeassistant-stubs/components/alert/reproduce_state.pyi,sha256=DqZm_rr-hl-Q0KALVt8oF-3GpcpD9YwhRdwYMNjtY2Y,798
199
199
  homeassistant-stubs/components/alexa/__init__.pyi,sha256=4216pmhm58Ncd62G1u97CHKArTw27Zex8UMRCOQyJT4,1183
200
200
  homeassistant-stubs/components/alexa/auth.pyi,sha256=o3hrlviwBcY7AqCmuoZDRqwARtuXvcARxaflN7UsqrU,1522
@@ -421,7 +421,7 @@ homeassistant-stubs/components/backup/basic_websocket.pyi,sha256=W7bQLl13RQSPSJ6
421
421
  homeassistant-stubs/components/backup/config.pyi,sha256=fpiXOtuA-t-0x1xppO1ghbpBHzL9H09lNFC_f5UCtxM,5749
422
422
  homeassistant-stubs/components/backup/const.pyi,sha256=N3Hb5USpEK0tHJxtqdrgroGNitCuldDGckqVOVk2yX8,308
423
423
  homeassistant-stubs/components/backup/http.pyi,sha256=4BMeB5O1IBqpG5XY02XdfE5K1uFhB6Ob6Aa_YSMwbfY,1613
424
- homeassistant-stubs/components/backup/manager.pyi,sha256=vzCNAogwfAJuSRk_Fik-5_YB3MERlryEg4dqRHJut2k,14131
424
+ homeassistant-stubs/components/backup/manager.pyi,sha256=88ku1XRoFcKgN292md17MRLnNf-K28TCBT_5hP5DheY,14223
425
425
  homeassistant-stubs/components/backup/models.pyi,sha256=mFvNpBmNQ3vOZ4ep4y-1TYDzll8QeQNCx3aYaX36lLg,1212
426
426
  homeassistant-stubs/components/backup/store.pyi,sha256=CTgV9bZqdqSFYc6xrwrWizFVQYOaraG9ZHWAIMnBKi8,1174
427
427
  homeassistant-stubs/components/backup/util.pyi,sha256=0_yUHocSWTk3jPM-GFI-OTikYMCvtiYQzM-9b-pfG3k,4400
@@ -612,12 +612,12 @@ homeassistant-stubs/components/clickatell/__init__.pyi,sha256=47DEQpj8HBSa-_TImW
612
612
  homeassistant-stubs/components/clickatell/notify.pyi,sha256=MkiRSJ-C36oC5ClOK1P95VGIJSLr53Fegk8WNaWjj60,873
613
613
  homeassistant-stubs/components/clicksend/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
614
614
  homeassistant-stubs/components/clicksend/notify.pyi,sha256=vX1ihQPn9MUajG-zKJ79fYEsVftqm862yh1Kf-Zi3tQ,1106
615
- homeassistant-stubs/components/climate/__init__.pyi,sha256=ypZLF3uDLenR5qzKhtkFG5CuWlF-w0W9FBo-l511jFw,9917
616
- homeassistant-stubs/components/climate/const.pyi,sha256=3VMm5qwA9DTYRtuTJwCr1LO72qlAEkvxhnxPq3Yp3B4,2099
615
+ homeassistant-stubs/components/climate/__init__.pyi,sha256=_cEhnWaB8Vd-GunBP9-Znz1LJZXxrJm4yYnJD0olxPk,9867
616
+ homeassistant-stubs/components/climate/const.pyi,sha256=dlc54AN0oRgH2dnwoJXCO4ExNcd6rdX2QiuMu3Pc4aY,2071
617
617
  homeassistant-stubs/components/climate/device_action.pyi,sha256=xx3hQUQOzNPFHUSXZHi_4HVChKB6xnjwsq5tO98sURI,1454
618
618
  homeassistant-stubs/components/climate/device_condition.pyi,sha256=TM82WxiTp7pC-es6sPOKnEMYakch5x3NDTNCbNfgiEw,1482
619
619
  homeassistant-stubs/components/climate/device_trigger.pyi,sha256=mAGFpGWtfsRwBwK4WxkUAT94Lj67lvAPjAL8eqGy0vA,1251
620
- homeassistant-stubs/components/climate/intent.pyi,sha256=nHbkFU6Os0w4BxY4wfUwtQ4MhiTE3H2F9S2R7xh1My8,1057
620
+ homeassistant-stubs/components/climate/intent.pyi,sha256=3PPKd3_UbvDComNz8NXxcN4sHB731vDihBMbFc7Qlxo,750
621
621
  homeassistant-stubs/components/climate/reproduce_state.pyi,sha256=bkg4fjY3WMLXDbO9mg9fvd3IBoWylMGaShXAP3-6noc,1322
622
622
  homeassistant-stubs/components/climate/significant_change.pyi,sha256=LV-ICKCqZY6KzfHk8nT9mZsA_A9HNvCfvK0aLGiCe3g,1033
623
623
  homeassistant-stubs/components/cloud/__init__.pyi,sha256=tdh_9kG1QTmifbsYe8NJsrW4J2uetbnt8GMdlX0lnDI,4770
@@ -782,7 +782,7 @@ homeassistant-stubs/components/demo/weather.pyi,sha256=seVdWm6fXq5FzhNr2Dw-imlnD
782
782
  homeassistant-stubs/components/derivative/__init__.pyi,sha256=wS_KWMEqYq53_qz1YkYprHlAfTdRJbXZcWalETEteyU,618
783
783
  homeassistant-stubs/components/derivative/config_flow.pyi,sha256=XQUReShh2Lj095W6ITAIVDdIhtQ9c_YhYPncXO_XlNk,1522
784
784
  homeassistant-stubs/components/derivative/const.pyi,sha256=JsEYmAzNLdHk-ISul41ZReBOD43GD2Y6JFNTC3cdkrc,114
785
- homeassistant-stubs/components/derivative/sensor.pyi,sha256=ayxfIlpiizslRO3N2PUOoRhLE8SCML3EC8q1sqhekis,2858
785
+ homeassistant-stubs/components/derivative/sensor.pyi,sha256=JZtjcKT6OpRG2UzPAbRSfQ4yEw1yyR2Gs_JAiGKVOVE,2990
786
786
  homeassistant-stubs/components/device_automation/__init__.pyi,sha256=r_kAtfKxnnK3zc_iC_HAr1qsosLxMshpiVM41N-_s2g,5254
787
787
  homeassistant-stubs/components/device_automation/action.pyi,sha256=AbNNKQsOYlFDEkWewQPv5iETa8OK8-oKdPmzeI3pMeo,1321
788
788
  homeassistant-stubs/components/device_automation/condition.pyi,sha256=SrCcKHlYvkIIGMS08Lnz_Wy10fj1p3zQ6GrtJzoxUj0,1203
@@ -1649,7 +1649,7 @@ homeassistant-stubs/components/integration/__init__.pyi,sha256=64pi7wDuX9BJBHe7V
1649
1649
  homeassistant-stubs/components/integration/config_flow.pyi,sha256=Yio8QpoUFFud8-jBwR9GERbSl27foidiSQ1JNfiP7T0,1706
1650
1650
  homeassistant-stubs/components/integration/const.pyi,sha256=R7lHqjIAH5GaVha03LbSKy6qe8HkDhWxXr7WCkvr2N0,283
1651
1651
  homeassistant-stubs/components/integration/sensor.pyi,sha256=izgl3N0Zugxs8ILckiLGvGStzZAJCyS-UzK27WtePOA,7310
1652
- homeassistant-stubs/components/intent/__init__.pyi,sha256=vBcruDlY2veULj374aN5wg2J1GBZu_3DBm7mMX6R60g,2266
1652
+ homeassistant-stubs/components/intent/__init__.pyi,sha256=goorO9PEUeZkrUHSonqSwE2Qf_4t4uwqrBlRmAERG1M,2510
1653
1653
  homeassistant-stubs/components/intent/const.pyi,sha256=3O_gvS76ZKuzViWqM8923WbKQEZ9umuZYPeJryQTmco,69
1654
1654
  homeassistant-stubs/components/intent/timers.pyi,sha256=wEgb1ep4Q_BCc3wQWSg_2V05ivdZzwqVGO-K8AqTG5w,5644
1655
1655
  homeassistant-stubs/components/intent_script/__init__.pyi,sha256=gf5BVHXiOrRChe3i4221JZ1l6Cj6E2KXhsAOWLV210k,1749
@@ -2246,13 +2246,13 @@ homeassistant-stubs/components/mqtt/light/schema_basic.pyi,sha256=SRHNft9C92nFbD
2246
2246
  homeassistant-stubs/components/mqtt/light/schema_json.pyi,sha256=pJE78Nxv5jQRIyimf9GBEmziHv0jpay3fS0eqOykUlI,4724
2247
2247
  homeassistant-stubs/components/mqtt/light/schema_template.pyi,sha256=JfZ9G9eXTQCOS6D2AciIyrnQFLDEn-yWKsP6CJAuN6k,3918
2248
2248
  homeassistant-stubs/components/music_assistant/__init__.pyi,sha256=Sqq3KX9AEDlIpPEFep5jY6SOPv7-GVtBkvG8NWc8eSQ,1697
2249
- homeassistant-stubs/components/music_assistant/actions.pyi,sha256=bqNQvzO9Ha07ol6qsJwlgnRdiejm6e2lvuwbhiGjpvY,1926
2249
+ homeassistant-stubs/components/music_assistant/actions.pyi,sha256=NHEKTK-bOD54f7FDOPh_PnFinvXrHsfN26QNDANryds,2038
2250
2250
  homeassistant-stubs/components/music_assistant/config_flow.pyi,sha256=0Ocyn_KzD_tWkm6B5PI7zjzI2O34uc1YfwalOqKdZ8c,1210
2251
- homeassistant-stubs/components/music_assistant/const.pyi,sha256=DDhGimfxc0AolKSwTKxRsnB-AdqoY9mBFQeJ9Rsg4B8,1226
2251
+ homeassistant-stubs/components/music_assistant/const.pyi,sha256=AuuFGZtZo5YjZJU3HLfkJULV0f7SeppY90T_liCC-m8,1266
2252
2252
  homeassistant-stubs/components/music_assistant/entity.pyi,sha256=3I5VLQXeCZ4cGaah9LSNUdWQeTQfUDn9mrRUMKDBLJ8,991
2253
2253
  homeassistant-stubs/components/music_assistant/media_browser.pyi,sha256=a3QobuybOTpUlNbQLvto6BjYKumi1BeeNWq6mMaeT1A,1959
2254
2254
  homeassistant-stubs/components/music_assistant/media_player.pyi,sha256=cTIbWlQA6CcwqG6z-vR1_qFLA6eJF8A2jb6KE-rNP4U,7453
2255
- homeassistant-stubs/components/music_assistant/schemas.pyi,sha256=QMwXgjVwipJ9BmdZBxmSYb3cHc853eYWSdmfdKWpirM,1886
2255
+ homeassistant-stubs/components/music_assistant/schemas.pyi,sha256=VHtshIuQOwU28BZTW2vjPgz3VCRKXU4IKFy2WdzwbZk,1954
2256
2256
  homeassistant-stubs/components/my/__init__.pyi,sha256=hd2hje6JtLWqUf275vSS_yosSyxaeih0E721oaXfDwM,349
2257
2257
  homeassistant-stubs/components/mysensors/__init__.pyi,sha256=Nsl0OWi-Dno3Df6kqeeEyG_lYDF3zRLIj39mN7vzr5Y,1616
2258
2258
  homeassistant-stubs/components/mysensors/binary_sensor.pyi,sha256=5en3ZsJe9FmJv99PcGGgwC_jpVvbmlKQODhXJV8c8iI,1588
@@ -2434,12 +2434,13 @@ homeassistant-stubs/components/oncue/const.pyi,sha256=4EdfjkoGOjFyxQQnpGXMvvi-E5
2434
2434
  homeassistant-stubs/components/oncue/entity.pyi,sha256=TZJvQio7AWzk_dLywz3eSiHJJJQsMeVOqjA69LfZ5xc,1181
2435
2435
  homeassistant-stubs/components/oncue/sensor.pyi,sha256=BmocFBANyeat40s8aq7lbg25k0QJTJVBd-z0EstOJGw,1645
2436
2436
  homeassistant-stubs/components/oncue/types.pyi,sha256=KqG_536UpHzCPPb-qCPZA6bUmXVTiPqmIZKwz8NabMs,285
2437
- homeassistant-stubs/components/onedrive/__init__.pyi,sha256=rft_V3C6U7pEGoapYf4Jtc4QSuYKMHDZ_m8iX4U7Ink,1596
2437
+ homeassistant-stubs/components/onedrive/__init__.pyi,sha256=Eiiq3FglNxIIwY6Ke4efkyJUMU2osj-arA7Ab0rvbQE,1736
2438
2438
  homeassistant-stubs/components/onedrive/application_credentials.pyi,sha256=gC5LevrYVBmGRf6YJuwIR4rPyphIk0ro8IvjoPQVjiI,343
2439
2439
  homeassistant-stubs/components/onedrive/backup.pyi,sha256=ERUrv2fI8HAbmcQ9E-GJ-7ZtSWXa8X8F7T1smO9tSvM,2570
2440
2440
  homeassistant-stubs/components/onedrive/config_flow.pyi,sha256=meuHk4XO0DhuordERZwjTIT3c4bliakoznuBLk47Oqw,2426
2441
2441
  homeassistant-stubs/components/onedrive/const.pyi,sha256=H1IK5BM-JMGqg3frUJZo-tObkcqIsWfiuJNAtfDjk10,428
2442
2442
  homeassistant-stubs/components/onedrive/coordinator.pyi,sha256=RzrowL2w47xIupHDZjod4rBn1ARJLtnMsIi-dNZ14vE,1206
2443
+ homeassistant-stubs/components/onedrive/diagnostics.pyi,sha256=qXNIz_Nji2rJ0I_NSpvb93tQzyPcUiiYso4i1bCuPV8,512
2443
2444
  homeassistant-stubs/components/onedrive/sensor.pyi,sha256=MJgUs00qb89m1ODGOS3CuT9QiYAR6Qm-Wt0fXbOI20A,1963
2444
2445
  homeassistant-stubs/components/onewire/__init__.pyi,sha256=wMDZKMHzaTbanOaeZ95Qi4krp8DV-HxY9toO5lC0PEo,878
2445
2446
  homeassistant-stubs/components/onewire/binary_sensor.pyi,sha256=L15kY874h-i1_mMiYL7Ukp08QHpA3a4zPRCeCY0LSQ0,1975
@@ -2753,9 +2754,9 @@ homeassistant-stubs/components/recollect_waste/entity.pyi,sha256=dDygTgDLpKqP90L
2753
2754
  homeassistant-stubs/components/recollect_waste/sensor.pyi,sha256=uMKpt5hOXKr66uUbnSjvNusUPeVxpWaH0aqjJAovZ2E,1589
2754
2755
  homeassistant-stubs/components/recollect_waste/util.pyi,sha256=OEW6MgROjiByGa1RU9p4Hr_SjQCOP-ANAHHfmwuuz8M,363
2755
2756
  homeassistant-stubs/components/recorder/__init__.pyi,sha256=QSklP5GgFAy1-M1jNI4jMDrv36ZN_L78PAB0lylJGPA,2561
2756
- homeassistant-stubs/components/recorder/backup.pyi,sha256=GsFwE8bwZazWZW7vHY7-9f4cwr6R1tPDGdjYA382Wmk,425
2757
+ homeassistant-stubs/components/recorder/backup.pyi,sha256=vbFPAKajSeGAOkipFH2OGQjJ3z2ZkeptHw6TYnjnyFg,449
2757
2758
  homeassistant-stubs/components/recorder/basic_websocket_api.pyi,sha256=b-huezDWKyZxN3NxVnPdjULWqg6fgJN4X1Rot_qLThg,479
2758
- homeassistant-stubs/components/recorder/const.pyi,sha256=g5qJtkwUhtCJ7b4PWEalM0V8lE2ICwdGA3mffRYnYTM,1499
2759
+ homeassistant-stubs/components/recorder/const.pyi,sha256=4_66ws41Lyk-ueYWmHCSjoKXLlLBTxQ13jI96MD_1C0,1533
2759
2760
  homeassistant-stubs/components/recorder/core.pyi,sha256=vknUt_TwIXLwGr-oXWA1sVzwA7Bue8bJvkxV6i7jsKQ,12963
2760
2761
  homeassistant-stubs/components/recorder/db_schema.pyi,sha256=jSeG6ehxD9HFQSJIPerYr1Z9iwVpzDZAY5mdVFSdoYU,11089
2761
2762
  homeassistant-stubs/components/recorder/entity_registry.pyi,sha256=gTw3SQO5i6BBOCVjvtczIbZA3n1xkgO4tpC_qI5JuuM,588
@@ -2767,7 +2768,7 @@ homeassistant-stubs/components/recorder/purge.pyi,sha256=rFgTAV4Un0h6OP7FdKTOa6e
2767
2768
  homeassistant-stubs/components/recorder/queries.pyi,sha256=185rzuArHlphbVOiLbOszfTLTNtER-CAoykwrs9T3ig,4904
2768
2769
  homeassistant-stubs/components/recorder/repack.pyi,sha256=uT-A8NGsSHYz1fQo2pVBFVRzp0z0GhMiwN5Ydl4bUN4,247
2769
2770
  homeassistant-stubs/components/recorder/services.pyi,sha256=FWjWbqHuPUkyWuocRu9HWFBgsjqhB-lcees-Tdn7ZpQ,1479
2770
- homeassistant-stubs/components/recorder/statistics.pyi,sha256=CQXPZYrcju75LwH8xDBO-0SizS-fTenygjkUv6C-af4,17846
2771
+ homeassistant-stubs/components/recorder/statistics.pyi,sha256=EHUT8QEdoir7NyKsXe581UadqEV4ToB0XtN4gNviXzc,18249
2771
2772
  homeassistant-stubs/components/recorder/tasks.pyi,sha256=W3HZdHnVReKOF7zdIPKv9tfO1LqfJeLnefuVEW3a11Q,4425
2772
2773
  homeassistant-stubs/components/recorder/util.pyi,sha256=rsXcVF4ZyeZibo1_J2hr_kdkfK9vYmfqIwwy1VvH1zQ,6054
2773
2774
  homeassistant-stubs/components/recorder/websocket_api.pyi,sha256=AMFFlvyDNl54d_KzEkgMqdaAoUDncQY0r6Yt9VkCogQ,5146
@@ -2783,10 +2784,10 @@ homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi,sha25
2783
2784
  homeassistant-stubs/components/recorder/history/__init__.pyi,sha256=Tibqdb5DGrgUDIZNSTvc2pUrGoi7243DD1cBQ45LxZI,2102
2784
2785
  homeassistant-stubs/components/recorder/history/const.pyi,sha256=QiVq0ILuLWh_v0c_ZAhhaJuS_a2B4yKXQHgy97r81rs,212
2785
2786
  homeassistant-stubs/components/recorder/history/legacy.pyi,sha256=HPYv2HlTud1bEeMKXw7cxHR5TV6XMjSyfNcWt5dyurE,5065
2786
- homeassistant-stubs/components/recorder/history/modern.pyi,sha256=dwF0JoEGDqziV1pnZL7JxQf2ByL17QVKUYaAxO2xw8I,5200
2787
+ homeassistant-stubs/components/recorder/history/modern.pyi,sha256=VMdYiOv5BYiP2x45yu0W64DjBsJJC0Q4xTc5NPbFn1Q,6000
2787
2788
  homeassistant-stubs/components/recorder/models/__init__.pyi,sha256=CUFfhF4KMdIayXSUuLXww7U40t5DBCUaf1Nr_2Lvfmw,1790
2788
2789
  homeassistant-stubs/components/recorder/models/context.pyi,sha256=ozPnonl9i-pXBokFkAq5QTEtsxj8Yfb7M2M444kyFRI,394
2789
- homeassistant-stubs/components/recorder/models/database.pyi,sha256=u0VYbN6hQNdOyCzQwpuhk_xeDJhzy1gquUuFrLBR-GY,416
2790
+ homeassistant-stubs/components/recorder/models/database.pyi,sha256=nk01Caz5DUwcchxJnjCqmxEL5LCW7wFGnnCqiu5K_iM,450
2790
2791
  homeassistant-stubs/components/recorder/models/event.pyi,sha256=PkrZuasEFfqgrzQ-XUJWVSvXoha0p1FCLW107b1h8V0,203
2791
2792
  homeassistant-stubs/components/recorder/models/legacy.pyi,sha256=oeZM01Nhe9QA3JNdKjuvOWBhAh_ux0xjwmT0Be-Dpkk,2101
2792
2793
  homeassistant-stubs/components/recorder/models/state.pyi,sha256=gauJ_Xy_maKnVAMTk6XU1BEh6xTMLwp6AxVFoMQKHp8,2038
@@ -3987,11 +3988,11 @@ homeassistant-stubs/helpers/icon.pyi,sha256=EFE61z2MMe98BK3zHeNTaT2ipb3VP20VF0sW
3987
3988
  homeassistant-stubs/helpers/importlib.pyi,sha256=qrWaOQ4nq-fiv2XPGvTudLF21llTWhoua5bdOLHnumQ,543
3988
3989
  homeassistant-stubs/helpers/instance_id.pyi,sha256=1FcKLhfq3FTLieBr0Si9HMbMNz43MIXNkAKDxr2ptKM,281
3989
3990
  homeassistant-stubs/helpers/integration_platform.pyi,sha256=wd7fWJd6WLx1xI6o5PVSAczcternEutbnipv-b-9vlA,2278
3990
- homeassistant-stubs/helpers/intent.pyi,sha256=KENC33ihnmqOw0JL6yxvPDQHlXr-SkPAooQXH_mL7E0,11941
3991
+ homeassistant-stubs/helpers/intent.pyi,sha256=e5lJ9ceH7nTQjezKrhs7momh-ej-4isfhBjq4g9b6p8,11969
3991
3992
  homeassistant-stubs/helpers/issue_registry.pyi,sha256=x5EWMHDci2qKI78inC6nbOaMqpJCnp2v6a5ixZ4uYxI,4054
3992
3993
  homeassistant-stubs/helpers/json.pyi,sha256=PIxBwZx71qJb_-DKqyVJJoLeU4q8XlT2ODHt9eeL33Q,1798
3993
3994
  homeassistant-stubs/helpers/label_registry.pyi,sha256=uMXIYvaAzudKQS-rgL25Dz48b32hDru7lAmhcPhHAig,3163
3994
- homeassistant-stubs/helpers/llm.pyi,sha256=7lOP0gy7HTWCs0xny5G4B-N5hE6RcGiDCzItLcfagNM,5246
3995
+ homeassistant-stubs/helpers/llm.pyi,sha256=Zx1wDsSkhai0TyGAQ4aE7TP_wZf9LJ2WKv9D3GRctIk,5152
3995
3996
  homeassistant-stubs/helpers/location.pyi,sha256=ynZlBZv3LuyphX4B28y2n2V4IHtJ6ETkUnqOlSYM1FM,655
3996
3997
  homeassistant-stubs/helpers/network.pyi,sha256=-pTFXkYDO0c0R10kisJ6hL6QTJZSODwpfuWReVXoSbg,1882
3997
3998
  homeassistant-stubs/helpers/normalized_name_base_registry.pyi,sha256=XEipwDH7JmF_zR43UN86VP04YW4wO4He3jTHRRA0AII,1004
@@ -4079,7 +4080,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
4079
4080
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
4080
4081
  homeassistant-stubs/util/yaml/loader.pyi,sha256=9MJS3AZNCemqAEU41KVJox1f16OceP64SNXE1-Z37kU,4117
4081
4082
  homeassistant-stubs/util/yaml/objects.pyi,sha256=EmJiT8WnVUHa5dkbYzXtWzu5mhO1YG5bBnEAIF0XLAU,665
4082
- homeassistant_stubs-2025.3.0b1.dist-info/METADATA,sha256=fK1vDfS0QB8tmGYyNqw9OAs_wMI3P-rwUCEXdkl-lEg,2956
4083
- homeassistant_stubs-2025.3.0b1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4084
- homeassistant_stubs-2025.3.0b1.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4085
- homeassistant_stubs-2025.3.0b1.dist-info/RECORD,,
4083
+ homeassistant_stubs-2025.3.0b3.dist-info/METADATA,sha256=mIl6eoRegbK7HK7XF9_iQqYotRSQMHXL9v-n9mYmd28,2956
4084
+ homeassistant_stubs-2025.3.0b3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4085
+ homeassistant_stubs-2025.3.0b3.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4086
+ homeassistant_stubs-2025.3.0b3.dist-info/RECORD,,