homeassistant-stubs 2025.5.0b10__py3-none-any.whl → 2025.5.2__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.
@@ -9,7 +9,7 @@ from typing import Any
9
9
  _LOGGER: Incomplete
10
10
 
11
11
  class AzureStorageConfigFlow(ConfigFlow, domain=DOMAIN):
12
- def get_account_url(self, account_name: str) -> str: ...
12
+ async def get_container_client(self, account_name: str, container_name: str, storage_account_key: str) -> ContainerClient: ...
13
13
  async def validate_config(self, container_client: ContainerClient) -> dict[str, str]: ...
14
14
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
15
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -2,7 +2,7 @@ from . import util as util
2
2
  from .agent import BackupAgent as BackupAgent
3
3
  from .const import DATA_MANAGER as DATA_MANAGER
4
4
  from .manager import BackupManager as BackupManager
5
- from .models import BackupNotFound as BackupNotFound
5
+ from .models import AgentBackup as AgentBackup, BackupNotFound as BackupNotFound
6
6
  from aiohttp.web import FileResponse, Request as Request, Response, StreamResponse
7
7
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS, require_admin as require_admin
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -19,7 +19,7 @@ class DownloadBackupView(HomeAssistantView):
19
19
  name: str
20
20
  async def get(self, request: Request, backup_id: str) -> StreamResponse | FileResponse | Response: ...
21
21
  async def _send_backup_no_password(self, request: Request, headers: dict[istr, str], backup_id: str, agent_id: str, agent: BackupAgent, manager: BackupManager) -> StreamResponse | FileResponse | Response: ...
22
- async def _send_backup_with_password(self, hass: HomeAssistant, request: Request, headers: dict[istr, str], backup_id: str, agent_id: str, password: str, agent: BackupAgent, manager: BackupManager) -> StreamResponse | FileResponse | Response: ...
22
+ async def _send_backup_with_password(self, hass: HomeAssistant, backup: AgentBackup, request: Request, headers: dict[istr, str], backup_id: str, agent_id: str, password: str, agent: BackupAgent, manager: BackupManager) -> StreamResponse | FileResponse | Response: ...
23
23
 
24
24
  class UploadBackupView(HomeAssistantView):
25
25
  url: str
@@ -66,10 +66,11 @@ class AsyncIteratorWriter:
66
66
  def write(self, s: bytes, /) -> int: ...
67
67
 
68
68
  def validate_password_stream(input_stream: IO[bytes], password: str | None) -> None: ...
69
- def decrypt_backup(input_stream: IO[bytes], output_stream: IO[bytes], password: str | None, on_done: Callable[[Exception | None], None], minimum_size: int, nonces: list[bytes]) -> None: ...
70
- def _decrypt_backup(input_tar: tarfile.TarFile, output_tar: tarfile.TarFile, password: str | None) -> None: ...
71
- def encrypt_backup(input_stream: IO[bytes], output_stream: IO[bytes], password: str | None, on_done: Callable[[Exception | None], None], minimum_size: int, nonces: list[bytes]) -> None: ...
72
- def _encrypt_backup(input_tar: tarfile.TarFile, output_tar: tarfile.TarFile, password: str | None, nonces: list[bytes]) -> None: ...
69
+ def _get_expected_archives(backup: AgentBackup) -> set[str]: ...
70
+ def decrypt_backup(backup: AgentBackup, input_stream: IO[bytes], output_stream: IO[bytes], password: str | None, on_done: Callable[[Exception | None], None], minimum_size: int, nonces: NonceGenerator) -> None: ...
71
+ def _decrypt_backup(backup: AgentBackup, input_tar: tarfile.TarFile, output_tar: tarfile.TarFile, password: str | None) -> None: ...
72
+ def encrypt_backup(backup: AgentBackup, input_stream: IO[bytes], output_stream: IO[bytes], password: str | None, on_done: Callable[[Exception | None], None], minimum_size: int, nonces: NonceGenerator) -> None: ...
73
+ def _encrypt_backup(backup: AgentBackup, input_tar: tarfile.TarFile, output_tar: tarfile.TarFile, password: str | None, nonces: NonceGenerator) -> None: ...
73
74
 
74
75
  @dataclass(kw_only=True)
75
76
  class _CipherWorkerStatus:
@@ -79,14 +80,19 @@ class _CipherWorkerStatus:
79
80
  thread: threading.Thread
80
81
  writer: AsyncIteratorWriter
81
82
 
83
+ class NonceGenerator:
84
+ _nonces: dict[int, bytes]
85
+ def __init__(self) -> None: ...
86
+ def get(self, index: int) -> bytes: ...
87
+
82
88
  class _CipherBackupStreamer:
83
- _cipher_func: Callable[[IO[bytes], IO[bytes], str | None, Callable[[Exception | None], None], int, list[bytes]], None]
89
+ _cipher_func: Callable[[AgentBackup, IO[bytes], IO[bytes], str | None, Callable[[Exception | None], None], int, NonceGenerator], None]
84
90
  _workers: list[_CipherWorkerStatus]
85
91
  _backup: Incomplete
86
92
  _hass: Incomplete
87
93
  _open_stream: Incomplete
88
94
  _password: Incomplete
89
- _nonces: list[bytes]
95
+ _nonces: Incomplete
90
96
  def __init__(self, hass: HomeAssistant, backup: AgentBackup, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], password: str | None) -> None: ...
91
97
  def size(self) -> int: ...
92
98
  def _num_tar_files(self) -> int: ...
@@ -98,8 +104,6 @@ class DecryptedBackupStreamer(_CipherBackupStreamer):
98
104
  def backup(self) -> AgentBackup: ...
99
105
 
100
106
  class EncryptedBackupStreamer(_CipherBackupStreamer):
101
- _nonces: Incomplete
102
- def __init__(self, hass: HomeAssistant, backup: AgentBackup, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], password: str | None) -> None: ...
103
107
  _cipher_func: Incomplete
