homeassistant-stubs 2025.3.0b2__py3-none-any.whl → 2025.3.0b4__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.
@@ -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
@@ -31,6 +31,7 @@ def _has_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
31
31
  def _has_consistent_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
32
32
  def _as_local_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
33
33
  def _has_min_duration(start_key: str, end_key: str, min_duration: datetime.timedelta) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
34
+ def _has_positive_interval(start_key: str, end_key: str, duration_key: str) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
34
35
  def _has_same_type(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
35
36
  def _validate_rrule(value: Any) -> str: ...
36
37
  def _empty_as_none(value: str | None) -> str | None: ...
@@ -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
@@ -10,5 +10,6 @@ DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS: bool
10
10
  STABLE_BLE_VERSION_STR: str
11
11
  STABLE_BLE_VERSION: Incomplete
12
12
  PROJECT_URLS: Incomplete
13
+ STABLE_BLE_URL_VERSION: Incomplete
13
14
  DEFAULT_URL: Incomplete
14
15
  DATA_FFMPEG_PROXY: Incomplete
@@ -15,7 +15,6 @@ from typing import Any
15
15
 
16
16
  _LOGGER: Incomplete
17
17
  type HomeConnectConfigEntry = ConfigEntry[HomeConnectCoordinator]
18
- EVENT_STREAM_RECONNECT_DELAY: int
19
18
 
20
19
  @dataclass(frozen=True, kw_only=True)
21
20
  class HomeConnectApplianceData:
@@ -14,9 +14,11 @@ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNo
14
14
 
15
15
  def get_open_close_value(attribute: HomeeAttribute) -> str | None: ...
16
16
  def get_window_value(attribute: HomeeAttribute) -> str | None: ...
17
+ def get_brightness_device_class(attribute: HomeeAttribute, device_class: SensorDeviceClass | None) -> SensorDeviceClass | None: ...
17
18
 
18
19
  @dataclass(frozen=True, kw_only=True)
19
20
  class HomeeSensorEntityDescription(SensorEntityDescription):
21
+ device_class_fn: Callable[[HomeeAttribute, SensorDeviceClass | None], SensorDeviceClass | None] = ...
20
22
  value_fn: Callable[[HomeeAttribute], str | float | None] = ...
21
23
  native_unit_of_measurement_fn: Callable[[str], str | None] = ...
22
24
 
@@ -34,6 +36,7 @@ class HomeeSensor(HomeeEntity, SensorEntity):
34
36
  entity_description: HomeeSensorEntityDescription
35
37
  _attr_translation_key: Incomplete
36
38
  _attr_translation_placeholders: Incomplete
39
+ _attr_device_class: Incomplete
37
40
  def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: HomeeSensorEntityDescription) -> None: ...
38
41
  @property
39
42
  def native_value(self) -> float | str | None: ...
@@ -1,5 +1,5 @@
1
1
  import asyncio
2
- from .actions import register_actions as register_actions
2
+ from .actions import get_music_assistant_client as get_music_assistant_client, register_actions as register_actions
3
3
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
@@ -7,6 +7,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntry
7
7
  from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
8
8
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
10
+ from homeassistant.helpers import device_registry as dr
10
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
12
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
12
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -28,3 +29,4 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
28
29
  async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry) -> bool: ...
29
30
  async def _client_listen(hass: HomeAssistant, entry: ConfigEntry, mass: MusicAssistantClient, init_ready: asyncio.Event) -> None: ...
30
31
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
32
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -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]: ...
@@ -11,6 +11,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
13
 
14
+ _LOGGER: Incomplete
15
+
14
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: RoborockConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class RoborockMap(RoborockCoordinatedEntityV1, ImageEntity):
@@ -18,3 +18,5 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ..
18
18
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
19
19
  @callback
20
20
  def remove_stale_devices(hass: HomeAssistant, config_entry: ConfigEntry, devices: list[Device]) -> None: ...
