homeassistant-stubs 2025.2.0b2__py3-none-any.whl → 2025.2.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.
- homeassistant-stubs/components/backup/__init__.pyi +2 -1
- homeassistant-stubs/components/backup/backup.pyi +1 -1
- homeassistant-stubs/components/backup/config.pyi +1 -2
- homeassistant-stubs/components/backup/manager.pyi +1 -0
- homeassistant-stubs/components/backup/util.pyi +2 -0
- homeassistant-stubs/components/eheimdigital/climate.pyi +2 -0
- homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
- homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
- homeassistant-stubs/components/google_drive/application_credentials.pyi +1 -0
- homeassistant-stubs/components/onedrive/backup.pyi +4 -1
- homeassistant-stubs/components/reolink/__init__.pyi +3 -2
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/host.pyi +6 -2
- homeassistant-stubs/components/reolink/util.pyi +4 -0
- homeassistant-stubs/components/roborock/__init__.pyi +1 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +2 -2
- homeassistant-stubs/components/roborock/roborock_storage.pyi +2 -0
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
- {homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/RECORD +23 -23
- {homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
from .agent import BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupAgentPlatformProtocol as BackupAgentPlatformProtocol, LocalBackupAgent as LocalBackupAgent
|
2
2
|
from .manager import BackupManager, BackupManagerError as BackupManagerError, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
|
3
3
|
from .models import AddonInfo as AddonInfo, AgentBackup as AgentBackup, Folder as Folder
|
4
|
+
from .util import suggested_filename as suggested_filename, suggested_filename_from_name_date as suggested_filename_from_name_date
|
4
5
|
from homeassistant.core import HomeAssistant, callback
|
5
6
|
|
6
|
-
__all__ = ['AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupManagerError', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupState', 'WrittenBackup', 'async_get_manager']
|
7
|
+
__all__ = ['AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupManagerError', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupState', 'WrittenBackup', 'async_get_manager', 'suggested_filename', 'suggested_filename_from_name_date']
|
7
8
|
|
8
9
|
@callback
|
9
10
|
def async_get_manager(hass: HomeAssistant) -> BackupManager: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .agent import BackupAgent as BackupAgent, BackupNotFound as BackupNotFound, LocalBackupAgent as LocalBackupAgent
|
2
2
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
3
3
|
from .models import AgentBackup as AgentBackup
|
4
|
-
from .util import read_backup as read_backup
|
4
|
+
from .util import read_backup as read_backup, suggested_filename as suggested_filename
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from collections.abc import AsyncIterator, Callable as Callable, Coroutine
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -3,7 +3,6 @@ from .const import LOGGER as LOGGER
|
|
3
3
|
from .manager import BackupManager as BackupManager, ManagerBackup as ManagerBackup
|
4
4
|
from .models import BackupManagerError as BackupManagerError, Folder as Folder
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from collections.abc import Callable as Callable
|
7
6
|
from cronsim import CronSim
|
8
7
|
from dataclasses import dataclass, field
|
9
8
|
from datetime import datetime
|
@@ -158,5 +157,5 @@ class CreateBackupParametersDict(TypedDict, total=False):
|
|
158
157
|
name: str | None
|
159
158
|
password: str | None
|
160
159
|
|
161
|
-
|
160
|
+
def _automatic_backups_filter(backups: dict[str, ManagerBackup]) -> dict[str, ManagerBackup]: ...
|
162
161
|
async def delete_backups_exceeding_configured_count(manager: BackupManager) -> None: ...
|
@@ -177,6 +177,7 @@ class BackupManager:
|
|
177
177
|
@staticmethod
|
178
178
|
def is_our_automatic_backup(backup: AgentBackup, our_instance_id: str) -> bool | None: ...
|
179
179
|
async def async_delete_backup(self, backup_id: str) -> dict[str, Exception]: ...
|
180
|
+
async def async_delete_filtered_backups(self, *, include_filter: Callable[[dict[str, ManagerBackup]], dict[str, ManagerBackup]], delete_filter: Callable[[dict[str, ManagerBackup]], dict[str, ManagerBackup]]) -> None: ...
|
180
181
|
async def async_receive_backup(self, *, agent_ids: list[str], contents: aiohttp.BodyPartReader) -> str: ...
|
181
182
|
async def _async_receive_backup(self, *, agent_ids: list[str], contents: aiohttp.BodyPartReader) -> str: ...
|
182
183
|
async def async_create_backup(self, *, agent_ids: list[str], extra_metadata: dict[str, bool | str] | None = None, include_addons: list[str] | None, include_all_addons: bool, include_database: bool, include_folders: list[Folder] | None, include_homeassistant: bool, name: str | None, password: str | None, with_automatic_settings: bool = False) -> NewBackup: ...
|
@@ -34,6 +34,8 @@ class AbortCipher(HomeAssistantError):
|
|
34
34
|
|
35
35
|
def make_backup_dir(path: Path) -> None: ...
|
36
36
|
def read_backup(backup_path: Path) -> AgentBackup: ...
|
37
|
+
def suggested_filename_from_name_date(name: str, date_str: str) -> str: ...
|
38
|
+
def suggested_filename(backup: AgentBackup) -> str: ...
|
37
39
|
def validate_password(path: Path, password: str | None) -> bool: ...
|
38
40
|
|
39
41
|
class AsyncIteratorReader:
|
@@ -3,6 +3,7 @@ from .const import HEATER_BIO_MODE as HEATER_BIO_MODE, HEATER_PRESET_TO_HEATER_M
|
|
3
3
|
from .coordinator import EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
|
4
4
|
from .entity import EheimDigitalEntity as EheimDigitalEntity
|
5
5
|
from _typeshed import Incomplete
|
6
|
+
from eheimdigital.device import EheimDigitalDevice as EheimDigitalDevice
|
6
7
|
from eheimdigital.heater import EheimDigitalHeater
|
7
8
|
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE
|
8
9
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, UnitOfTemperature as UnitOfTemperature
|
@@ -25,6 +26,7 @@ class EheimDigitalHeaterClimate(EheimDigitalEntity[EheimDigitalHeater], ClimateE
|
|
25
26
|
_attr_temperature_unit: Incomplete
|
26
27
|
_attr_preset_mode = PRESET_NONE
|
27
28
|
_attr_translation_key: str
|
29
|
+
_attr_name: Incomplete
|
28
30
|
_attr_unique_id: Incomplete
|
29
31
|
def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: EheimDigitalHeater) -> None: ...
|
30
32
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from collections.abc import Callable
|
3
|
+
from collections.abc import Callable
|
4
4
|
from eheimdigital.device import EheimDigitalDevice
|
5
5
|
from eheimdigital.types import EheimDeviceType as EheimDeviceType
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -9,9 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
10
10
|
from homeassistant.helpers.entity_component import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL
|
11
11
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
12
|
-
from typing import Any
|
13
12
|
|
14
|
-
type AsyncSetupDeviceEntitiesCallback = Callable[[str
|
13
|
+
type AsyncSetupDeviceEntitiesCallback = Callable[[str | dict[str, EheimDigitalDevice]], None]
|
15
14
|
class EheimDigitalUpdateCoordinator(DataUpdateCoordinator[dict[str, EheimDigitalDevice]]):
|
16
15
|
config_entry: ConfigEntry
|
17
16
|
hub: Incomplete
|
@@ -4,6 +4,7 @@ from .coordinator import EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoor
|
|
4
4
|
from .entity import EheimDigitalEntity as EheimDigitalEntity
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from eheimdigital.classic_led_ctrl import EheimDigitalClassicLEDControl
|
7
|
+
from eheimdigital.device import EheimDigitalDevice as EheimDigitalDevice
|
7
8
|
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_EFFECT as ATTR_EFFECT, ColorMode as ColorMode, EFFECT_OFF as EFFECT_OFF, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
3
4
|
|
4
5
|
async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
|
5
6
|
async def async_get_description_placeholders(hass: HomeAssistant) -> dict[str, str]: ...
|
@@ -2,14 +2,16 @@ from . import OneDriveConfigEntry as OneDriveConfigEntry
|
|
2
2
|
from .const import DATA_BACKUP_AGENT_LISTENERS as DATA_BACKUP_AGENT_LISTENERS, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import AsyncIterator, Callable as Callable, Coroutine
|
5
|
-
from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError
|
5
|
+
from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, suggested_filename as suggested_filename
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
8
8
|
from msgraph.generated.drives.item.items.item.drive_item_item_request_builder import DriveItemItemRequestBuilder as DriveItemItemRequestBuilder
|
9
|
+
from msgraph.generated.models.drive_item import DriveItem
|
9
10
|
from typing import Any, Concatenate
|
10
11
|
|
11
12
|
_LOGGER: Incomplete
|
12
13
|
UPLOAD_CHUNK_SIZE: Incomplete
|
14
|
+
MAX_RETRIES: int
|
13
15
|
|
14
16
|
async def async_get_backup_agents(hass: HomeAssistant) -> list[BackupAgent]: ...
|
15
17
|
@callback
|
@@ -36,5 +38,6 @@ class OneDriveBackupAgent(BackupAgent):
|
|
36
38
|
@handle_backup_errors
|
37
39
|
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup | None: ...
|
38
40
|
def _backup_from_description(self, description: str) -> AgentBackup: ...
|
41
|
+
async def _find_item_by_backup_id(self, backup_id: str) -> DriveItem | None: ...
|
39
42
|
def _get_backup_file_item(self, backup_id: str) -> DriveItemItemRequestBuilder: ...
|
40
43
|
async def _upload_file(self, upload_url: str, stream: AsyncIterator[bytes], total_size: int) -> None: ...
|
@@ -1,8 +1,8 @@
|
|
1
|
-
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
1
|
+
from .const import CONF_SUPPORTS_PRIVACY_MODE as CONF_SUPPORTS_PRIVACY_MODE, CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
2
|
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, UserNotAdmin as UserNotAdmin
|
3
3
|
from .host import ReolinkHost as ReolinkHost
|
4
4
|
from .services import async_setup_services as async_setup_services
|
5
|
-
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, get_device_uid_and_ch as get_device_uid_and_ch
|
5
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, get_device_uid_and_ch as get_device_uid_and_ch, get_store as get_store
|
6
6
|
from .views import PlaybackProxyView as PlaybackProxyView
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
@@ -26,5 +26,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
26
26
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
|
27
27
|
async def entry_update_listener(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
|
28
28
|
async def async_unload_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
|
29
|
+
async def async_remove_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
|
29
30
|
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ReolinkConfigEntry, device: dr.DeviceEntry) -> bool: ...
|
30
31
|
def migrate_entity_ids(hass: HomeAssistant, config_entry_id: str, host: ReolinkHost) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
1
|
+
from .const import CONF_SUPPORTS_PRIVACY_MODE as CONF_SUPPORTS_PRIVACY_MODE, CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
2
|
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, ReolinkWebhookException as ReolinkWebhookException, UserNotAdmin as UserNotAdmin
|
3
3
|
from .host import ReolinkHost as ReolinkHost
|
4
4
|
from .util import ReolinkConfigEntry as ReolinkConfigEntry, is_connected as is_connected
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import asyncio
|
2
|
-
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
|
+
from .const import CONF_SUPPORTS_PRIVACY_MODE as CONF_SUPPORTS_PRIVACY_MODE, CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
3
3
|
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkSetupException as ReolinkSetupException, ReolinkWebhookException as ReolinkWebhookException, UserNotAdmin as UserNotAdmin
|
4
|
+
from .util import get_store as get_store
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from aiohttp.web import Request as Request
|
6
7
|
from collections import defaultdict
|
@@ -13,6 +14,7 @@ from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
13
14
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
14
15
|
from homeassistant.helpers.event import async_call_later as async_call_later
|
15
16
|
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
17
|
+
from homeassistant.helpers.storage import Store as Store
|
16
18
|
from homeassistant.util.ssl import SSLCipherList as SSLCipherList
|
17
19
|
from reolink_aio.api import Host
|
18
20
|
from reolink_aio.enums import SubType
|
@@ -31,6 +33,8 @@ _LOGGER: Incomplete
|
|
31
33
|
|
32
34
|
class ReolinkHost:
|
33
35
|
_hass: HomeAssistant
|
36
|
+
_config_entry_id: Incomplete
|
37
|
+
_config: Incomplete
|
34
38
|
_unique_id: str
|
35
39
|
_api: Incomplete
|
36
40
|
last_wake: float
|
@@ -57,7 +61,7 @@ class ReolinkHost:
|
|
57
61
|
_lost_subscription_start: bool
|
58
62
|
_lost_subscription: bool
|
59
63
|
cancel_refresh_privacy_mode: CALLBACK_TYPE | None
|
60
|
-
def __init__(self, hass: HomeAssistant, config: Mapping[str, Any], options: Mapping[str, Any]) -> None: ...
|
64
|
+
def __init__(self, hass: HomeAssistant, config: Mapping[str, Any], options: Mapping[str, Any], config_entry_id: str | None = None) -> None: ...
|
61
65
|
@callback
|
62
66
|
def async_register_update_cmd(self, cmd: str, channel: int | None = None) -> None: ...
|
63
67
|
@callback
|
@@ -7,10 +7,13 @@ from homeassistant.components.media_source import Unresolvable as Unresolvable
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
9
9
|
from homeassistant.helpers import device_registry as dr
|
10
|
+
from homeassistant.helpers.storage import Store as Store
|
10
11
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
11
12
|
from typing import Any
|
12
13
|
|
14
|
+
STORAGE_VERSION: int
|
13
15
|
type ReolinkConfigEntry = config_entries.ConfigEntry[ReolinkData]
|
16
|
+
|
14
17
|
@dataclass
|
15
18
|
class ReolinkData:
|
16
19
|
host: ReolinkHost
|
@@ -19,5 +22,6 @@ class ReolinkData:
|
|
19
22
|
|
20
23
|
def is_connected(hass: HomeAssistant, config_entry: config_entries.ConfigEntry) -> bool: ...
|
21
24
|
def get_host(hass: HomeAssistant, config_entry_id: str) -> ReolinkHost: ...
|
25
|
+
def get_store(hass: HomeAssistant, config_entry_id: str) -> Store[str]: ...
|
22
26
|
def get_device_uid_and_ch(device: dr.DeviceEntry, host: ReolinkHost) -> tuple[list[str], int | None, bool]: ...
|
23
27
|
def raise_translated_error[**P, R](func: Callable[P, Awaitable[R]]) -> Callable[P, Coroutine[Any, Any, R]]: ...
|
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Coroutine
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
-
from homeassistant.const import CONF_USERNAME as CONF_USERNAME
|
8
|
+
from homeassistant.const import CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
11
|
from roborock import HomeDataRoom as HomeDataRoom
|
@@ -34,7 +34,7 @@ class RoborockDataUpdateCoordinator(DataUpdateCoordinator[DeviceProp]):
|
|
34
34
|
def __init__(self, hass: HomeAssistant, device: HomeDataDevice, device_networking: NetworkInfo, product_info: HomeDataProduct, cloud_api: RoborockMqttClientV1, home_data_rooms: list[HomeDataRoom]) -> None: ...
|
35
35
|
async def _async_setup(self) -> None: ...
|
36
36
|
async def _verify_api(self) -> None: ...
|
37
|
-
async def
|
37
|
+
async def async_shutdown(self) -> None: ...
|
38
38
|
async def _update_device_prop(self) -> None: ...
|
39
39
|
async def _async_update_data(self) -> DeviceProp: ...
|
40
40
|
def _set_current_map(self) -> None: ...
|
@@ -51,7 +51,7 @@ class RoborockDataUpdateCoordinatorA01(DataUpdateCoordinator[dict[RoborockDyadDa
|
|
51
51
|
roborock_device_info: Incomplete
|
52
52
|
def __init__(self, hass: HomeAssistant, device: HomeDataDevice, product_info: HomeDataProduct, api: RoborockClientA01) -> None: ...
|
53
53
|
async def _async_update_data(self) -> dict[RoborockDyadDataProtocol | RoborockZeoProtocol, StateType]: ...
|
54
|
-
async def
|
54
|
+
async def async_shutdown(self) -> None: ...
|
55
55
|
@cached_property
|
56
56
|
def duid(self) -> str: ...
|
57
57
|
@cached_property
|
@@ -12,10 +12,12 @@ def _storage_path_prefix(hass: HomeAssistant, entry_id: str) -> Path: ...
|
|
12
12
|
class RoborockMapStorage:
|
13
13
|
_hass: Incomplete
|
14
14
|
_path_prefix: Incomplete
|
15
|
+
_write_queue: dict[int, bytes]
|
15
16
|
def __init__(self, hass: HomeAssistant, entry_id: str, device_id_slug: str) -> None: ...
|
16
17
|
async def async_load_map(self, map_flag: int) -> bytes | None: ...
|
17
18
|
def _load_map(self, filename: Path) -> bytes | None: ...
|
18
19
|
async def async_save_map(self, map_flag: int, content: bytes) -> None: ...
|
20
|
+
async def flush(self) -> None: ...
|
19
21
|
def _save_map(self, filename: Path, content: bytes) -> None: ...
|
20
22
|
|
21
23
|
async def async_remove_map_storage(hass: HomeAssistant, entry_id: str) -> None: ...
|
@@ -24,6 +24,9 @@ CLOCK_OUT_OF_SYNC_MAX_SEC: int
|
|
24
24
|
OAUTH_AUTHORIZE_URL_TIMEOUT_SEC: int
|
25
25
|
OAUTH_TOKEN_TIMEOUT_SEC: int
|
26
26
|
|
27
|
+
@callback
|
28
|
+
def async_get_redirect_uri(hass: HomeAssistant) -> str: ...
|
29
|
+
|
27
30
|
class AbstractOAuth2Implementation(ABC, metaclass=abc.ABCMeta):
|
28
31
|
@property
|
29
32
|
@abstractmethod
|
{homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: homeassistant-stubs
|
3
|
-
Version: 2025.2.
|
3
|
+
Version: 2025.2.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.2.
|
21
|
+
Requires-Dist: homeassistant==2025.2.0b4
|
22
22
|
Description-Content-Type: text/markdown
|
23
23
|
|
24
24
|
[](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)
|
{homeassistant_stubs-2025.2.0b2.dist-info → homeassistant_stubs-2025.2.0b4.dist-info}/RECORD
RENAMED
@@ -411,16 +411,16 @@ homeassistant-stubs/components/axis/hub/config.pyi,sha256=XdvjJsdRPVG1rx8AXEwsCG
|
|
411
411
|
homeassistant-stubs/components/axis/hub/entity_loader.pyi,sha256=XgpSlOIFJ1kZM4w9d53MqdtK3xgZxnlQRYOw0BIvIwE,971
|
412
412
|
homeassistant-stubs/components/axis/hub/event_source.pyi,sha256=2MWGaVgI5mHf_gEO1ds6qaZYNx5vD5xMINhcjbBJK1o,1182
|
413
413
|
homeassistant-stubs/components/axis/hub/hub.pyi,sha256=mulaCc4i9ZIxA8la7aIObtE4AJtjQBsKzr61mj_CMqU,1544
|
414
|
-
homeassistant-stubs/components/backup/__init__.pyi,sha256=
|
414
|
+
homeassistant-stubs/components/backup/__init__.pyi,sha256=Ttzbpq4U143HR9_Skqaq-GZeo5T2UhzTTscurden2s0,1504
|
415
415
|
homeassistant-stubs/components/backup/agent.pyi,sha256=DpkW5FNDAA9T9AbxAVQOdjUu_YvBfLFJiT2Mg3sZVCs,1906
|
416
|
-
homeassistant-stubs/components/backup/backup.pyi,sha256=
|
417
|
-
homeassistant-stubs/components/backup/config.pyi,sha256=
|
416
|
+
homeassistant-stubs/components/backup/backup.pyi,sha256=uLKcQpmIMp_pt9McFb0fb0bQgTLvA_ZiJPPX8o1ZxNc,1737
|
417
|
+
homeassistant-stubs/components/backup/config.pyi,sha256=OK8m9EmG0RnlevvU0ADEPE3HTWgbwDafzQQ5wvNBnuM,5418
|
418
418
|
homeassistant-stubs/components/backup/const.pyi,sha256=N3Hb5USpEK0tHJxtqdrgroGNitCuldDGckqVOVk2yX8,308
|
419
419
|
homeassistant-stubs/components/backup/http.pyi,sha256=kDUEQMLnTwCH6vQNPkKxwHP9nRPF-LKtaT67lB_1f6g,1560
|
420
|
-
homeassistant-stubs/components/backup/manager.pyi,sha256=
|
420
|
+
homeassistant-stubs/components/backup/manager.pyi,sha256=y2DR5Re1VYLwSMAg9IeRlB3_A3AJGdVLciSXzAbYdpE,13781
|
421
421
|
homeassistant-stubs/components/backup/models.pyi,sha256=SG3JfOq6qc-2yppKCaDy1ONyxaFAtD8qMUfjnYVh-3Q,1052
|
422
422
|
homeassistant-stubs/components/backup/store.pyi,sha256=CTgV9bZqdqSFYc6xrwrWizFVQYOaraG9ZHWAIMnBKi8,1174
|
423
|
-
homeassistant-stubs/components/backup/util.pyi,sha256=
|
423
|
+
homeassistant-stubs/components/backup/util.pyi,sha256=UoCKw_wQEdbfwrBYa8Of81EX5wiLZeOGtKUH6Ic5Zdk,4168
|
424
424
|
homeassistant-stubs/components/backup/websocket.pyi,sha256=2cnxdvl_VYBm_mbXgAqcepqqPoDVbaGymWmciaKM66k,3011
|
425
425
|
homeassistant-stubs/components/baf/__init__.pyi,sha256=Ylh2xJjcBgDaMmOK4Jf2dc6oFmekClLSl0IgZljcRVQ,670
|
426
426
|
homeassistant-stubs/components/baf/binary_sensor.pyi,sha256=EqurXjaTV7WQ5Wnkco7bPu1jSm-ZY4N_mmARtoxhFNE,1165
|
@@ -918,12 +918,12 @@ homeassistant-stubs/components/efergy/const.pyi,sha256=BcxPoGgibA8PTYK8tKhK-bxRu
|
|
918
918
|
homeassistant-stubs/components/efergy/entity.pyi,sha256=qRftczmCFJNRlPU9h3ephyYP3w8JyejiJkJOWxy_Wx0,452
|
919
919
|
homeassistant-stubs/components/efergy/sensor.pyi,sha256=7y3w0uLcQ3J5iV76cr8bUHr9ZGythe0IZitOKUSy5cE,1529
|
920
920
|
homeassistant-stubs/components/eheimdigital/__init__.pyi,sha256=W2_rMokC840tK7Y_Ob4CS8excVWyD2I7LiHB75lV2aU,847
|
921
|
-
homeassistant-stubs/components/eheimdigital/climate.pyi,sha256=
|
921
|
+
homeassistant-stubs/components/eheimdigital/climate.pyi,sha256=7tKu75m1N8tX01384cH9dCIff1pK_QgwP83EEs_XEmg,2349
|
922
922
|
homeassistant-stubs/components/eheimdigital/config_flow.pyi,sha256=W--gIgnYhAol__zuancqhAghvqp_A7jq9EUOMomJKnQ,1058
|
923
923
|
homeassistant-stubs/components/eheimdigital/const.pyi,sha256=49OZQwYkDDD8s5yk5l10RZex6lNN9MO6UbPAJnareOI,369
|
924
|
-
homeassistant-stubs/components/eheimdigital/coordinator.pyi,sha256=
|
924
|
+
homeassistant-stubs/components/eheimdigital/coordinator.pyi,sha256=cI3k_L-pg6LKBx2BSDhl7-COzCcDVCqSRD_aCQeXK_g,1533
|
925
925
|
homeassistant-stubs/components/eheimdigital/entity.pyi,sha256=-x5QWJtrKVGTlHGPwbAGwooKS6CHFGywPpdiYEwCV5Y,1069
|
926
|
-
homeassistant-stubs/components/eheimdigital/light.pyi,sha256=
|
926
|
+
homeassistant-stubs/components/eheimdigital/light.pyi,sha256=VAgkCoatwkcn1no2rwmqZHXaR-KCz4H-ciSA5q_MNE0,2130
|
927
927
|
homeassistant-stubs/components/electrasmart/__init__.pyi,sha256=Ihs3IF0cNVlrf4Wwqy3P0Siqbi7EBld185TUZIk36UY,842
|
928
928
|
homeassistant-stubs/components/electrasmart/climate.pyi,sha256=JFXHcb43FfvbJMn7G-v-tXnWScYrSU6gZi_NnmVqiQo,3272
|
929
929
|
homeassistant-stubs/components/electrasmart/config_flow.pyi,sha256=WIr2iCfHWH7m9uI0ocMxRpUFYKY9VoDnzaV0mX01gTI,1488
|
@@ -1278,7 +1278,7 @@ homeassistant-stubs/components/google_cloud/stt.pyi,sha256=UJPsL2DpdR6YAqk-B04vZ
|
|
1278
1278
|
homeassistant-stubs/components/google_cloud/tts.pyi,sha256=Xs7VppuHboUhedyyDJL3BzFjGxyX3sNluYY0_fIQFM4,3207
|
1279
1279
|
homeassistant-stubs/components/google_drive/__init__.pyi,sha256=Es1ePXR0u1w689VEfB4un5sPjao5NGwL8JZUQSbmm9s,1146
|
1280
1280
|
homeassistant-stubs/components/google_drive/api.pyi,sha256=7GLTWPgSlfC2GQppkdNJgSURmIg1UHDpmb-qY_2ieHw,1950
|
1281
|
-
homeassistant-stubs/components/google_drive/application_credentials.pyi,sha256=
|
1281
|
+
homeassistant-stubs/components/google_drive/application_credentials.pyi,sha256=dhwkmqp34vm9JEsf2qggjkDAkhbM9iIr8u3Va-pz3KI,433
|
1282
1282
|
homeassistant-stubs/components/google_drive/backup.pyi,sha256=owvzDHPwVKd-vxcSaEv3o2rUwhXlT1QvND8A5zB0Fmw,1739
|
1283
1283
|
homeassistant-stubs/components/google_drive/config_flow.pyi,sha256=gVO87X4hat7MZhGWcVvIYWYdGAAU98WdMtVvAgGb3po,1269
|
1284
1284
|
homeassistant-stubs/components/google_drive/const.pyi,sha256=khiPPfo2eMEa2_FD5EaWMNBjEj5lrRekpLiGQofynn8,12
|
@@ -2395,7 +2395,7 @@ homeassistant-stubs/components/oncue/types.pyi,sha256=KqG_536UpHzCPPb-qCPZA6bUmX
|
|
2395
2395
|
homeassistant-stubs/components/onedrive/__init__.pyi,sha256=Pi6zsrs7kcUl3ADgryN3yY2T7opRZc1D_qmFHVH969A,1587
|
2396
2396
|
homeassistant-stubs/components/onedrive/api.pyi,sha256=Bluz-pPYTDcVLgLoAhZy8DUsw0N1fC_MbSlxscUBK_c,1097
|
2397
2397
|
homeassistant-stubs/components/onedrive/application_credentials.pyi,sha256=gC5LevrYVBmGRf6YJuwIR4rPyphIk0ro8IvjoPQVjiI,343
|
2398
|
-
homeassistant-stubs/components/onedrive/backup.pyi,sha256=
|
2398
|
+
homeassistant-stubs/components/onedrive/backup.pyi,sha256=cIeWwAEO190T7x-Sz7WtoaUXOe3TPtDexDkXd3OGLAg,2636
|
2399
2399
|
homeassistant-stubs/components/onedrive/config_flow.pyi,sha256=oWCpZLZlHcjVsmIOE8jAyiAy0Inzh3lqFawx4yfYaBY,1159
|
2400
2400
|
homeassistant-stubs/components/onedrive/const.pyi,sha256=evMrmc2zcW6JonKLyshgaphWE_14cDyc9PQphaM_jGY,336
|
2401
2401
|
homeassistant-stubs/components/onewire/__init__.pyi,sha256=wMDZKMHzaTbanOaeZ95Qi4krp8DV-HxY9toO5lC0PEo,878
|
@@ -2779,16 +2779,16 @@ homeassistant-stubs/components/renault/renault_vehicle.pyi,sha256=a6GzNFgckeFwC8
|
|
2779
2779
|
homeassistant-stubs/components/renault/select.pyi,sha256=EWN8KVW3r9BQ1qlnQNrZpc5l6AW0FxeMn9JMi1xPpaA,1325
|
2780
2780
|
homeassistant-stubs/components/renault/sensor.pyi,sha256=MkzCe_iElhk7JvjXdJ9TAMAJRya_P3Zj0htGwHFek90,2368
|
2781
2781
|
homeassistant-stubs/components/renault/services.pyi,sha256=93aeXcNqvW36ybA568nTXdIfvLdE_ZZ6jivO6PtsR1U,1080
|
2782
|
-
homeassistant-stubs/components/reolink/__init__.pyi,sha256=
|
2782
|
+
homeassistant-stubs/components/reolink/__init__.pyi,sha256=5pBZuk8TH2PDAUr_g9Gou9jOb866IWQdfdGghikFwRI,2292
|
2783
2783
|
homeassistant-stubs/components/reolink/binary_sensor.pyi,sha256=xEiIog0nAbS2wPhYCD0TOFuAdZMAYRSHCX2Y30UHw3Q,1883
|
2784
2784
|
homeassistant-stubs/components/reolink/button.pyi,sha256=pmgmSzKfbnSKFxpIglQja1MYWlO0KELluirBBvBhi38,2698
|
2785
2785
|
homeassistant-stubs/components/reolink/camera.pyi,sha256=h3q172wEZyZ_od5zwgADfaGhQGPh801F6oZwGpkfZHE,1552
|
2786
|
-
homeassistant-stubs/components/reolink/config_flow.pyi,sha256=
|
2787
|
-
homeassistant-stubs/components/reolink/const.pyi,sha256=
|
2786
|
+
homeassistant-stubs/components/reolink/config_flow.pyi,sha256=6qDl0_CvOLc--w31TI7cYqE13lPLVTyjb9CjNaz7wEM,2492
|
2787
|
+
homeassistant-stubs/components/reolink/const.pyi,sha256=gtIoXbArbXmFsnrh7hmDgEeRyiGigbkfpttSjpVIbME,64
|
2788
2788
|
homeassistant-stubs/components/reolink/diagnostics.pyi,sha256=FYtTX1V3XHgvwY2pDt0OoPeiZDWXAkzYY31b41rqIas,296
|
2789
2789
|
homeassistant-stubs/components/reolink/entity.pyi,sha256=bvcjJ1TqkwZBgMSFN4Gvk1LoitJ73Vjv1ViaqzoC2KM,2923
|
2790
2790
|
homeassistant-stubs/components/reolink/exceptions.pyi,sha256=eCC-KWgwTQeTaAm1XA27iWOrPmfdRnkqj14BH3trGVI,323
|
2791
|
-
homeassistant-stubs/components/reolink/host.pyi,sha256=
|
2791
|
+
homeassistant-stubs/components/reolink/host.pyi,sha256=6MOHM3G0yt2go6RqOiiSW24U5OXr9iWzi-vi9vTexcI,4538
|
2792
2792
|
homeassistant-stubs/components/reolink/light.pyi,sha256=a6TlwtL6Kl8zD5Erc8Qo_h9-cTA-BiusrTQS-rBoTes,2975
|
2793
2793
|
homeassistant-stubs/components/reolink/media_source.pyi,sha256=GWptV0u5ZCdlwR5-cy1fosjiPy2S1MIZYG0pIpUnHSY,1721
|
2794
2794
|
homeassistant-stubs/components/reolink/number.pyi,sha256=UtYLVYNFlNjs5VgdD7jZwFEzcSmNShcZ1eyYoEYb7a0,3691
|
@@ -2798,7 +2798,7 @@ homeassistant-stubs/components/reolink/services.pyi,sha256=5MlkkniNxRTS5rP0gA-I-
|
|
2798
2798
|
homeassistant-stubs/components/reolink/siren.pyi,sha256=Ft9S0wd7nSfMJQkGCsy0JHehHHc_AF6nRcApai2akTQ,1560
|
2799
2799
|
homeassistant-stubs/components/reolink/switch.pyi,sha256=1_npNLSZ-KQJqeRyY5OaQOyQ3GmG99UUolGX9jtdLYA,3702
|
2800
2800
|
homeassistant-stubs/components/reolink/update.pyi,sha256=g97iVH-OZTZed0WVZio3O23L5E590mo9J9QARutn4m4,3828
|
2801
|
-
homeassistant-stubs/components/reolink/util.pyi,sha256=
|
2801
|
+
homeassistant-stubs/components/reolink/util.pyi,sha256=Gws_xTkGNngjorTpNeGtGXIa1t4IBO6dQf2QN4r64UM,1467
|
2802
2802
|
homeassistant-stubs/components/reolink/views.pyi,sha256=4HVI42z48HK0n4N3i6O7iO4nZlJppvwuyM1xetvrJLU,1041
|
2803
2803
|
homeassistant-stubs/components/repairs/__init__.pyi,sha256=rP2wDUxLdI5jElaCv55gBOyLl43X4KtQXwaCD2BFXeU,421
|
2804
2804
|
homeassistant-stubs/components/repairs/const.pyi,sha256=khiPPfo2eMEa2_FD5EaWMNBjEj5lrRekpLiGQofynn8,12
|
@@ -2869,18 +2869,18 @@ homeassistant-stubs/components/rituals_perfume_genie/number.pyi,sha256=vEcDSCqjS
|
|
2869
2869
|
homeassistant-stubs/components/rituals_perfume_genie/select.pyi,sha256=pjxWHXjSnXkY9IstiPhkFub5oD_beDMaOiqgbkCmHKA,1562
|
2870
2870
|
homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi,sha256=6B03zPt2qQbbRuvhqwhozHiB6kU_iAb4qTUCw0gxJ-Y,1380
|
2871
2871
|
homeassistant-stubs/components/rituals_perfume_genie/switch.pyi,sha256=FuMxOc9Q-IGBIQzZV-l4o5sTIdxFdIqFXnZOz83aszM,1612
|
2872
|
-
homeassistant-stubs/components/roborock/__init__.pyi,sha256=
|
2872
|
+
homeassistant-stubs/components/roborock/__init__.pyi,sha256=740fLbGgwMeZUE-EdfiQd0FhLOTTsUu1kzyOih7H7M8,2639
|
2873
2873
|
homeassistant-stubs/components/roborock/binary_sensor.pyi,sha256=Ff_C_YfSxK3YIHiDGLs-7wbep9L-Q3-KOE4TkrBdEKQ,1487
|
2874
2874
|
homeassistant-stubs/components/roborock/button.pyi,sha256=jJ0VLrP0PrIVjd0jcVUNKrHu86qxzyhTzdY06SbaQ_A,1289
|
2875
2875
|
homeassistant-stubs/components/roborock/config_flow.pyi,sha256=oXHOPEexgLdYspp-0nt2R1VMw7plYtE-wRyhHKXxuB8,1941
|
2876
2876
|
homeassistant-stubs/components/roborock/const.pyi,sha256=SAstjD3OGuxxKmVH-bRpRwT-aqBYmbmzrCHnAXxFpCE,429
|
2877
|
-
homeassistant-stubs/components/roborock/coordinator.pyi,sha256=
|
2877
|
+
homeassistant-stubs/components/roborock/coordinator.pyi,sha256=Gkyf5s0pHXdFdC4KSYfZiNNKOiOg6vBMLW3hK6Z1tVw,3224
|
2878
2878
|
homeassistant-stubs/components/roborock/diagnostics.pyi,sha256=VtrnKsPiGMAAqt-7BlhSHIe-7ALte5aEtwvJmcX5uDE,511
|
2879
2879
|
homeassistant-stubs/components/roborock/entity.pyi,sha256=O5kGsR8u9oDJJD4XrGeIz_KvGzToTzqXZHZtW--EFQo,3083
|
2880
2880
|
homeassistant-stubs/components/roborock/image.pyi,sha256=7rQqqvWnm0AhhBotpUO7mqaUxwG8tIbygwCXsI6wJYY,1993
|
2881
2881
|
homeassistant-stubs/components/roborock/models.pyi,sha256=JafSkeURg1toz6HiSKYY2U68yeX93xxTccWNIy_7WRo,700
|
2882
2882
|
homeassistant-stubs/components/roborock/number.pyi,sha256=16v4q9osYzcBbsE2DtWD_CepIXYeu2AI1rBZsijD4IU,1771
|
2883
|
-
homeassistant-stubs/components/roborock/roborock_storage.pyi,sha256=
|
2883
|
+
homeassistant-stubs/components/roborock/roborock_storage.pyi,sha256=FsdJgkm0Nut_y3RSlYjNU0MRxRXKJ0sNjStE9AMecjk,946
|
2884
2884
|
homeassistant-stubs/components/roborock/select.pyi,sha256=GZocSzVTmK9EDJk6A5680Xxn8oQxv7kjgnC8bqUqWfs,2187
|
2885
2885
|
homeassistant-stubs/components/roborock/sensor.pyi,sha256=g1QnOYZjiT4PgPwRZxn_3Fy4tAsF8ZIzxKj1HCfEz94,2545
|
2886
2886
|
homeassistant-stubs/components/roborock/switch.pyi,sha256=5vICBtMuwCcyTZUowLsVwQfOhJ20t1yTqWx4qr7G8hU,1804
|
@@ -3899,7 +3899,7 @@ homeassistant-stubs/helpers/check_config.pyi,sha256=zOdzvtEUMrEmQ9D8acIIWejJvd8b
|
|
3899
3899
|
homeassistant-stubs/helpers/collection.pyi,sha256=9lf6IWv_0YRe_KMgc17cG37Ql3WaoT6nu2F3-Q6ZF9I,7574
|
3900
3900
|
homeassistant-stubs/helpers/condition.pyi,sha256=SwmBnDSxLc0U7kNL2u-hn3U3hzI-3CDT4GZLsgdxZZo,6463
|
3901
3901
|
homeassistant-stubs/helpers/config_entry_flow.pyi,sha256=o6lCGgd7Om_AHHxiotM6W6lguAjx38rEwxVmOBz3Oqc,3032
|
3902
|
-
homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi,sha256=
|
3902
|
+
homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi,sha256=1HKjZZBbWsgERrVdbwqcelzeALGu_9_QspQz5rYXLVI,5491
|
3903
3903
|
homeassistant-stubs/helpers/config_validation.pyi,sha256=g3EhmoTQbf8obKToXZzIF9WZIsqOCPV4G90z3POnBSo,12308
|
3904
3904
|
homeassistant-stubs/helpers/data_entry_flow.pyi,sha256=RCeRvHGm8dzZPTqDFsxnwgHP_rM0Cw6ALXYu_kvQazc,1402
|
3905
3905
|
homeassistant-stubs/helpers/debounce.pyi,sha256=lnisG_0NkR1odeqez4SDZkW_Wk8BDiYt55cSfY4M9_Y,1353
|
@@ -4018,7 +4018,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
|
|
4018
4018
|
homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
|
4019
4019
|
homeassistant-stubs/util/yaml/loader.pyi,sha256=9MJS3AZNCemqAEU41KVJox1f16OceP64SNXE1-Z37kU,4117
|
4020
4020
|
homeassistant-stubs/util/yaml/objects.pyi,sha256=EmJiT8WnVUHa5dkbYzXtWzu5mhO1YG5bBnEAIF0XLAU,665
|
4021
|
-
homeassistant_stubs-2025.2.
|
4022
|
-
homeassistant_stubs-2025.2.
|
4023
|
-
homeassistant_stubs-2025.2.
|
4024
|
-
homeassistant_stubs-2025.2.
|
4021
|
+
homeassistant_stubs-2025.2.0b4.dist-info/METADATA,sha256=CYS3LdMsq02ZNthqGhDOlJQSLuuI0_2nlSGycAziu0E,2956
|
4022
|
+
homeassistant_stubs-2025.2.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
4023
|
+
homeassistant_stubs-2025.2.0b4.dist-info/licenses/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
|
4024
|
+
homeassistant_stubs-2025.2.0b4.dist-info/RECORD,,
|
File without changes
|
File without changes
|