104
108
  def backup(self) -> AgentBackup: ...
105
109
 
@@ -5,19 +5,24 @@ from .util import get_name_key as get_name_key, get_options as get_options, get_
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
- from deebot_client.capabilities import CapabilityEvent, CapabilityLifeSpan
8
+ from deebot_client.capabilities import CapabilityEvent, CapabilityLifeSpan, DeviceType
9
+ from deebot_client.device import Device as Device
9
10
  from deebot_client.events import ErrorEvent, Event as Event, LifeSpan as LifeSpan, LifeSpanEvent as LifeSpanEvent
10
11
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
11
12
  from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, CONF_DESCRIPTION as CONF_DESCRIPTION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfArea as UnitOfArea, UnitOfTime as UnitOfTime
12
- from homeassistant.core import HomeAssistant as HomeAssistant
13
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
14
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
15
  from homeassistant.helpers.typing import StateType as StateType
15
16
  from sucks import VacBot as VacBot
16
- from typing import Generic
17
+ from typing import Any, Generic
17
18
 
18
19
  @dataclass(kw_only=True, frozen=True)
19
20
  class EcovacsSensorEntityDescription(EcovacsCapabilityEntityDescription, SensorEntityDescription, Generic[EventT]):
20
21
  value_fn: Callable[[EventT], StateType]
22
+ native_unit_of_measurement_fn: Callable[[DeviceType], str | None] | None = ...
23
+
24
+ @callback
25
+ def get_area_native_unit_of_measurement(device_type: DeviceType) -> str | None: ...
21
26
 
22
27
  ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...]
23
28
 
@@ -38,6 +43,8 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntr
38
43
 
39
44
  class EcovacsSensor(EcovacsDescriptionEntity[CapabilityEvent], SensorEntity):
40
45
  entity_description: EcovacsSensorEntityDescription
46
+ _attr_native_unit_of_measurement: Incomplete
47
+ def __init__(self, device: Device, capability: CapabilityEvent, entity_description: EcovacsSensorEntityDescription, **kwargs: Any) -> None: ...
41
48
  _attr_native_value: Incomplete
42
49
  async def async_added_to_hass(self) -> None: ...
43
50
 
@@ -39,7 +39,6 @@ class EsphomeEntity(EsphomeBaseEntity, Generic[_InfoT, _StateT]):
39
39
  _has_state: bool
40
40
  _entry_data: Incomplete
41
41
  _states: Incomplete
42
- _device_info: Incomplete
43
42
  _key: Incomplete
44
43
  _state_type: Incomplete
45
44
  _attr_device_info: Incomplete
@@ -57,6 +56,7 @@ class EsphomeEntity(EsphomeBaseEntity, Generic[_InfoT, _StateT]):
57
56
  def _update_state_from_entry_data(self) -> None: ...
58
57
  @callback
59
58
  def _on_state_update(self) -> None: ...
59
+ _device_info: Incomplete
60
60
  _api_version: Incomplete
61
61
  _client: Incomplete
62
62
  _attr_available: Incomplete
@@ -1,9 +1,9 @@
1
1
  from .accessories import TYPES as TYPES
2
2
  from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_AIR_QUALITY as CHAR_AIR_QUALITY, CHAR_CURRENT_AIR_PURIFIER_STATE as CHAR_CURRENT_AIR_PURIFIER_STATE, CHAR_CURRENT_HUMIDITY as CHAR_CURRENT_HUMIDITY, CHAR_CURRENT_TEMPERATURE as CHAR_CURRENT_TEMPERATURE, CHAR_FILTER_CHANGE_INDICATION as CHAR_FILTER_CHANGE_INDICATION, CHAR_FILTER_LIFE_LEVEL as CHAR_FILTER_LIFE_LEVEL, CHAR_NAME as CHAR_NAME, CHAR_PM25_DENSITY as CHAR_PM25_DENSITY, CHAR_TARGET_AIR_PURIFIER_STATE as CHAR_TARGET_AIR_PURIFIER_STATE, CONF_LINKED_FILTER_CHANGE_INDICATION as CONF_LINKED_FILTER_CHANGE_INDICATION, CONF_LINKED_FILTER_LIFE_LEVEL as CONF_LINKED_FILTER_LIFE_LEVEL, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_PM25_SENSOR as CONF_LINKED_PM25_SENSOR, CONF_LINKED_TEMPERATURE_SENSOR as CONF_LINKED_TEMPERATURE_SENSOR, SERV_AIR_PURIFIER as SERV_AIR_PURIFIER, SERV_AIR_QUALITY_SENSOR as SERV_AIR_QUALITY_SENSOR, SERV_FILTER_MAINTENANCE as SERV_FILTER_MAINTENANCE, SERV_HUMIDITY_SENSOR as SERV_HUMIDITY_SENSOR, SERV_TEMPERATURE_SENSOR as SERV_TEMPERATURE_SENSOR, THRESHOLD_FILTER_CHANGE_NEEDED as THRESHOLD_FILTER_CHANGE_NEEDED
3
3
  from .type_fans import ATTR_PRESET_MODE as ATTR_PRESET_MODE, CHAR_ROTATION_SPEED as CHAR_ROTATION_SPEED, Fan as Fan
4
- from .util import cleanup_name_for_homekit as cleanup_name_for_homekit, convert_to_float as convert_to_float, density_to_air_quality as density_to_air_quality
4
+ from .util import cleanup_name_for_homekit as cleanup_name_for_homekit, convert_to_float as convert_to_float, density_to_air_quality as density_to_air_quality, temperature_to_homekit as temperature_to_homekit
5
5
  from _typeshed import Incomplete
6
- from homeassistant.const import STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
6
+ from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
7
7
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, State as State, callback as callback
8
8
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
9
9
  from pyhap.characteristic import Characteristic as Characteristic