21
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
22
+ def migrate_config_entry_and_identifiers(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.3.0b2
3
+ Version: 2025.3.0b4
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.0b2
21
+ Requires-Dist: homeassistant==2025.3.0b4
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
@@ -571,7 +571,7 @@ homeassistant-stubs/components/button/__init__.pyi,sha256=8bR7hQfeb0yh8g1t4hFsH8
571
571
  homeassistant-stubs/components/button/const.pyi,sha256=LRNZ2Epck8UjrpaKeoTUYJQMaBRd5JevVjtLKTBC62Q,31
572
572
  homeassistant-stubs/components/button/device_action.pyi,sha256=KF3s5UTCq9Wb_qsMLwUJQFLIsi_2Ju2ZHDaYlS1v-QA,983
573
573
  homeassistant-stubs/components/button/device_trigger.pyi,sha256=VAUodVs-6EBVLz2ZuUPogWlAE1gfTTViaDC3M5P6FxI,931
574
- homeassistant-stubs/components/calendar/__init__.pyi,sha256=k2MvVx2UNpsoD4QauMwMUSkDCJyNHvrscdLiqXEstSg,7146
574
+ homeassistant-stubs/components/calendar/__init__.pyi,sha256=kKxcCbg6vWry2R-VpLv_ay1EeNvoEM2Ew3y4L1MbSGk,7273
575
575
  homeassistant-stubs/components/calendar/const.pyi,sha256=80-e2pGl6tGLaHbzuuCaUTWJsry1a9RFp3fVV1GL-Jo,861
576
576
  homeassistant-stubs/components/calendar/trigger.pyi,sha256=URYZ7q-1hJhC1sTyRQ5BpISOx01QnLkL428qAFLsEtU,3112
577
577
  homeassistant-stubs/components/cambridge_audio/__init__.pyi,sha256=QhkDXkQbhrYxpk88G9aJriKbwghCOU1njLjfnm_JhpY,894
@@ -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
@@ -1039,7 +1039,7 @@ homeassistant-stubs/components/esphome/button.pyi,sha256=pR-hgw_gTCTj0QGScNeidlD
1039
1039
  homeassistant-stubs/components/esphome/camera.pyi,sha256=4_R1vVynz4w80pof0K4fSWgNuG6RjUM9LBxJ3xO1iOg,1208
1040
1040
  homeassistant-stubs/components/esphome/climate.pyi,sha256=MyHotZ1Dy5KCUTzyYbxQDtFcHryuZ8KxuWnlsWUUbiU,4336
1041
1041
  homeassistant-stubs/components/esphome/config_flow.pyi,sha256=ttfZjpHBwxrNF0sUAurIf5HIOwxeGHJUf0T2PyPVjeE,4034
1042
- homeassistant-stubs/components/esphome/const.pyi,sha256=T_sVqcWtoMgj1DM5PPdyQ0t4CQFmqmO9TgE1uQnZfIs,366
1042
+ homeassistant-stubs/components/esphome/const.pyi,sha256=YbwuawBrTPYvttU04Mg3jpv1I0fdEcivTBhFU7YCIV8,401
1043
1043
  homeassistant-stubs/components/esphome/coordinator.pyi,sha256=FyZqV9c1SmpjmldlanJpDOGKqbH3cOiW4b0d7zD6K5E,678
1044
1044
  homeassistant-stubs/components/esphome/cover.pyi,sha256=uoHLdnLEb6Fd_nEjgtrV4qa5oyCey7RjX2RUbVkfEZc,2155
1045
1045
  homeassistant-stubs/components/esphome/dashboard.pyi,sha256=LRI74hmOE7sXgqalhx9YjZzzf3fBRjEdaY6gg6Lw0DQ,1732
@@ -1414,7 +1414,7 @@ homeassistant-stubs/components/home_connect/button.pyi,sha256=za8DHahnqmmUj1PaKj
1414
1414
  homeassistant-stubs/components/home_connect/common.pyi,sha256=DdXLnrGG35ZIj1RKm0hnwJ8mx5x0Id1bRkrqF5V6j5Q,1821
1415
1415
  homeassistant-stubs/components/home_connect/config_flow.pyi,sha256=ByiAF8LD3ej3wG1wcxEFwqLJa0YJsRHb2W6cLdNUUiU,790
1416
1416
  homeassistant-stubs/components/home_connect/const.pyi,sha256=8bxsgBaBFnRzEvhtS4V-2V-WX30OmQ99UiXT1yTcu6M,2057
1417
- homeassistant-stubs/components/home_connect/coordinator.pyi,sha256=3_nSn5xSBnUXtNK0oLWnV4ReZKae4pzMz3hqSQhnSAw,3239
1417
+ homeassistant-stubs/components/home_connect/coordinator.pyi,sha256=Yf9UGmNiFe4a-e3UYWfMSwYX49cvAFUa8JHC4j2ks0Q,3205
1418
1418
  homeassistant-stubs/components/home_connect/diagnostics.pyi,sha256=xd5stDFXPm86S-CJNctSEzLbByNTM253HDD34lifBHI,773
1419
1419
  homeassistant-stubs/components/home_connect/entity.pyi,sha256=oKD9Mtb1uP4WJHo5CRYLdt8dLBpTTzeKhvJeZnVhY4k,1753
1420
1420
  homeassistant-stubs/components/home_connect/light.pyi,sha256=aUO_O9-KVDBXEPzhBHURwBXfzcEdUIGecxu_x07hVTE,2791
@@ -1470,7 +1470,7 @@ homeassistant-stubs/components/homee/entity.pyi,sha256=J1Ptb-ZhPyOWORzsI3DKrbK8W
1470
1470
  homeassistant-stubs/components/homee/helpers.pyi,sha256=UbrbjMWJKHCmDOqc_OJ3oUonExbkQ1UhYOdtmAO3pzM,160
1471
1471
  homeassistant-stubs/components/homee/light.pyi,sha256=4L7OW3FwGvZTyPTWht0RmeFNR3K9Mh64mpklTwedfIE,2510
1472
1472
  homeassistant-stubs/components/homee/number.pyi,sha256=wBRbtElOp2T_oK6w16C9tll-r-YdSYK1yz4p-5CFo-8,1424
1473
- homeassistant-stubs/components/homee/sensor.pyi,sha256=qCHJva5bwFo9aQXH4Dk38zzchCbAyzxl4u1-rv2tz44,2726
1473
+ homeassistant-stubs/components/homee/sensor.pyi,sha256=6ORhnbXEsEgmbBqRpSFX24ZrGcRZPaXjesH9uGpNDKs,2999
1474
1474
  homeassistant-stubs/components/homee/switch.pyi,sha256=f1V-ld9Ve1jZzAhZAo5z6FWHERYnnRpMrmo4NdDVgow,1931
1475
1475
  homeassistant-stubs/components/homee/valve.pyi,sha256=PCzNaMmu9rJn8Pyj0Ys11CjM6c5EZOy-SH7qdcMmWhs,1343
1476
1476
  homeassistant-stubs/components/homekit/__init__.pyi,sha256=UQzSUJZV4iGo0NsJp_CqMiiVISBM_HYRRjOYIl1V0Jc,10747
@@ -2245,7 +2245,7 @@ homeassistant-stubs/components/mqtt/light/schema.pyi,sha256=uWMGNFfSJQ7x4bYFxOVL
2245
2245
  homeassistant-stubs/components/mqtt/light/schema_basic.pyi,sha256=SRHNft9C92nFbDkbDkKHG0YHqsX9csOJXDesGfe2ECs,7021
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
- homeassistant-stubs/components/music_assistant/__init__.pyi,sha256=Sqq3KX9AEDlIpPEFep5jY6SOPv7-GVtBkvG8NWc8eSQ,1697
2248
+ homeassistant-stubs/components/music_assistant/__init__.pyi,sha256=ZpNo96CqBU-KbvnetFYxK85m5jkHhSbD-rbfeTNqZmA,1945
2249
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
2251
  homeassistant-stubs/components/music_assistant/const.pyi,sha256=AuuFGZtZo5YjZJU3HLfkJULV0f7SeppY90T_liCC-m8,1266
@@ -2756,7 +2756,7 @@ homeassistant-stubs/components/recollect_waste/util.pyi,sha256=OEW6MgROjiByGa1RU
2756
2756
  homeassistant-stubs/components/recorder/__init__.pyi,sha256=QSklP5GgFAy1-M1jNI4jMDrv36ZN_L78PAB0lylJGPA,2561
2757
2757
  homeassistant-stubs/components/recorder/backup.pyi,sha256=vbFPAKajSeGAOkipFH2OGQjJ3z2ZkeptHw6TYnjnyFg,449
2758
2758
  homeassistant-stubs/components/recorder/basic_websocket_api.pyi,sha256=b-huezDWKyZxN3NxVnPdjULWqg6fgJN4X1Rot_qLThg,479
2759
- homeassistant-stubs/components/recorder/const.pyi,sha256=g5qJtkwUhtCJ7b4PWEalM0V8lE2ICwdGA3mffRYnYTM,1499
2759
+ homeassistant-stubs/components/recorder/const.pyi,sha256=4_66ws41Lyk-ueYWmHCSjoKXLlLBTxQ13jI96MD_1C0,1533
2760
2760
  homeassistant-stubs/components/recorder/core.pyi,sha256=vknUt_TwIXLwGr-oXWA1sVzwA7Bue8bJvkxV6i7jsKQ,12963
2761
2761
  homeassistant-stubs/components/recorder/db_schema.pyi,sha256=jSeG6ehxD9HFQSJIPerYr1Z9iwVpzDZAY5mdVFSdoYU,11089
2762
2762
  homeassistant-stubs/components/recorder/entity_registry.pyi,sha256=gTw3SQO5i6BBOCVjvtczIbZA3n1xkgO4tpC_qI5JuuM,588
@@ -2768,7 +2768,7 @@ homeassistant-stubs/components/recorder/purge.pyi,sha256=rFgTAV4Un0h6OP7FdKTOa6e
2768
2768
  homeassistant-stubs/components/recorder/queries.pyi,sha256=185rzuArHlphbVOiLbOszfTLTNtER-CAoykwrs9T3ig,4904
2769
2769
  homeassistant-stubs/components/recorder/repack.pyi,sha256=uT-A8NGsSHYz1fQo2pVBFVRzp0z0GhMiwN5Ydl4bUN4,247
2770
2770
  homeassistant-stubs/components/recorder/services.pyi,sha256=FWjWbqHuPUkyWuocRu9HWFBgsjqhB-lcees-Tdn7ZpQ,1479
2771
- homeassistant-stubs/components/recorder/statistics.pyi,sha256=CQXPZYrcju75LwH8xDBO-0SizS-fTenygjkUv6C-af4,17846
2771
+ homeassistant-stubs/components/recorder/statistics.pyi,sha256=EHUT8QEdoir7NyKsXe581UadqEV4ToB0XtN4gNviXzc,18249
2772
2772
  homeassistant-stubs/components/recorder/tasks.pyi,sha256=W3HZdHnVReKOF7zdIPKv9tfO1LqfJeLnefuVEW3a11Q,4425
2773
2773
  homeassistant-stubs/components/recorder/util.pyi,sha256=rsXcVF4ZyeZibo1_J2hr_kdkfK9vYmfqIwwy1VvH1zQ,6054
2774
2774
  homeassistant-stubs/components/recorder/websocket_api.pyi,sha256=AMFFlvyDNl54d_KzEkgMqdaAoUDncQY0r6Yt9VkCogQ,5146
@@ -2784,10 +2784,10 @@ homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi,sha25
2784
2784
  homeassistant-stubs/components/recorder/history/__init__.pyi,sha256=Tibqdb5DGrgUDIZNSTvc2pUrGoi7243DD1cBQ45LxZI,2102
2785
2785
  homeassistant-stubs/components/recorder/history/const.pyi,sha256=QiVq0ILuLWh_v0c_ZAhhaJuS_a2B4yKXQHgy97r81rs,212
2786
2786
  homeassistant-stubs/components/recorder/history/legacy.pyi,sha256=HPYv2HlTud1bEeMKXw7cxHR5TV6XMjSyfNcWt5dyurE,5065
2787
- homeassistant-stubs/components/recorder/history/modern.pyi,sha256=dwF0JoEGDqziV1pnZL7JxQf2ByL17QVKUYaAxO2xw8I,5200
2787
+ homeassistant-stubs/components/recorder/history/modern.pyi,sha256=VMdYiOv5BYiP2x45yu0W64DjBsJJC0Q4xTc5NPbFn1Q,6000
2788
2788
  homeassistant-stubs/components/recorder/models/__init__.pyi,sha256=CUFfhF4KMdIayXSUuLXww7U40t5DBCUaf1Nr_2Lvfmw,1790
2789
2789
  homeassistant-stubs/components/recorder/models/context.pyi,sha256=ozPnonl9i-pXBokFkAq5QTEtsxj8Yfb7M2M444kyFRI,394
2790
- homeassistant-stubs/components/recorder/models/database.pyi,sha256=u0VYbN6hQNdOyCzQwpuhk_xeDJhzy1gquUuFrLBR-GY,416
2790
+ homeassistant-stubs/components/recorder/models/database.pyi,sha256=nk01Caz5DUwcchxJnjCqmxEL5LCW7wFGnnCqiu5K_iM,450
2791
2791
  homeassistant-stubs/components/recorder/models/event.pyi,sha256=PkrZuasEFfqgrzQ-XUJWVSvXoha0p1FCLW107b1h8V0,203
2792
2792
  homeassistant-stubs/components/recorder/models/legacy.pyi,sha256=oeZM01Nhe9QA3JNdKjuvOWBhAh_ux0xjwmT0Be-Dpkk,2101
2793
2793
  homeassistant-stubs/components/recorder/models/state.pyi,sha256=gauJ_Xy_maKnVAMTk6XU1BEh6xTMLwp6AxVFoMQKHp8,2038
@@ -2928,7 +2928,7 @@ homeassistant-stubs/components/roborock/const.pyi,sha256=SAstjD3OGuxxKmVH-bRpRwT
2928
2928
  homeassistant-stubs/components/roborock/coordinator.pyi,sha256=wrmdRlgZOhvBtdLqp30zhBM2I_6FRvMVsEdqJwqvuV4,4095
2929
2929
  homeassistant-stubs/components/roborock/diagnostics.pyi,sha256=-3WvDcLI0Qv0p6P9R8eSQZtgFZll5d9gKTEDBx6RmEA,522
2930
2930
  homeassistant-stubs/components/roborock/entity.pyi,sha256=O5kGsR8u9oDJJD4XrGeIz_KvGzToTzqXZHZtW--EFQo,3083
2931
- homeassistant-stubs/components/roborock/image.pyi,sha256=3f6Cj5pxnGNhiVlctI2H1Y8T5rlRZGNO6cTj2TDGxM4,2013
2931
+ homeassistant-stubs/components/roborock/image.pyi,sha256=qH5oa9LOKNWg84P7IkPSYlR_wtiHFXyqTgE5VFSynOc,2034
2932
2932
  homeassistant-stubs/components/roborock/models.pyi,sha256=JafSkeURg1toz6HiSKYY2U68yeX93xxTccWNIy_7WRo,700
2933
2933
  homeassistant-stubs/components/roborock/number.pyi,sha256=_WIhENoXQxL2JPvUH3kQnPLUXRxWsL2cN7jpsA6TN-c,1809
2934
2934
  homeassistant-stubs/components/roborock/roborock_storage.pyi,sha256=FsdJgkm0Nut_y3RSlYjNU0MRxRXKJ0sNjStE9AMecjk,946
@@ -3542,7 +3542,7 @@ homeassistant-stubs/components/tractive/diagnostics.pyi,sha256=5ptVNUawOfw2KuGs6
3542
3542
  homeassistant-stubs/components/tractive/entity.pyi,sha256=0YiGkyy3yMBGcYUpcJthCXx6Y1kcBRMvQgfLyVyoU34,1054
3543
3543
  homeassistant-stubs/components/tractive/sensor.pyi,sha256=EuhV1KJeyW8xFml_UND-7EDVGhIFtD4D7e5L-ZTYMJg,2322
3544
3544
  homeassistant-stubs/components/tractive/switch.pyi,sha256=UI4Q-uLoqWZzmpAvuMg2VnffJJFtszhXYRcu9UkKaf8,2046
3545
- homeassistant-stubs/components/tradfri/__init__.pyi,sha256=A4b7xTUlQkSPTeyof4Em07LthP6uiCphCkgzKXy5ddQ,1436
3545
+ homeassistant-stubs/components/tradfri/__init__.pyi,sha256=59izwUdciToHIP64YhmKxE8uTTANT7Xaz_YyFNrsvF0,1629
3546
3546
  homeassistant-stubs/components/tradfri/config_flow.pyi,sha256=URutEsGK-J98lpGDHo4t3y2FOQCXRNnQZDQ63jp2gL8,1398
3547
3547
  homeassistant-stubs/components/tradfri/const.pyi,sha256=rfCBf7j9UwiaXEKUgILSqKPQIx5rUpRzawztNAY3dtk,184
3548
3548
  homeassistant-stubs/components/tradfri/coordinator.pyi,sha256=D8vcGZfq4R8dD8TwQEsgDj1yUOnPPNv5qg7e5X-WjPA,1256
@@ -4080,7 +4080,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
4080
4080
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
4081
4081
  homeassistant-stubs/util/yaml/loader.pyi,sha256=9MJS3AZNCemqAEU41KVJox1f16OceP64SNXE1-Z37kU,4117
4082
4082
  homeassistant-stubs/util/yaml/objects.pyi,sha256=EmJiT8WnVUHa5dkbYzXtWzu5mhO1YG5bBnEAIF0XLAU,665
4083
- homeassistant_stubs-2025.3.0b2.dist-info/METADATA,sha256=5q_6TnAVpB5AvVqn9YWF2ntaNLaB8M274gkteCYsNNU,2956
4084
- homeassistant_stubs-2025.3.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4085
- homeassistant_stubs-2025.3.0b2.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4086
- homeassistant_stubs-2025.3.0b2.dist-info/RECORD,,
4083
+ homeassistant_stubs-2025.3.0b4.dist-info/METADATA,sha256=7q28WX1o7-ckOS7vApw_eY2lgbQ4X81ogG-f_obAPDg,2956
4084
+ homeassistant_stubs-2025.3.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4085
+ homeassistant_stubs-2025.3.0b4.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4086
+ homeassistant_stubs-2025.3.0b4.dist-info/RECORD,,