@@ -10,7 +10,7 @@ from homeassistant.const import CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
12
12
  from homeassistant.helpers import device_registry as dr
13
- from homeassistant.helpers.device_registry import format_mac as format_mac
13
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
14
14
  from homeassistant.helpers.event import async_call_later as async_call_later
15
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
16
16
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
@@ -26,7 +26,7 @@ class ReolinkData:
26
26
  def is_connected(hass: HomeAssistant, config_entry: config_entries.ConfigEntry) -> bool: ...
27
27
  def get_host(hass: HomeAssistant, config_entry_id: str) -> ReolinkHost: ...
28
28
  def get_store(hass: HomeAssistant, config_entry_id: str) -> Store[str]: ...
29
- def get_device_uid_and_ch(device: dr.DeviceEntry, host: ReolinkHost) -> tuple[list[str], int | None, bool]: ...
29
+ def get_device_uid_and_ch(device: dr.DeviceEntry | tuple[str, str], host: ReolinkHost) -> tuple[list[str], int | None, bool]: ...
30
30
  def check_translation_key(err: ReolinkError) -> str | None: ...
31
31
 
32
32
  _EXCEPTION_TO_TRANSLATION_KEY: Incomplete
@@ -56,7 +56,7 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity):
56
56
  @property
57
57
  def supported_features(self) -> ClimateEntityFeature: ...
58
58
  @property
59
- def current_humidity(self) -> int | None: ...
59
+ def current_humidity(self) -> float | None: ...
60
60
  @property
61
61
  def hvac_mode(self) -> HVACMode: ...
62
62
  @property
@@ -10,7 +10,7 @@ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONC
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
  from homeassistant.helpers.typing import StateType as StateType
13
- from pysensibo.model import MotionSensor as MotionSensor, SensiboDevice as SensiboDevice
13
+ from pysensibo.model import MotionSensor as MotionSensor, PureAQI, SensiboDevice as SensiboDevice
14
14
  from typing import Any
15
15
 
16
16
  PARALLEL_UPDATES: int
@@ -28,6 +28,9 @@ class SensiboDeviceSensorEntityDescription(SensorEntityDescription):
28
28
 
29
29
  FILTER_LAST_RESET_DESCRIPTION: Incomplete
30
30
  MOTION_SENSOR_TYPES: tuple[SensiboMotionSensorEntityDescription, ...]
31
+
32
+ def _pure_aqi(pm25_pure: PureAQI | None) -> str | None: ...
33
+
31
34
  PURE_SENSOR_TYPES: tuple[SensiboDeviceSensorEntityDescription, ...]
32
35
  DEVICE_SENSOR_TYPES: tuple[SensiboDeviceSensorEntityDescription, ...]
33
36
  AIRQ_SENSOR_TYPES: tuple[SensiboDeviceSensorEntityDescription, ...]
@@ -1,6 +1,6 @@
1
1
  from .config_validation import BITMASK_SCHEMA as BITMASK_SCHEMA
2
- from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_METHOD_NAME as ATTR_METHOD_NAME, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_WAIT_FOR_RESULT as ATTR_WAIT_FOR_RESULT, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
3
- from .helpers import async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, async_get_provisioning_entry_from_device_id as async_get_provisioning_entry_from_device_id, get_device_id as get_device_id
2
+ from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_METHOD_NAME as ATTR_METHOD_NAME, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_WAIT_FOR_RESULT as ATTR_WAIT_FOR_RESULT, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, LOGGER as LOGGER, RESTORE_NVM_DRIVER_READY_TIMEOUT as RESTORE_NVM_DRIVER_READY_TIMEOUT, USER_AGENT as USER_AGENT
3
+ from .helpers import CannotConnect as CannotConnect, async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, async_get_provisioning_entry_from_device_id as async_get_provisioning_entry_from_device_id, async_get_version_info as async_get_version_info, get_device_id as get_device_id
4
4
  from _typeshed import Incomplete
5
5
  from aiohttp import web as web
6
6
  from collections.abc import Callable as Callable, Coroutine
@@ -8,6 +8,7 @@ from homeassistant.components import websocket_api as websocket_api
8
8
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS, require_admin as require_admin
9
9
  from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection, ERR_INVALID_FORMAT as ERR_INVALID_FORMAT, ERR_NOT_FOUND as ERR_NOT_FOUND, ERR_NOT_SUPPORTED as ERR_NOT_SUPPORTED, ERR_UNKNOWN_ERROR as ERR_UNKNOWN_ERROR
10
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
11
+ from homeassistant.const import CONF_URL as CONF_URL
11
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
13
  from homeassistant.helpers import device_registry as dr
13
14
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -1,7 +1,8 @@
1
1
  import asyncio
2
2
  import voluptuous as vol
3
3
  from .addon import get_addon_manager as get_addon_manager
4
- from .const import ADDON_SLUG as ADDON_SLUG, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_EMULATE_HARDWARE as CONF_ADDON_EMULATE_HARDWARE, CONF_ADDON_LOG_LEVEL as CONF_ADDON_LOG_LEVEL, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN
4
+ from .const import ADDON_SLUG as ADDON_SLUG, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_EMULATE_HARDWARE as CONF_ADDON_EMULATE_HARDWARE, CONF_ADDON_LOG_LEVEL as CONF_ADDON_LOG_LEVEL, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, RESTORE_NVM_DRIVER_READY_TIMEOUT as RESTORE_NVM_DRIVER_READY_TIMEOUT
5
+ from .helpers import CannotConnect as CannotConnect, async_get_version_info as async_get_version_info
5
6
  from _typeshed import Incomplete
6
7
  from homeassistant.components import usb as usb
7
8
  from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
@@ -10,7 +11,6 @@ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_URL as CONF_URL
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
12
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
12
13
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
14
14
  from homeassistant.helpers.hassio import is_hassio as is_hassio
15
15
  from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
16
16
  from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
@@ -28,8 +28,6 @@ ADDON_SETUP_TIMEOUT: int
28
28
  ADDON_SETUP_TIMEOUT_ROUNDS: int
29
29
  CONF_EMULATE_HARDWARE: str
30
30
  CONF_LOG_LEVEL: str
31
- RESTORE_NVM_DRIVER_READY_TIMEOUT: int
32
- SERVER_VERSION_TIMEOUT: int
33
31
  ADDON_LOG_LEVELS: Incomplete
34
32
  ADDON_USER_INPUT_MAP: Incomplete
35
33
  ON_SUPERVISOR_SCHEMA: Incomplete
@@ -38,7 +36,6 @@ MIN_MIGRATION_SDK_VERSION: Incomplete
38
36
  def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
39
37
  def get_on_supervisor_schema(user_input: dict[str, Any]) -> vol.Schema: ...
40
38
  async def validate_input(hass: HomeAssistant, user_input: dict) -> VersionInfo: ...
41
- async def async_get_version_info(hass: HomeAssistant, ws_address: str) -> VersionInfo: ...
42
39
  def get_usb_ports() -> dict[str, str]: ...
43
40
  async def async_get_usb_ports(hass: HomeAssistant) -> dict[str, str]: ...
44
41
 
@@ -115,8 +112,6 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
115
112
  async def _async_restore_network_backup(self) -> None: ...
116
113
  def _get_driver(self) -> Driver: ...
117
114
 
118
- class CannotConnect(HomeAssistantError): ...
119
-
120
115
  class InvalidInput(HomeAssistantError):
121
116
  error: Incomplete
122
117
  def __init__(self, error: str) -> None: ...
@@ -130,3 +130,4 @@ ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY: str
130
130
  API_KEY_FIRMWARE_UPDATE_SERVICE: str
131
131
  COVER_POSITION_PROPERTY_KEYS: set[str | int | None]
132
132
  COVER_TILT_PROPERTY_KEYS: set[str | int | None]
133
+ RESTORE_NVM_DRIVER_READY_TIMEOUT: int
@@ -8,6 +8,7 @@ from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers import device_registry as dr, entity_registry as er
11
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
13
  from homeassistant.helpers.group import expand_entity_ids as expand_entity_ids
13
14
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
@@ -16,6 +17,9 @@ from zwave_js_server.model.controller import Controller as Controller, Provision
16
17
  from zwave_js_server.model.driver import Driver as Driver
17
18
  from zwave_js_server.model.node import Node as ZwaveNode
18
19
  from zwave_js_server.model.value import Value as ZwaveValue, ValueDataType as ValueDataType
20
+ from zwave_js_server.version import VersionInfo as VersionInfo
21
+
22
+ SERVER_VERSION_TIMEOUT: int
19
23
 
20
24
  @dataclass
21
25
  class ZwaveValueID:
@@ -63,3 +67,6 @@ def copy_available_params(input_dict: dict[str, Any], output_dict: dict[str, Any
63
67
  def get_value_state_schema(value: ZwaveValue) -> VolSchemaType | vol.Coerce | vol.In | None: ...
64
68
  def get_device_info(driver: Driver, node: ZwaveNode) -> DeviceInfo: ...
65
69
  def get_network_identifier_for_notification(hass: HomeAssistant, config_entry: ConfigEntry, controller: Controller) -> str: ...
70
+ async def async_get_version_info(hass: HomeAssistant, ws_address: str) -> VersionInfo: ...
71
+
72
+ class CannotConnect(HomeAssistantError): ...
@@ -12,4 +12,11 @@ class DeviceConfigFileChangedFlow(RepairsFlow):
12
12
  async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
13
13
  async def async_step_ignore(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
14
14
 
15
+ class MigrateUniqueIDFlow(RepairsFlow):
16
+ description_placeholders: dict[str, str]
17
+ _config_entry_id: str
18
+ def __init__(self, data: dict[str, str]) -> None: ...
19
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
20
+ async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
21
+
15
22
  async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str] | None) -> RepairsFlow: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.5.0b10
3
+ Version: 2025.5.2
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.13.2
21
- Requires-Dist: homeassistant==2025.5.0b10
21
+ Requires-Dist: homeassistant==2025.5.2
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)
@@ -413,7 +413,7 @@ homeassistant-stubs/components/axis/hub/event_source.pyi,sha256=2MWGaVgI5mHf_gEO
413
413
  homeassistant-stubs/components/axis/hub/hub.pyi,sha256=mulaCc4i9ZIxA8la7aIObtE4AJtjQBsKzr61mj_CMqU,1544
414
414
  homeassistant-stubs/components/azure_storage/__init__.pyi,sha256=MmjppNsYEm07bXjiNQcYASLF-HnsOGsfxVWcbQEvL4o,937
415
415
  homeassistant-stubs/components/azure_storage/backup.pyi,sha256=JsW0suahh5bvl1vUNovXqcfNK5dU1UfM-W7Mk7V9IWk,2099
416
- homeassistant-stubs/components/azure_storage/config_flow.pyi,sha256=4gQLzGuNlr6Hv0duFkkGnZ4s__2YsdUavgeaWiQAvMc,1175
416
+ homeassistant-stubs/components/azure_storage/config_flow.pyi,sha256=bV18G2f2reAjQJ2wQrWxFe_sK3ivbq8hhjcrc0H5dkY,1245
417
417
  homeassistant-stubs/components/azure_storage/const.pyi,sha256=H99btz8WxMUnurchmMwSL6c59rmtuVNaZGH9NfzEL0k,316
418
418
  homeassistant-stubs/components/backup/__init__.pyi,sha256=2wSjpqBJ3fOwp6XY4zgFz6JO4n3Aq912db_FYa9Kj60,1856
419
419
  homeassistant-stubs/components/backup/agent.pyi,sha256=-ouyIamQIxOopN9gQTjfkEa6FrNOetzlqlD_V3Hmnqo,1790
@@ -425,13 +425,13 @@ homeassistant-stubs/components/backup/const.pyi,sha256=N3Hb5USpEK0tHJxtqdrgroGNi
425
425
  homeassistant-stubs/components/backup/coordinator.pyi,sha256=dzp3sBvWQ49jA77DjwyRRvqq9CFZ9xZwUyCGOC8Fd5s,1574
426
426
  homeassistant-stubs/components/backup/diagnostics.pyi,sha256=yst1qTxZhDvfE8a--dgwmadGRjNbyIMd8SrvriKe_28,416
427
427
  homeassistant-stubs/components/backup/entity.pyi,sha256=AxsYDnME3wHrtNVKSlPLev98rUi38kJF7bW8tL7w86Q,762
428
- homeassistant-stubs/components/backup/http.pyi,sha256=l9IxwWnCeITSGrgV_9lRzmjHEPIA3YHaVi4lYTnc07M,1662
428
+ homeassistant-stubs/components/backup/http.pyi,sha256=43WTfykNan9XZ-ypeyAVwq5D2-yjf5F_v3qKioDT1Jo,1711
429
429
  homeassistant-stubs/components/backup/manager.pyi,sha256=BIMl86ggY_5781wG83e0N32TM-nmUREJxAT5XeVn5co,14576
430
430
  homeassistant-stubs/components/backup/models.pyi,sha256=mFvNpBmNQ3vOZ4ep4y-1TYDzll8QeQNCx3aYaX36lLg,1212
431
431
  homeassistant-stubs/components/backup/onboarding.pyi,sha256=3Deao0Us0O1NywC7EmS0gNDHRKWus-DhYM4Rwuq5asg,1723
432
432
  homeassistant-stubs/components/backup/sensor.pyi,sha256=fvat2UotaSYLIZL4XsTTLIL1wQVSn-GRHJ2WV8sdrMM,1274
433
433
  homeassistant-stubs/components/backup/store.pyi,sha256=CTgV9bZqdqSFYc6xrwrWizFVQYOaraG9ZHWAIMnBKi8,1174
434
- homeassistant-stubs/components/backup/util.pyi,sha256=0_yUHocSWTk3jPM-GFI-OTikYMCvtiYQzM-9b-pfG3k,4400
434
+ homeassistant-stubs/components/backup/util.pyi,sha256=hAC0OCXdBdynCrP6J00AN_7ZxtpPxBfT_DuK_t1thRY,4512
435
435
  homeassistant-stubs/components/backup/websocket.pyi,sha256=rR-htdBfxq7d299b4zrP6zqq-q1STrqaLp4D4PrR4CE,2787
436
436
  homeassistant-stubs/components/baf/__init__.pyi,sha256=Ylh2xJjcBgDaMmOK4Jf2dc6oFmekClLSl0IgZljcRVQ,670
437
437
  homeassistant-stubs/components/baf/binary_sensor.pyi,sha256=RnvOAqVY9m-somjQ9Gz47Z4jD3MgaTD6t-Efhfl0ovw,1198
@@ -950,7 +950,7 @@ homeassistant-stubs/components/ecovacs/image.pyi,sha256=T4cjZnXFdWyNfgqmvu66WmOs
950
950
  homeassistant-stubs/components/ecovacs/lawn_mower.pyi,sha256=bymhhLp7eNaRl95Inofkpj8sM5I2q6NxbScJEogfAOg,1457
951
951
  homeassistant-stubs/components/ecovacs/number.pyi,sha256=bgoOmdjt8mQhX_D55m-CHHFiGUXbvHTmYX8v5D4ldNk,1764
952
952
  homeassistant-stubs/components/ecovacs/select.pyi,sha256=a8U15e7KXVA7GVkIp-8JTlAiJq8CbMxy63uIqnJrQHc,1943
953
- homeassistant-stubs/components/ecovacs/sensor.pyi,sha256=r97hXMVXxjU-JvpMeUnvugoTgKUQgUxhSAP9dMIabsI,3558
953
+ homeassistant-stubs/components/ecovacs/sensor.pyi,sha256=r9_y5YCuXMDn8S-AS_FuYcgrD_6OlvAFDVztMBz1sNk,4022
954
954
  homeassistant-stubs/components/ecovacs/switch.pyi,sha256=ZsawAWAdtum9042g-PvYc7f7-ZfDcfFWD7-RhfDzUj8,1567
955
955
  homeassistant-stubs/components/ecovacs/util.pyi,sha256=LShgVRLEXvu4KhvbPVpz-JOPPytD5zF1XhGcmhqYkkk,784
956
956
  homeassistant-stubs/components/ecovacs/vacuum.pyi,sha256=nwToWlGaoaVCs08flPrEjWQMJs8ko2kYjjQL_b9wFPY,3906
@@ -1085,7 +1085,7 @@ homeassistant-stubs/components/esphome/date.pyi,sha256=5vZuKDQMtgOGk1FRZwlbgUewA
1085
1085
  homeassistant-stubs/components/esphome/datetime.pyi,sha256=28W77mjdAuCLMsQHqZgzPkygMVdkIrhSszNynTmzATY,652
1086
1086
  homeassistant-stubs/components/esphome/diagnostics.pyi,sha256=YTJeOA3Put-4MVcLFhv-mHSAocckIF-CtDg9zZ9VVeU,785
1087
1087
  homeassistant-stubs/components/esphome/domain_data.pyi,sha256=y20yq3N7Fm8hnQL-hL31rJaZslcNGB_36U8o9De1QEY,792
1088
- homeassistant-stubs/components/esphome/entity.pyi,sha256=oeX9hKIxzR1cvh7AK56MZC73XEwOOdZx4WOtlf3YxiM,3867
1088
+ homeassistant-stubs/components/esphome/entity.pyi,sha256=OljqfHYvMxfjwRnWmxvli0MYTOHHnZ24lXRmqBlYXpU,3867
1089
1089
  homeassistant-stubs/components/esphome/entry_data.pyi,sha256=c-y9qTq1yd017lBVodJ5XXMt9ZToa3xrKWrY03dkfIc,7078
1090
1090
  homeassistant-stubs/components/esphome/enum_mapper.pyi,sha256=CRAUBZSt527E45tK8uQCsax1jNs7jF55gg_PXaoZPS4,497
1091
1091
  homeassistant-stubs/components/esphome/event.pyi,sha256=hc-QZK10dc0odbjMLTo2FcUGlvuN3sKpyvmLuf0PilY,836
@@ -1531,7 +1531,7 @@ homeassistant-stubs/components/homekit/doorbell.pyi,sha256=Dz667uwIylmNYHCF2eY0E
1531
1531
  homeassistant-stubs/components/homekit/iidmanager.pyi,sha256=bf0EasOJ5pq6wfEQ95JZUz33MCKKHq8VpDzIA8t-CbM,1241
1532
1532
  homeassistant-stubs/components/homekit/logbook.pyi,sha256=lTlwQ_xYJ8sa77KNy69Lxt4yfThqqY0TFroqCnE__eM,759
1533
1533
  homeassistant-stubs/components/homekit/models.pyi,sha256=AMmjsr9lEqnTa5-sb2DoKV_B79pGeh5WjCL1dvqCjhI,323
1534
- homeassistant-stubs/components/homekit/type_air_purifiers.pyi,sha256=LlbvoLHORE36ROkiUklyjpQdkg-UxU2WBKhMhTrYy68,4470
1534
+ homeassistant-stubs/components/homekit/type_air_purifiers.pyi,sha256=Fy8c77Mv2Vt5aCkGMhMq8TE6FKUkrm8j7h03sLSTcEc,4614
1535
1535
  homeassistant-stubs/components/homekit/type_cameras.pyi,sha256=H2DRlI_9PUNVJcF_ZE457NeW0KpoFM4lznodurgHkFY,4065
1536
1536
  homeassistant-stubs/components/homekit/type_covers.pyi,sha256=hfgEnVgJtUo7Yz30YfNbBiO7IKLj9Og-mSTxZSj3CV0,4569
1537
1537
  homeassistant-stubs/components/homekit/type_fans.pyi,sha256=vgN4_qsnJ-0SKt_Ys6fdikyPqcr0acm71QLHaE9xG6Q,2525
@@ -2927,7 +2927,7 @@ homeassistant-stubs/components/renault/renault_vehicle.pyi,sha256=9XWnTAs5QAk5SS
2927
2927
  homeassistant-stubs/components/renault/select.pyi,sha256=OKpVcLXxvADiGdVXex-zNycr7nYvNXQsuGRpIw8goFo,1358
2928
2928
  homeassistant-stubs/components/renault/sensor.pyi,sha256=1eSeJYTQ4N5TeVzK3s42JyhDdqLls8BqMVtt6XRvIro,2401
2929
2929
  homeassistant-stubs/components/renault/services.pyi,sha256=BKqA3qrBtIpKvdXgpkL3UubK92bIOWcEYY9tZxNDxn4,1336
2930
- homeassistant-stubs/components/reolink/__init__.pyi,sha256=6I2-q_DWxgs9V0EnznRI0F63VY1e53_4YjAcmXnQzQM,2322
2930
+ homeassistant-stubs/components/reolink/__init__.pyi,sha256=S9Bs7IeMuIeWSQHE6BXCLt2XWuMtPukn4U25wLwCii8,2372
2931
2931
  homeassistant-stubs/components/reolink/binary_sensor.pyi,sha256=HXOLE2C9RWkTMpE0awTAmrv9-gcH3H2vkFtatbmyKmM,2742
2932
2932
  homeassistant-stubs/components/reolink/button.pyi,sha256=MUXp3o0n8ak82iOcu1SpwOSVBqhd8Tc_mdsqQq7nMik,2731
2933
2933
  homeassistant-stubs/components/reolink/camera.pyi,sha256=ln4pA_rcRIrSBLYtdjTG58DC89ku29ZMEl_iegOdhCo,1585
@@ -2946,7 +2946,7 @@ homeassistant-stubs/components/reolink/services.pyi,sha256=5MlkkniNxRTS5rP0gA-I-
2946
2946
  homeassistant-stubs/components/reolink/siren.pyi,sha256=gc7ZVAvk00SqByirdrhQgGFb9SJqEp_479vTq_Xl03Q,1593
2947
2947
  homeassistant-stubs/components/reolink/switch.pyi,sha256=9kEFCDvlUv_Wi0LhI4U_UY1J7nub4UEKgf8TeOzGtjk,3582
2948
2948
  homeassistant-stubs/components/reolink/update.pyi,sha256=hUpGXE_1BBVGEqUBipOTKqWtEVYoP1pcStnw1eRw_f0,3939
2949
- homeassistant-stubs/components/reolink/util.pyi,sha256=K5cqzFvNB-gZi1qNL4vHb16lX0vjF8HDEyP4z-zIEG0,1761
2949
+ homeassistant-stubs/components/reolink/util.pyi,sha256=xa5B4RxLz2GPKIXYskRM9zWX0Cgs6MXn3u7VA7pd-Ok,1779
2950
2950
  homeassistant-stubs/components/reolink/views.pyi,sha256=4HVI42z48HK0n4N3i6O7iO4nZlJppvwuyM1xetvrJLU,1041
2951
2951
  homeassistant-stubs/components/repairs/__init__.pyi,sha256=rP2wDUxLdI5jElaCv55gBOyLl43X4KtQXwaCD2BFXeU,421
2952
2952
  homeassistant-stubs/components/repairs/const.pyi,sha256=khiPPfo2eMEa2_FD5EaWMNBjEj5lrRekpLiGQofynn8,12
@@ -3130,7 +3130,7 @@ homeassistant-stubs/components/select/significant_change.pyi,sha256=Kse-ASQyzaZU
3130
3130
  homeassistant-stubs/components/sensibo/__init__.pyi,sha256=FcQ5grd9B-iKr-_hIa5EGLBPFy8UEB4oFgWn1gsWBEg,1025
3131
3131
  homeassistant-stubs/components/sensibo/binary_sensor.pyi,sha256=Ww2AJWaTVLiYiJtIngkyzdgfQmF-OLX0ImzL4VgYYvM,2668
3132
3132
  homeassistant-stubs/components/sensibo/button.pyi,sha256=ekQJoCF5prYu3Pqmo7ME8oZyZ3lIJyRobGA8gniXZlQ,1483
3133
- homeassistant-stubs/components/sensibo/climate.pyi,sha256=3gIY2ax4-o8v-uhVMCF9Vd1WujpMWAhi6Q2LAXTH28s,5807
3133
+ homeassistant-stubs/components/sensibo/climate.pyi,sha256=n4sm-KsumVHgc9lqwyW0XLEey1lgNUhM88hqoaACIgg,5809
3134
3134
  homeassistant-stubs/components/sensibo/config_flow.pyi,sha256=y73QEKhs2MCF-S6oiQUKdcpnFsJWcQroCbHJMXisleo,1172
3135
3135
  homeassistant-stubs/components/sensibo/const.pyi,sha256=DuWtkuU0cvZdAQDP2lH-gw1ylmINyZ_hJPqtcphQccE,225
3136
3136
  homeassistant-stubs/components/sensibo/coordinator.pyi,sha256=ysQs7zwymkfvSvLbAaFuki7W9dWJabtJRszM1QsPFeE,1192
@@ -3138,7 +3138,7 @@ homeassistant-stubs/components/sensibo/diagnostics.pyi,sha256=Z8zmKxFw3JMOoo0h8R
3138
3138
  homeassistant-stubs/components/sensibo/entity.pyi,sha256=3ixKG5NVbqH51BWRkPoqYsa-w0u2sLmG-VV6xLZfb4o,1808
3139
3139
  homeassistant-stubs/components/sensibo/number.pyi,sha256=dx9BfiDcjRyn3xHMEK8BnMyy_Fr1v-fnYUyAQ4SQ5SI,1834
3140
3140
  homeassistant-stubs/components/sensibo/select.pyi,sha256=uxiAOsfiE6ZUVxzrJwDjv6VZ8gGccyojtoMgzVbhRkA,2304
3141
- homeassistant-stubs/components/sensibo/sensor.pyi,sha256=PuddxBJGrtHCK5cBbLSWImdF4vHDwtbKE7GbVg1CPSk,3397
3141
+ homeassistant-stubs/components/sensibo/sensor.pyi,sha256=mceg6pXQ7jVThjIBeiyAozxo0VWAQU779YDyAFZhrUc,3468
3142
3142
  homeassistant-stubs/components/sensibo/switch.pyi,sha256=XPDkrHIONTg1pgEzqLvI4Onle5I9W5K4T23hHv2uSCs,2560
3143
3143
  homeassistant-stubs/components/sensibo/update.pyi,sha256=1-COXZCoWPhIEnOfmlPe9KgssbUJhijqA6NTi1UPsZU,1722
3144
3144
  homeassistant-stubs/components/sensibo/util.pyi,sha256=xprtCmdDrdUzqTXY2Yd84woblrwerslxtWK_oZ7EB6w,405
@@ -4017,13 +4017,13 @@ homeassistant-stubs/components/zone/const.pyi,sha256=rVGPU8EQLdTz2cDuYqG_5JV1ROW
4017
4017
  homeassistant-stubs/components/zone/trigger.pyi,sha256=vyWWVMOw4lMGlyVMxweJzqB-nvmSbRwqtTu1IZO65e4,1204
4018
4018
  homeassistant-stubs/components/zwave_js/__init__.pyi,sha256=z6PoB7RdBnAEqYeoy200H0-C9YWlj19YkrXHHQkbEpQ,8110
4019
4019
  homeassistant-stubs/components/zwave_js/addon.pyi,sha256=6QRtRubMXA0j6e20eSGaWqXoKYhQMsqfMQs6U_Y5mIk,444
4020
- homeassistant-stubs/components/zwave_js/api.pyi,sha256=spd_bgv-OvidXRbEuUH4liUHAFwuwhQ1zZ2FKtyhrJQ,19559
4020
+ homeassistant-stubs/components/zwave_js/api.pyi,sha256=HgT-ZAxsRmo3pqqtTkg60IertkBzUxewvBQK23xd-68,19782
4021
4021
  homeassistant-stubs/components/zwave_js/binary_sensor.pyi,sha256=XhzvV0tVnnLSb-I4UlnaRaGIdGm327WqRSMmLJscU9E,3597
4022
4022
  homeassistant-stubs/components/zwave_js/button.pyi,sha256=2d5ilViWUTQGzjrIgD7IWz_biTKH7r2ZkKv_ngxwLCQ,2204
4023
4023
  homeassistant-stubs/components/zwave_js/climate.pyi,sha256=4ZLhK_wk3guJPjzF22I23hicZyZPp7xmAEL5sYIk1lI,4472
4024
- homeassistant-stubs/components/zwave_js/config_flow.pyi,sha256=qU00RpNQm-8qcRjubFzhxyK0h0q_R9PSIgHRoigoyGE,8924
4024
+ homeassistant-stubs/components/zwave_js/config_flow.pyi,sha256=q4QpKLnrAwjJHypuxGuHL3d3cRVJqc_pud2s4hZ-Hc4,8793
4025
4025
  homeassistant-stubs/components/zwave_js/config_validation.pyi,sha256=i0l2VLc5E1-pW3oHZjxqeKJ1FJg7h4nwcDv02KtGHzU,148
4026
- homeassistant-stubs/components/zwave_js/const.pyi,sha256=j1xS2j8napNseYQ5g4Fkv1POIeK8TAh1jfnfCyoi5DA,3742
4026
+ homeassistant-stubs/components/zwave_js/const.pyi,sha256=SSClzIczIYZx4vx_spXZ7DD-aoHzEam8xZwQFVnZWJc,3780
4027
4027
  homeassistant-stubs/components/zwave_js/cover.pyi,sha256=wUuou3PgEVq45VUYOjCy1re39GWZIekzY92ueXmjlS0,5018
4028
4028
  homeassistant-stubs/components/zwave_js/device_action.pyi,sha256=W6rs2mJn0xY9KA_ICiHcYQa4sxeuuzM02M6FLxhMSDA,2615
4029
4029
  homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi,sha256=r2uOE9m6UtRsElpP1De3iskTlU8qsmLYu-_8XJ9UGws,612
@@ -4035,14 +4035,14 @@ homeassistant-stubs/components/zwave_js/discovery_data_template.pyi,sha256=eagpi
4035
4035
  homeassistant-stubs/components/zwave_js/entity.pyi,sha256=mDWbW0-wMr7YsK_5f4Mf9Vi-nFWMzasM6cwCDoN23Kk,2818
4036
4036
  homeassistant-stubs/components/zwave_js/event.pyi,sha256=xHbJS_NV-4RaiSkB1fqhUE8GqHpEdkFCQSfuVmo-to4,1440
4037
4037
  homeassistant-stubs/components/zwave_js/fan.pyi,sha256=Ti3XWVPh484sFzKu_lSZBBwSNH_G1QM0v8PdTJai__4,4065
4038
- homeassistant-stubs/components/zwave_js/helpers.pyi,sha256=YTWShQGXV12JziuqV7Dt7uHeeduMZneL2wf04vhwhf8,4725
4038
+ homeassistant-stubs/components/zwave_js/helpers.pyi,sha256=PYGcZbMOYk9ODQhraSssIAm94i0haX0bjrt2PX363g4,5054
4039
4039
  homeassistant-stubs/components/zwave_js/humidifier.pyi,sha256=ZuqMk90jCiS6VvyZARj_wWqa4lx8pyxUR4gh5rtf97I,2488
4040
4040
  homeassistant-stubs/components/zwave_js/light.pyi,sha256=yUioYgGKTYxYn7ZmHxNYDvCqwkpK2AQbR1TQSVv3LtU,3938
4041
4041
  homeassistant-stubs/components/zwave_js/lock.pyi,sha256=0ARbYY3vGcHi_RId4z-YPDCcNmcIQ4avQ2XDcOGgZpw,2379
4042
4042
  homeassistant-stubs/components/zwave_js/logbook.pyi,sha256=7XLy6oslRdbMU1p1PP_tN5pDFGgxCg8z328tkfO6kns,960
4043
4043
  homeassistant-stubs/components/zwave_js/migrate.pyi,sha256=0QcGhGnFESGgMoco84lYohi0CLWu29aN-fUz2phg4ZQ,1824
4044
4044
  homeassistant-stubs/components/zwave_js/number.pyi,sha256=LHfHEZOstsiabCmjSPbwuM30vR1HhXSZUQ2LVCzxLrs,2493
4045
- homeassistant-stubs/components/zwave_js/repairs.pyi,sha256=t1ud4ONqKB-ya8322RJtNG5IdS1g3CUhazISBkZay1I,988
4045
+ homeassistant-stubs/components/zwave_js/repairs.pyi,sha256=bBBXgcLwzFW9fILIGFUkRqmhVTEiHI7C9HhNetN7Oyk,1387
4046
4046
  homeassistant-stubs/components/zwave_js/select.pyi,sha256=8P57p8vdwWpVIoDywDn-tE6ipweSvNNJzva6geWgeIg,2654
4047
4047
  homeassistant-stubs/components/zwave_js/sensor.pyi,sha256=LmVQZ5VxsmI6vVsg7zE6V3-bqSosOSzGpUwIdwMTg0s,8999
4048
4048
  homeassistant-stubs/components/zwave_js/services.pyi,sha256=rub3lpkjNq8PVQjnfjbvtGcCLIP2Nj4vE4xCCmCb88k,2934
@@ -4198,7 +4198,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=vaIsOJB6hkwj7GLyo3YCNZCTwVgvvODy
4198
4198
  homeassistant-stubs/util/yaml/input.pyi,sha256=j_ejvjaXDxeNYtA4hb9tNUPsQdi7wogbmTQXsqmt5xo,253
4199
4199
  homeassistant-stubs/util/yaml/loader.pyi,sha256=cgUew76NjS7Q1Aml5sLBE2DB9JGrJS2fE-EDE92p-og,805
4200
4200
  homeassistant-stubs/util/yaml/objects.pyi,sha256=Ynjx0JaWF3u82Pj8aXO-YeqrkzNO8t-Nn7G7rr_X-oI,206
4201
- homeassistant_stubs-2025.5.0b10.dist-info/METADATA,sha256=MJzdMaMfMB0O68L6QFH3dKPYfAnKLkSDm9CrR5VuGt0,2954
4202
- homeassistant_stubs-2025.5.0b10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4203
- homeassistant_stubs-2025.5.0b10.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4204
- homeassistant_stubs-2025.5.0b10.dist-info/RECORD,,
4201
+ homeassistant_stubs-2025.5.2.dist-info/METADATA,sha256=oyvgXcwMM6dfyYB6Kh1VoY5dpcisyCjmFAcSePGCvS8,2948
4202
+ homeassistant_stubs-2025.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4203
+ homeassistant_stubs-2025.5.2.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
4204
+ homeassistant_stubs-2025.5.2.dist-info/RECORD,,