homeassistant-stubs 2024.6.0__py3-none-any.whl → 2024.6.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. homeassistant-stubs/components/airgradient/config_flow.pyi +0 -4
  2. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  3. homeassistant-stubs/components/aladdin_connect/__init__.pyi +8 -10
  4. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +19 -14
  5. homeassistant-stubs/components/aladdin_connect/const.pyi +10 -2
  6. homeassistant-stubs/components/aladdin_connect/cover.pyi +28 -11
  7. homeassistant-stubs/components/aladdin_connect/diagnostics.pyi +11 -0
  8. homeassistant-stubs/components/aladdin_connect/model.pyi +9 -0
  9. homeassistant-stubs/components/aladdin_connect/sensor.pyi +16 -9
  10. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +10 -3
  11. homeassistant-stubs/components/brother/__init__.pyi +3 -2
  12. homeassistant-stubs/components/brother/config_flow.pyi +1 -1
  13. homeassistant-stubs/components/brother/const.pyi +1 -0
  14. homeassistant-stubs/components/brother/utils.pyi +10 -0
  15. homeassistant-stubs/components/evohome/__init__.pyi +1 -1
  16. homeassistant-stubs/components/holiday/calendar.pyi +0 -1
  17. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -4
  18. homeassistant-stubs/components/hydrawise/entity.pyi +0 -2
  19. homeassistant-stubs/components/intent_script/__init__.pyi +1 -4
  20. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -5
  21. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +1 -1
  22. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -1
  23. homeassistant-stubs/components/matter/sensor.pyi +0 -2
  24. homeassistant-stubs/components/mqtt/client.pyi +2 -4
  25. homeassistant-stubs/components/mqtt/const.pyi +1 -0
  26. homeassistant-stubs/components/mqtt/discovery.pyi +8 -4
  27. homeassistant-stubs/components/mqtt/mixins.pyi +2 -0
  28. homeassistant-stubs/components/mqtt/models.pyi +8 -0
  29. homeassistant-stubs/components/mqtt/schemas.pyi +8 -4
  30. homeassistant-stubs/components/notify/repairs.pyi +1 -1
  31. homeassistant-stubs/components/recorder/websocket_api.pyi +4 -1
  32. homeassistant-stubs/components/samsungtv/bridge.pyi +0 -1
  33. homeassistant-stubs/components/tag/__init__.pyi +4 -5
  34. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  35. homeassistant-stubs/helpers/frame.pyi +2 -2
  36. homeassistant-stubs/helpers/llm.pyi +11 -14
  37. homeassistant-stubs/helpers/service.pyi +0 -1
  38. {homeassistant_stubs-2024.6.0.dist-info → homeassistant_stubs-2024.6.0b0.dist-info}/METADATA +2 -2
  39. {homeassistant_stubs-2024.6.0.dist-info → homeassistant_stubs-2024.6.0b0.dist-info}/RECORD +41 -42
  40. homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
  41. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
  42. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
  43. homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
  44. {homeassistant_stubs-2024.6.0.dist-info → homeassistant_stubs-2024.6.0b0.dist-info}/LICENSE +0 -0
  45. {homeassistant_stubs-2024.6.0.dist-info → homeassistant_stubs-2024.6.0b0.dist-info}/WHEEL +0 -0
@@ -6,13 +6,9 @@ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
7
  from typing import Any
8
8
 
9
- MIN_VERSION: Incomplete
10
-
11
9
  class AirGradientConfigFlow(ConfigFlow, domain=DOMAIN):
12
10
  data: Incomplete
13
- client: Incomplete
14
11
  def __init__(self) -> None: ...
15
- async def set_configuration_source(self) -> None: ...
16
12
  async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
17
13
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
14
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -7,14 +7,13 @@ from collections.abc import Awaitable, Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import EntityCategory as EntityCategory
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
11
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
13
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
13
 
15
14
  @dataclass(frozen=True, kw_only=True)
16
15
  class AirGradientSelectEntityDescription(SelectEntityDescription):
17
- value_fn: Callable[[Config], str | None]
16
+ value_fn: Callable[[Config], str]
18
17
  set_value_fn: Callable[[AirGradientClient, str], Awaitable[None]]
19
18
  requires_display: bool = ...
20
19
  def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, options, value_fn, set_value_fn, requires_display) -> None: ...
@@ -30,7 +29,7 @@ class AirGradientSelect(AirGradientEntity, SelectEntity):
30
29
  _attr_unique_id: Incomplete
31
30
  def __init__(self, coordinator: AirGradientConfigCoordinator, description: AirGradientSelectEntityDescription) -> None: ...
32
31
  @property
33
- def current_option(self) -> str | None: ...
32
+ def current_option(self) -> str: ...
34
33
  async def async_select_option(self, option: str) -> None: ...
35
34
 
36
35
  class AirGradientProtectedSelect(AirGradientSelect):
@@ -1,16 +1,14 @@
1
- from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
- from .const import DOMAIN as DOMAIN
3
- from .coordinator import AladdinConnectCoordinator as AladdinConnectCoordinator
1
+ from .const import CLIENT_ID as CLIENT_ID, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import Platform as Platform
4
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
8
+ from typing import Final
9
9
 
10
+ _LOGGER: Final[Incomplete]
10
11
  PLATFORMS: list[Platform]
11
- AladdinConnectConfigEntry = ConfigEntry[AladdinConnectCoordinator]
12
12
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry) -> bool: ...
15
- async def async_migrate_entry(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry) -> bool: ...
16
- def async_remove_stale_devices(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -1,18 +1,23 @@
1
- import logging
2
- from .const import DOMAIN as DOMAIN
1
+ from .const import CLIENT_ID as CLIENT_ID, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
6
- from homeassistant.helpers.config_entry_oauth2_flow import AbstractOAuth2FlowHandler as AbstractOAuth2FlowHandler
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
9
  from typing import Any
8
10
 
9
- class AladdinConnectOAuth2FlowHandler(AbstractOAuth2FlowHandler, domain=DOMAIN):
10
- DOMAIN = DOMAIN
11
+ STEP_USER_DATA_SCHEMA: Incomplete
12
+ REAUTH_SCHEMA: Incomplete
13
+
14
+ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> None: ...
15
+
16
+ class AladdinConnectConfigFlow(ConfigFlow, domain=DOMAIN):
11
17
  VERSION: int
12
- MINOR_VERSION: int
13
- reauth_entry: ConfigEntry | None
14
- async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
15
- async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
16
- async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
17
- @property
18
- def logger(self) -> logging.Logger: ...
18
+ entry: ConfigEntry | None
19
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
20
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+
23
+ class InvalidAuth(HomeAssistantError): ...
@@ -1,3 +1,11 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.components.cover import CoverEntityFeature as CoverEntityFeature
3
+ from homeassistant.const import STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
4
+ from typing import Final
5
+
6
+ NOTIFICATION_ID: Final[str]
7
+ NOTIFICATION_TITLE: Final[str]
8
+ STATES_MAP: Final[dict[str, str]]
1
9
  DOMAIN: str
2
- OAUTH2_AUTHORIZE: str
3
- OAUTH2_TOKEN: str
10
+ SUPPORTED_FEATURES: Final[Incomplete]
11
+ CLIENT_ID: str
@@ -1,25 +1,42 @@
1
- from . import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
2
- from .entity import AladdinConnectEntity as AladdinConnectEntity
1
+ from .const import DOMAIN as DOMAIN, STATES_MAP as STATES_MAP, SUPPORTED_FEATURES as SUPPORTED_FEATURES
2
+ from .model import DoorDevice as DoorDevice
3
+ from AIOAladdinConnect import AladdinConnectClient as AladdinConnectClient
3
4
  from _typeshed import Incomplete
4
- from genie_partner_sdk.model import GarageDoor as GarageDoor
5
- from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
5
+ from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPENING as STATE_OPENING
6
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
10
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
12
  from typing import Any
9
13
 
10
- async def async_setup_entry(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+ SCAN_INTERVAL: Incomplete
11
15
 
12
- class AladdinDevice(AladdinConnectEntity, CoverEntity):
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
+ def remove_stale_devices(hass: HomeAssistant, config_entry: ConfigEntry, devices: list[dict]) -> None: ...
18
+
19
+ class AladdinDevice(CoverEntity):
13
20
  _attr_device_class: Incomplete
14
- _attr_supported_features: Incomplete
21
+ _attr_supported_features = SUPPORTED_FEATURES
22
+ _attr_has_entity_name: bool
15
23
  _attr_name: Incomplete
24
+ _acc: Incomplete
25
+ _device_id: Incomplete
26
+ _number: Incomplete
27
+ _serial: Incomplete
28
+ _attr_device_info: Incomplete
16
29
  _attr_unique_id: Incomplete
17
- def __init__(self, coordinator: AladdinConnectCoordinator, device: GarageDoor) -> None: ...
18
- async def async_open_cover(self, **kwargs: Any) -> None: ...
30
+ def __init__(self, acc: AladdinConnectClient, device: DoorDevice, entry: ConfigEntry) -> None: ...
31
+ async def async_added_to_hass(self) -> None: ...
32
+ async def async_will_remove_from_hass(self) -> None: ...
19
33
  async def async_close_cover(self, **kwargs: Any) -> None: ...
34
+ async def async_open_cover(self, **kwargs: Any) -> None: ...
35
+ _attr_available: bool
36
+ async def async_update(self) -> None: ...
20
37
  @property
21
38
  def is_closed(self) -> bool | None: ...
22
39
  @property
23
- def is_closing(self) -> bool | None: ...
40
+ def is_closing(self) -> bool: ...
24
41
  @property
25
- def is_opening(self) -> bool | None: ...
42
+ def is_opening(self) -> bool: ...
@@ -0,0 +1,11 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from AIOAladdinConnect import AladdinConnectClient as AladdinConnectClient
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from typing import Any
8
+
9
+ TO_REDACT: Incomplete
10
+
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,9 @@
1
+ from typing import TypedDict
2
+
3
+ class DoorDevice(TypedDict):
4
+ device_id: str
5
+ door_number: int
6
+ name: str
7
+ status: str
8
+ serial: str
9
+ model: str
@@ -1,27 +1,34 @@
1
- from . import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
2
- from .entity import AladdinConnectEntity as AladdinConnectEntity
1
+ from .const import DOMAIN as DOMAIN
2
+ from .model import DoorDevice as DoorDevice
3
+ from AIOAladdinConnect import AladdinConnectClient
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable
5
6
  from dataclasses import dataclass
6
- from genie_partner_sdk.client import AladdinConnectClient
7
- from genie_partner_sdk.model import GarageDoor as GarageDoor
8
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.const import PERCENTAGE as PERCENTAGE
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
13
 
13
14
  @dataclass(frozen=True, kw_only=True)
14
15
  class AccSensorEntityDescription(SensorEntityDescription):
15
- value_fn: Callable[[AladdinConnectClient, str, int], float | None]
16
+ value_fn: Callable
16
17
  def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
17
18
 
18
19
  SENSORS: tuple[AccSensorEntityDescription, ...]
19
20
 
20
- async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
22
 
22
- class AladdinConnectSensor(AladdinConnectEntity, SensorEntity):
23
+ class AladdinConnectSensor(SensorEntity):
23
24
  entity_description: AccSensorEntityDescription
25
+ _attr_has_entity_name: bool
26
+ _device_id: Incomplete
27
+ _number: Incomplete
28
+ _acc: Incomplete
24
29
  _attr_unique_id: Incomplete
25
- def __init__(self, coordinator: AladdinConnectCoordinator, device: GarageDoor, description: AccSensorEntityDescription) -> None: ...
30
+ _attr_device_info: Incomplete
31
+ _attr_entity_registry_enabled_default: bool
32
+ def __init__(self, acc: AladdinConnectClient, device: DoorDevice, description: AccSensorEntityDescription) -> None: ...
26
33
  @property
27
34
  def native_value(self) -> float | None: ...
@@ -1,23 +1,29 @@
1
1
  from . import BMWBaseEntity as BMWBaseEntity
2
- from .const import CLIMATE_ACTIVITY_STATE as CLIMATE_ACTIVITY_STATE, DOMAIN as DOMAIN
2
+ from .const import CLIMATE_ACTIVITY_STATE as CLIMATE_ACTIVITY_STATE, DOMAIN as DOMAIN, UNIT_MAP as UNIT_MAP
3
3
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
+ from bimmer_connected.models import ValueWithUnit as ValueWithUnit
5
6
  from bimmer_connected.vehicle import MyBMWVehicle as MyBMWVehicle
6
7
  from collections.abc import Callable as Callable
7
8
  from dataclasses import dataclass
8
9
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfLength as UnitOfLength, UnitOfVolume as UnitOfVolume
11
+ from homeassistant.const import LENGTH as LENGTH, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, VOLUME as VOLUME
11
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+ from homeassistant.helpers.typing import StateType as StateType
13
15
 
14
16
  _LOGGER: Incomplete
15
17
 
16
18
  @dataclass(frozen=True)
17
19
  class BMWSensorEntityDescription(SensorEntityDescription):
18
20
  key_class: str | None = ...
21
+ unit_type: str | None = ...
22
+ value: Callable = ...
19
23
  is_available: Callable[[MyBMWVehicle], bool] = ...
20
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, key_class, is_available) -> None: ...
24
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, key_class, unit_type, value, is_available) -> None: ...
25
+
26
+ def convert_and_round(state: ValueWithUnit, converter: Callable[[float | None, str], float], precision: int) -> float | None: ...
21
27
 
22
28
  SENSOR_TYPES: list[BMWSensorEntityDescription]
23
29
 
@@ -26,6 +32,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
26
32
  class BMWSensor(BMWBaseEntity, SensorEntity):
27
33
  entity_description: BMWSensorEntityDescription
28
34
  _attr_unique_id: Incomplete
35
+ _attr_native_unit_of_measurement: Incomplete
29
36
  def __init__(self, coordinator: BMWDataUpdateCoordinator, vehicle: MyBMWVehicle, description: BMWSensorEntityDescription) -> None: ...
30
37
  _attr_native_value: Incomplete
31
38
  def _handle_coordinator_update(self) -> None: ...
@@ -1,7 +1,8 @@
1
+ from .const import DOMAIN as DOMAIN, SNMP_ENGINE as SNMP_ENGINE
1
2
  from .coordinator import BrotherDataUpdateCoordinator as BrotherDataUpdateCoordinator
3
+ from .utils import get_snmp_engine as get_snmp_engine
2
4
  from _typeshed import Incomplete
3
- from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
5
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE, Platform as Platform
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES
2
+ from .utils import get_snmp_engine as get_snmp_engine
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components import zeroconf as zeroconf
4
- from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
5
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -3,4 +3,5 @@ from typing import Final
3
3
 
4
4
  DOMAIN: Final[str]
5
5
  PRINTER_TYPES: Final[Incomplete]
6
+ SNMP_ENGINE: Final[str]
6
7
  UPDATE_INTERVAL: Incomplete
@@ -0,0 +1,10 @@
1
+ import pysnmp.hlapi.asyncio as hlapi
2
+ from .const import SNMP_ENGINE as SNMP_ENGINE
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
5
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers import singleton as singleton
7
+
8
+ _LOGGER: Incomplete
9
+
10
+ def get_snmp_engine(hass: HomeAssistant) -> hlapi.SnmpEngine: ...
@@ -55,7 +55,7 @@ class EvoBroker:
55
55
  _location: Incomplete
56
56
  config: Incomplete
57
57
  tcs: Incomplete
58
- loc_utc_offset: Incomplete
58
+ tcs_utc_offset: Incomplete
59
59
  temps: Incomplete
60
60
  def __init__(self, hass: HomeAssistant, client: evo.EvohomeClient, client_v1: ev1.EvohomeClient | None, store: Store[dict[str, Any]], params: ConfigType) -> None: ...
61
61
  async def save_auth_tokens(self) -> None: ...
@@ -10,7 +10,6 @@ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntry
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
12
12
 
13
- def _get_obj_holidays_and_language(country: str, province: str | None, language: str) -> tuple[HolidayBase, str]: ...
14
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
14
 
16
15
  class HolidayCalendarEntity(CalendarEntity):
@@ -12,8 +12,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
12
12
  @dataclass(frozen=True, kw_only=True)
13
13
  class HydrawiseBinarySensorEntityDescription(BinarySensorEntityDescription):
14
14
  value_fn: Callable[[HydrawiseBinarySensor], bool | None]
15
- always_available: bool = ...
16
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn, always_available) -> None: ...
15
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn) -> None: ...
17
16
 
18
17
  CONTROLLER_BINARY_SENSORS: tuple[HydrawiseBinarySensorEntityDescription, ...]
19
18
  RAIN_SENSOR_BINARY_SENSOR: tuple[HydrawiseBinarySensorEntityDescription, ...]
@@ -25,5 +24,3 @@ class HydrawiseBinarySensor(HydrawiseEntity, BinarySensorEntity):
25
24
  entity_description: HydrawiseBinarySensorEntityDescription
26
25
  _attr_is_on: Incomplete
27
26
  def _update_attrs(self) -> None: ...
28
- @property
29
- def available(self) -> bool: ...
@@ -24,5 +24,3 @@ class HydrawiseEntity(CoordinatorEntity[HydrawiseDataUpdateCoordinator]):
24
24
  def sensor(self) -> Sensor: ...
25
25
  def _update_attrs(self) -> None: ...
26
26
  def _handle_coordinator_update(self) -> None: ...
27
- @property
28
- def available(self) -> bool: ...
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.components.script import CONF_MODE as CONF_MODE
3
- from homeassistant.const import CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_TYPE as CONF_TYPE, SERVICE_RELOAD as SERVICE_RELOAD
3
+ from homeassistant.const import CONF_TYPE as CONF_TYPE, SERVICE_RELOAD as SERVICE_RELOAD
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
5
5
  from homeassistant.helpers import intent as intent, script as script, service as service, template as template
6
6
  from homeassistant.helpers.reload import async_integration_yaml_config as async_integration_yaml_config
@@ -9,7 +9,6 @@ from typing import TypedDict
9
9
 
10
10
  _LOGGER: Incomplete
11
11
  DOMAIN: str
12
- CONF_PLATFORMS: str
13
12
  CONF_INTENTS: str
14
13
  CONF_SPEECH: str
15
14
  CONF_REPROMPT: str
@@ -40,7 +39,5 @@ class _IntentCardData(TypedDict):
40
39
  class ScriptIntentHandler(intent.IntentHandler):
41
40
  intent_type: Incomplete
42
41
  config: Incomplete
43
- description: Incomplete
44
- platforms: Incomplete
45
42
  def __init__(self, intent_type: str, config: ConfigType) -> None: ...
46
43
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
@@ -1,12 +1,9 @@
1
- import homeassistant.helpers.entity_registry as er
2
- from .binary_sensor import BINARY_SENSORS as BINARY_SENSORS
3
1
  from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DEFAULT_CANDLE_LIGHT as DEFAULT_CANDLE_LIGHT, DEFAULT_DIASPORA as DEFAULT_DIASPORA, DEFAULT_HAVDALAH_OFFSET_MINUTES as DEFAULT_HAVDALAH_OFFSET_MINUTES, DEFAULT_LANGUAGE as DEFAULT_LANGUAGE, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
4
- from .sensor import INFO_SENSORS as INFO_SENSORS, TIME_SENSORS as TIME_SENSORS
5
2
  from _typeshed import Incomplete
6
3
  from hdate import Location
7
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
8
5
  from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_TIME_ZONE as CONF_TIME_ZONE, Platform as Platform
9
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
7
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
11
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
9
 
@@ -17,4 +14,3 @@ def get_unique_prefix(location: Location, language: str, candle_lighting_offset:
17
14
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
18
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
19
16
  async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
20
- def async_update_unique_ids(ent_reg: er.EntityRegistry, new_prefix: str, old_prefix: str) -> None: ...
@@ -35,7 +35,7 @@ class JewishCalendarBinarySensor(BinarySensorEntity):
35
35
  _candle_lighting_offset: Incomplete
36
36
  _havdalah_offset: Incomplete
37
37
  _update_unsub: Incomplete
38
- def __init__(self, entry_id: str, data: dict[str, Any], description: JewishCalendarBinarySensorEntityDescription) -> None: ...
38
+ def __init__(self, data: dict[str, Any], description: JewishCalendarBinarySensorEntityDescription) -> None: ...
39
39
  @property
40
40
  def is_on(self) -> bool: ...
41
41
  def _get_zmanim(self) -> Zmanim: ...
@@ -27,7 +27,7 @@ class JewishCalendarSensor(SensorEntity):
27
27
  _havdalah_offset: Incomplete
28
28
  _diaspora: Incomplete
29
29
  _holiday_attrs: Incomplete
30
- def __init__(self, entry_id: str, data: dict[str, Any], description: SensorEntityDescription) -> None: ...
30
+ def __init__(self, data: dict[str, Any], description: SensorEntityDescription) -> None: ...
31
31
  _attr_native_value: Incomplete
32
32
  async def async_update(self) -> None: ...
33
33
  def make_zmanim(self, date: Date) -> Zmanim: ...
@@ -10,8 +10,6 @@ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONC
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
 
13
- AIR_QUALITY_MAP: Incomplete
14
-
15
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
14
 
17
15
  @dataclass(frozen=True)
@@ -11,11 +11,9 @@ from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_PASSWORD
11
11
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
14
- from homeassistant.helpers.importlib import async_import_module as async_import_module
15
14
  from homeassistant.helpers.start import async_at_started as async_at_started
16
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
17
16
  from homeassistant.loader import bind_hass as bind_hass
18
- from homeassistant.setup import SetupPhases as SetupPhases, async_pause_setup as async_pause_setup
19
17
  from homeassistant.util.async_ import create_eager_task as create_eager_task
20
18
  from homeassistant.util.collection import chunked_or_all as chunked_or_all
21
19
  from homeassistant.util.logging import catch_log_exception as catch_log_exception, log_exception as log_exception
@@ -104,12 +102,12 @@ class MQTT:
104
102
  def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, conf: ConfigType) -> None: ...
105
103
  def _async_ha_started(self, _hass: HomeAssistant) -> None: ...
106
104
  async def _async_ha_stop(self, _event: Event) -> None: ...
107
- async def async_start(self, mqtt_data: MqttData) -> None: ...
105
+ def start(self, mqtt_data: MqttData) -> None: ...
108
106
  @property
109
107
  def subscriptions(self) -> list[Subscription]: ...
110
108
  def cleanup(self) -> None: ...
111
109
  async def _async_connect_in_executor(self) -> AsyncGenerator[None, None]: ...
112
- async def async_init_client(self) -> None: ...
110
+ def init_client(self) -> None: ...
113
111
  async def _misc_loop(self) -> None: ...
114
112
  def _async_reader_callback(self, client: mqtt.Client) -> None: ...
115
113
  def _async_start_misc_loop(self) -> None: ...
@@ -76,6 +76,7 @@ CONF_TEMP_MIN: str
76
76
  CONF_CERTIFICATE: str
77
77
  CONF_CLIENT_KEY: str
78
78
  CONF_CLIENT_CERT: str
79
+ CONF_COMPONENTS: str
79
80
  CONF_TLS_INSECURE: str
80
81
  CONF_IDENTIFIERS: str
81
82
  CONF_CONNECTIONS: str
@@ -1,8 +1,8 @@
1
1
  from .. import mqtt as mqtt
2
2
  from .abbreviations import ABBREVIATIONS as ABBREVIATIONS, DEVICE_ABBREVIATIONS as DEVICE_ABBREVIATIONS, ORIGIN_ABBREVIATIONS as ORIGIN_ABBREVIATIONS
3
- from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_ORIGIN as CONF_ORIGIN, CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
4
- from .models import DATA_MQTT as DATA_MQTT, MqttOriginInfo as MqttOriginInfo, ReceiveMessage as ReceiveMessage
5
- from .schemas import MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA
3
+ from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_COMPONENTS as CONF_COMPONENTS, CONF_ORIGIN as CONF_ORIGIN, CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
4
+ from .models import DATA_MQTT as DATA_MQTT, MqttComponentConfig as MqttComponentConfig, MqttOriginInfo as MqttOriginInfo, ReceiveMessage as ReceiveMessage
5
+ from .schemas import DEVICE_DISCOVERY_SCHEMA as DEVICE_DISCOVERY_SCHEMA, MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA, SHARED_OPTIONS as SHARED_OPTIONS
6
6
  from .util import async_forward_entry_setup_and_setup_discovery as async_forward_entry_setup_and_setup_discovery
7
7
  from _typeshed import Incomplete
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -10,7 +10,7 @@ from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_PLATFORM as CON
10
10
  from homeassistant.core import HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.data_entry_flow import FlowResultType as FlowResultType
12
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
13
- from homeassistant.helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
13
+ from homeassistant.helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo, ReceivePayloadType as ReceivePayloadType
14
14
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
15
15
  from homeassistant.loader import async_get_mqtt as async_get_mqtt
16
16
  from homeassistant.util.json import json_loads_object as json_loads_object
@@ -28,6 +28,7 @@ MQTT_DISCOVERY_DONE: SignalTypeFormat[Any]
28
28
  TOPIC_BASE: str
29
29
 
30
30
  class MQTTDiscoveryPayload(dict[str, Any]):
31
+ device_discovery: bool
31
32
  discovery_data: DiscoveryInfoType
32
33
 
33
34
  def clear_discovery_hash(hass: HomeAssistant, discovery_hash: tuple[str, str]) -> None: ...
@@ -36,6 +37,9 @@ def async_log_discovery_origin_info(message: str, discovery_payload: MQTTDiscove
36
37
  def _replace_abbreviations(payload: Any | dict[str, Any], abbreviations: dict[str, str], abbreviations_set: set[str]) -> None: ...
37
38
  def _replace_all_abbreviations(discovery_payload: Any | dict[str, Any]) -> None: ...
38
39
  def _replace_topic_base(discovery_payload: dict[str, Any]) -> None: ...
40
+ def _generate_device_cleanup_config(hass: HomeAssistant, object_id: str, node_id: str | None) -> dict[str, Any]: ...
41
+ def _parse_device_payload(hass: HomeAssistant, payload: ReceivePayloadType, object_id: str, node_id: str | None) -> dict[str, Any]: ...
39
42
  def _valid_origin_info(discovery_payload: MQTTDiscoveryPayload) -> bool: ...
43
+ def _merge_common_options(component_config: MQTTDiscoveryPayload, device_config: dict[str, Any]) -> None: ...
40
44
  async def async_start(hass: HomeAssistant, discovery_topic: str, config_entry: ConfigEntry) -> None: ...
41
45
  async def async_stop(hass: HomeAssistant) -> None: ...
@@ -92,6 +92,7 @@ class MqttDiscoveryDeviceUpdateMixin(ABC, metaclass=abc.ABCMeta):
92
92
  _config_entry: Incomplete
93
93
  _config_entry_id: Incomplete
94
94
  _skip_device_removal: bool
95
+ _migrate_discovery: Incomplete
95
96
  _remove_discovery_updated: Incomplete
96
97
  _remove_device_updated: Incomplete
97
98
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType, device_id: str | None, config_entry: ConfigEntry, log_name: str) -> None: ...
@@ -110,6 +111,7 @@ class MqttDiscoveryUpdateMixin(Entity):
110
111
  _remove_discovery_updated: Incomplete
111
112
  _removed_from_hass: bool
112
113
  _registry_hooks: Incomplete
114
+ _migrate_discovery: Incomplete
113
115
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType | None, discovery_update: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]] | None = None) -> None: ...
114
116
  async def async_added_to_hass(self) -> None: ...
115
117
  async def _async_remove_state_and_registry_entry(self) -> None: ...
@@ -130,5 +130,13 @@ class MqttData:
130
130
  tags: dict[str, dict[str, MQTTTagScanner]] = ...
131
131
  def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, last_discovery, platforms_loaded, reload_dispatchers, reload_handlers, reload_schema, state_write_requests, subscriptions_to_restore, tags) -> None: ...
132
132
 
133
+ @dataclass(slots=True)
134
+ class MqttComponentConfig:
135
+ component: str
136
+ object_id: str
137
+ node_id: str | None
138
+ discovery_payload: MQTTDiscoveryPayload
139
+ def __init__(self, component, object_id, node_id, discovery_payload) -> None: ...
140
+
133
141
  DATA_MQTT: HassKey[MqttData]
134
142
  DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]]
@@ -1,10 +1,13 @@
1
- from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE
2
- from .util import valid_subscribe_topic as valid_subscribe_topic
1
+ from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_COMPONENTS as CONF_COMPONENTS, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
2
+ from .util import valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
3
3
  from _typeshed import Incomplete
4
- from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
4
+ from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
5
5
  from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA
6
6
  from homeassistant.helpers.typing import ConfigType as ConfigType
7
7
 
8
+ _LOGGER: Incomplete
9
+ SHARED_OPTIONS: Incomplete
10
+ MQTT_ORIGIN_INFO_SCHEMA: Incomplete
8
11
  MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
9
12
  MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
10
13
  MQTT_AVAILABILITY_SCHEMA: Incomplete
@@ -12,5 +15,6 @@ MQTT_AVAILABILITY_SCHEMA: Incomplete
12
15
  def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType: ...
13
16
 
14
17
  MQTT_ENTITY_DEVICE_INFO_SCHEMA: Incomplete
15
- MQTT_ORIGIN_INFO_SCHEMA: Incomplete
16
18
  MQTT_ENTITY_COMMON_SCHEMA: Incomplete
19
+ COMPONENT_CONFIG_SCHEMA: Incomplete
20
+ DEVICE_DISCOVERY_SCHEMA: Incomplete
@@ -3,5 +3,5 @@ from homeassistant.components.repairs import RepairsFlow as RepairsFlow
3
3
  from homeassistant.components.repairs.issue_handler import ConfirmRepairFlow as ConfirmRepairFlow
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
5
 
6
- def migrate_notify_issue(hass: HomeAssistant, domain: str, integration_title: str, breaks_in_ha_version: str, service_name: str | None = None) -> None: ...
6
+ def migrate_notify_issue(hass: HomeAssistant, domain: str, integration_title: str, breaks_in_ha_version: str) -> None: ...
7
7
  async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -1,6 +1,7 @@
1
+ from .core import Recorder as Recorder
1
2
  from .models import StatisticPeriod as StatisticPeriod
2
3
  from .statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER, async_add_external_statistics as async_add_external_statistics, async_change_statistics_unit as async_change_statistics_unit, async_import_statistics as async_import_statistics, async_list_statistic_ids as async_list_statistic_ids, list_statistic_ids as list_statistic_ids, statistic_during_period as statistic_during_period, statistics_during_period as statistics_during_period, validate_statistics as validate_statistics
3
- from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, get_instance as get_instance, resolve_period as resolve_period
4
+ from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, get_instance as get_instance, resolve_period as resolve_period, session_scope as session_scope
4
5
  from _typeshed import Incomplete
5
6
  from datetime import datetime as dt
6
7
  from homeassistant.components import websocket_api as websocket_api
@@ -30,3 +31,5 @@ def ws_change_statistics_unit(hass: HomeAssistant, connection: websocket_api.Act
30
31
  async def ws_adjust_sum_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
31
32
  def ws_import_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
32
33
  def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
34
+ def _get_recorded_entities(hass: HomeAssistant, msg_id: int, instance: Recorder) -> bytes: ...
35
+ async def ws_get_recorded_entities(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -72,7 +72,6 @@ class SamsungTVLegacyBridge(SamsungTVBridge):
72
72
  async def async_try_connect(self) -> str: ...
73
73
  def _try_connect(self) -> str: ...
74
74
  async def async_device_info(self) -> None: ...
75
- def _notify_reauth_callback(self) -> None: ...
76
75
  auth_failed: bool
77
76
  def _get_remote(self) -> Remote: ...
78
77
  async def async_send_keys(self, keys: list[str]) -> None: ...
@@ -1,11 +1,11 @@
1
1
  from .const import DEFAULT_NAME as DEFAULT_NAME, DEVICE_ID as DEVICE_ID, DOMAIN as DOMAIN, EVENT_TAG_SCANNED as EVENT_TAG_SCANNED, LOGGER as LOGGER, TAG_ID as TAG_ID
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable
4
3
  from homeassistant.components import websocket_api as websocket_api
5
- from homeassistant.const import CONF_ID as CONF_ID, CONF_NAME as CONF_NAME
4
+ from homeassistant.const import CONF_NAME as CONF_NAME
6
5
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
7
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
7
  from homeassistant.helpers import collection as collection, entity_registry as er
8
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
9
9
  from homeassistant.helpers.entity import Entity as Entity
10
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
11
11
  from homeassistant.helpers.storage import Store as Store
@@ -60,17 +60,16 @@ class TagEntity(Entity):
60
60
  _unrecorded_attributes: Incomplete
61
61
  _attr_translation_key = DOMAIN
62
62
  _attr_should_poll: bool
63
- _entity_update_handlers: Incomplete
63
+ hass: Incomplete
64
64
  _attr_name: Incomplete
65
65
  _tag_id: Incomplete
66
66
  _attr_unique_id: Incomplete
67
67
  _last_device_id: Incomplete
68
68
  _last_scanned: Incomplete
69
- def __init__(self, entity_update_handlers: dict[str, Callable[[str | None, str | None], None]], name: str, tag_id: str, last_scanned: str | None, device_id: str | None) -> None: ...
69
+ def __init__(self, hass: HomeAssistant, name: str, tag_id: str, last_scanned: str | None, device_id: str | None) -> None: ...
70
70
  def async_handle_event(self, device_id: str | None, last_scanned: str | None) -> None: ...
71
71
  @property
72
72
  def state(self) -> str | None: ...
73
73
  @property
74
74
  def extra_state_attributes(self) -> dict[str, Any]: ...
75
75
  async def async_added_to_hass(self) -> None: ...
76
- async def async_will_remove_from_hass(self) -> None: ...
@@ -177,7 +177,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
177
177
  def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
178
178
  def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
179
179
  def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
180
- def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
180
+ def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
181
181
  def async_remove_device(self, device_id: str) -> None: ...
182
182
  async def async_load(self) -> None: ...
183
183
  def _data_to_save(self) -> dict[str, Any]: ...
@@ -17,14 +17,14 @@ class IntegrationFrame:
17
17
  integration: str
18
18
  module: str | None
19
19
  relative_filename: str
20
- frame: FrameType
20
+ _frame: FrameType
21
21
  @cached_property
22
22
  def line_number(self) -> int: ...
23
23
  @cached_property
24
24
  def filename(self) -> str: ...
25
25
  @cached_property
26
26
  def line(self) -> str: ...
27
- def __init__(self, *, custom_integration, integration, module, relative_filename, frame) -> None: ...
27
+ def __init__(self, *, custom_integration, integration, module, relative_filename, _frame) -> None: ...
28
28
 
29
29
  def get_integration_logger(fallback_name: str) -> logging.Logger: ...
30
30
  def get_current_frame(depth: int = 0) -> FrameType: ...
@@ -1,13 +1,12 @@
1
1
  import abc
2
2
  import voluptuous as vol
3
- from . import intent as intent, service as service
3
+ from . import intent as intent
4
4
  from .singleton import singleton as singleton
5
5
  from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.climate.intent import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
9
9
  from homeassistant.components.conversation.trace import ConversationTraceEventType as ConversationTraceEventType, async_conversation_trace_append as async_conversation_trace_append
10
- from homeassistant.components.cover.intent import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
11
10
  from homeassistant.components.homeassistant.exposed_entities import async_should_expose as async_should_expose
12
11
  from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
13
12
  from homeassistant.components.weather.intent import INTENT_GET_WEATHER as INTENT_GET_WEATHER
@@ -18,17 +17,16 @@ from homeassistant.util.json import JsonObjectType as JsonObjectType
18
17
  from typing import Any
19
18
 
20
19
  LLM_API_ASSIST: str
21
- BASE_PROMPT: str
22
20
  DEFAULT_INSTRUCTIONS_PROMPT: str
23
21
 
24
22
  def async_render_no_api_prompt(hass: HomeAssistant) -> str: ...
25
23
  def _async_get_apis(hass: HomeAssistant) -> dict[str, API]: ...
26
24
  def async_register_api(hass: HomeAssistant, api: API) -> None: ...
27
- async def async_get_api(hass: HomeAssistant, api_id: str, llm_context: LLMContext) -> APIInstance: ...
25
+ async def async_get_api(hass: HomeAssistant, api_id: str, tool_context: ToolContext) -> APIInstance: ...
28
26
  def async_get_apis(hass: HomeAssistant) -> list[API]: ...
29
27
 
30
28
  @dataclass(slots=True)
31
- class LLMContext:
29
+ class ToolContext:
32
30
  platform: str
33
31
  context: Context | None
34
32
  user_prompt: str | None
@@ -48,17 +46,17 @@ class Tool(metaclass=abc.ABCMeta):
48
46
  description: str | None
49
47
  parameters: vol.Schema
50
48
  @abstractmethod
51
- async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
49
+ async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, tool_context: ToolContext) -> JsonObjectType: ...
52
50
  def __repr__(self) -> str: ...
53
51
 
54
52
  @dataclass
55
53
  class APIInstance:
56
54
  api: API
57
55
  api_prompt: str
58
- llm_context: LLMContext
56
+ tool_context: ToolContext
59
57
  tools: list[Tool]
60
58
  async def async_call_tool(self, tool_input: ToolInput) -> JsonObjectType: ...
61
- def __init__(self, api, api_prompt, llm_context, tools) -> None: ...
59
+ def __init__(self, api, api_prompt, tool_context, tools) -> None: ...
62
60
 
63
61
  @dataclass(slots=True, kw_only=True)
64
62
  class API(ABC, metaclass=abc.ABCMeta):
@@ -66,22 +64,21 @@ class API(ABC, metaclass=abc.ABCMeta):
66
64
  id: str
67
65
  name: str
68
66
  @abstractmethod
69
- async def async_get_api_instance(self, llm_context: LLMContext) -> APIInstance: ...
67
+ async def async_get_api_instance(self, tool_context: ToolContext) -> APIInstance: ...
70
68
  def __init__(self, *, hass, id, name) -> None: ...
71
69
 
72
70
  class IntentTool(Tool):
73
71
  name: Incomplete
74
72
  description: Incomplete
75
- extra_slots: Incomplete
76
73
  parameters: Incomplete
77
74
  def __init__(self, intent_handler: intent.IntentHandler) -> None: ...
78
- async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
75
+ async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, tool_context: ToolContext) -> JsonObjectType: ...
79
76
 
80
77
  class AssistAPI(API):
81
78
  IGNORE_INTENTS: Incomplete
82
79
  def __init__(self, hass: HomeAssistant) -> None: ...
83
- async def async_get_api_instance(self, llm_context: LLMContext) -> APIInstance: ...
84
- def _async_get_api_prompt(self, llm_context: LLMContext, exposed_entities: dict | None) -> str: ...
85
- def _async_get_tools(self, llm_context: LLMContext, exposed_entities: dict | None) -> list[Tool]: ...
80
+ async def async_get_api_instance(self, tool_context: ToolContext) -> APIInstance: ...
81
+ def _async_get_api_prompt(self, tool_context: ToolContext, exposed_entities: dict | None) -> str: ...
82
+ def _async_get_tools(self, tool_context: ToolContext, exposed_entities: dict | None) -> list[Tool]: ...
86
83
 
87
84
  def _get_exposed_entities(hass: HomeAssistant, assistant: str) -> dict[str, dict[str, Any]]: ...
@@ -74,7 +74,6 @@ def async_extract_referenced_entity_ids(hass: HomeAssistant, service_call: Servi
74
74
  async def async_extract_config_entry_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
75
75
  def _load_services_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
76
76
  def _load_services_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> list[JSON_TYPE]: ...
77
- def async_get_cached_service_description(hass: HomeAssistant, domain: str, service: str) -> dict[str, Any] | None: ...
78
77
  async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any]]: ...
79
78
  def remove_entity_service_fields(call: ServiceCall) -> dict[Any, Any]: ...
80
79
  def async_set_service_schema(hass: HomeAssistant, domain: str, service: str, schema: dict[str, Any]) -> None: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: homeassistant-stubs
3
- Version: 2024.6.0
3
+ Version: 2024.6.0b0
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Home-page: https://github.com/KapJI/homeassistant-stubs
6
6
  License: MIT
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Topic :: Software Development
18
18
  Classifier: Typing :: Typed
19
- Requires-Dist: homeassistant (==2024.6.0)
19
+ Requires-Dist: homeassistant (==2024.6.0b0)
20
20
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
21
21
  Project-URL: Repository, https://github.com/KapJI/homeassistant-stubs
22
22
  Project-URL: Release Notes, https://github.com/KapJI/homeassistant-stubs/releases
@@ -84,11 +84,11 @@ homeassistant-stubs/components/air_quality/__init__.pyi,sha256=O7HGA4c_MnbiqoWWm
84
84
  homeassistant-stubs/components/air_quality/const.pyi,sha256=xKqGbNfghjJ6-slWRS0vQza1FRzVbXZsZJEkpajP4XM,45
85
85
  homeassistant-stubs/components/air_quality/group.pyi,sha256=lTyLewkLqh24MOKN6IBWlkWhBjvJ4a_A6amRI-GCQe4,320
86
86
  homeassistant-stubs/components/airgradient/__init__.pyi,sha256=Cm_v78FOxHQA6e3_sOEGLT5Jdx2Z_oY5U7pZCf9PPCg,694
87
- homeassistant-stubs/components/airgradient/config_flow.pyi,sha256=cBK11DlIP1K6b-6xegfJPauMdq-zDzSUrVaOWxifhJQ,985
87
+ homeassistant-stubs/components/airgradient/config_flow.pyi,sha256=tviAq4_IymR64xC8wxEtKoCtSg1m_tYsH27k-RMyZZA,879
88
88
  homeassistant-stubs/components/airgradient/const.pyi,sha256=ApJjYGIfxEHQ112a2tGXF7SyTQbhrih7AUV4OwvbqgQ,65
89
89
  homeassistant-stubs/components/airgradient/coordinator.pyi,sha256=-eDgYw9EtyddyCsl2UMbKOTk4y4aPiLKAgOJt-jnSl8,1113
90
90
  homeassistant-stubs/components/airgradient/entity.pyi,sha256=o1oGxoBT0XXqRqhltvpMGr2y4_1HOfPYLuxOQsu7Ngg,518
91
- homeassistant-stubs/components/airgradient/select.pyi,sha256=uaabvCTIASGhr01DRDowMz5m_UtMw5elRcysaIpKDt4,2315
91
+ homeassistant-stubs/components/airgradient/select.pyi,sha256=Xw_AT_NhpJ63HyYqtTqk6iYKtQK2gTNVVOP-92Tmk78,2236
92
92
  homeassistant-stubs/components/airgradient/sensor.pyi,sha256=n4PrsuzO_alWK7pLmCtGtDaQ8pzgXfQVkbE49q1sm8w,2341
93
93
  homeassistant-stubs/components/airly/__init__.pyi,sha256=vhmh5vPI3FZagfzWywOmLi6Bqqk_AY7SQCeS4RJHOGY,890
94
94
  homeassistant-stubs/components/airly/config_flow.pyi,sha256=w-8DQj3RXRj-ZVx7ga3H55BR_YYrsbIeFfwuL7WvL2E,850
@@ -153,15 +153,13 @@ homeassistant-stubs/components/airzone_cloud/entity.pyi,sha256=hRXbf-Bo-hCiH5xZS
153
153
  homeassistant-stubs/components/airzone_cloud/select.pyi,sha256=bycq3y5FvCPzK2BWMnkFpM4x_g4q9jgDRCW_OyCD6qw,2135
154
154
  homeassistant-stubs/components/airzone_cloud/sensor.pyi,sha256=I7PTa6aMTeANs9BVORzs6x4pYre6BMv_3LLjpqGkNWo,2490
155
155
  homeassistant-stubs/components/airzone_cloud/water_heater.pyi,sha256=sVZJ49IcpYn-wbJ5pxZ8oRVPxj5oLCNSRqdx41Km69c,2039
156
- homeassistant-stubs/components/aladdin_connect/__init__.pyi,sha256=GaIFLQkq-CzaZcurn0GdxhNbbUPs7rgd1xMGK1cvOtA,1130
157
- homeassistant-stubs/components/aladdin_connect/api.pyi,sha256=edlmKlN_K5aUh3zpLGMtspFsKO0yiDOmciOEHJI_2iY,455
158
- homeassistant-stubs/components/aladdin_connect/application_credentials.pyi,sha256=gC5LevrYVBmGRf6YJuwIR4rPyphIk0ro8IvjoPQVjiI,343
159
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi,sha256=1Q9XGOhBTOE_-rAwKA747wjccME86laWppO_dE6F8jc,966
160
- homeassistant-stubs/components/aladdin_connect/const.pyi,sha256=yF-smlszIn3m_AZNZksL2lIxZ1MHxtUdi3WkIwIr728,52
161
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi,sha256=N0UdEMe971BgY0c3QwZk3KV4vev4MffWSrkhrGMydq0,681
162
- homeassistant-stubs/components/aladdin_connect/cover.pyi,sha256=42PIyedA_TiNBf6Im5e1g27qK5Q4AdZUr9Vi0Acs6rc,1352
163
- homeassistant-stubs/components/aladdin_connect/entity.pyi,sha256=adJ7-f0E3nU1F9Zu7ZdQoOvuI4vJnDJvGL4csOEsXkY,638
164
- homeassistant-stubs/components/aladdin_connect/sensor.pyi,sha256=Sd4o98jhcWQs90Vs8QHQysajQ9OSmTbPYMQDGcnB9JU,1923
156
+ homeassistant-stubs/components/aladdin_connect/__init__.pyi,sha256=QKDBJZeIOlI5m4g7we_Sar3dDwffDj8DsScAn6GB9bU,813
157
+ homeassistant-stubs/components/aladdin_connect/config_flow.pyi,sha256=vuaVp-aa0NNHWOLrmpWnIzmXLw94bjolTpLjm_NCd2E,1223
158
+ homeassistant-stubs/components/aladdin_connect/const.pyi,sha256=kvpgxvVLIUJl8oxZ4ykBEfy5GafOLD2J3HRQuoFfAW4,452
159
+ homeassistant-stubs/components/aladdin_connect/cover.pyi,sha256=03RrL240s881JicEKeOGwR-Akf0kTJVdguWNXoifN20,2114
160
+ homeassistant-stubs/components/aladdin_connect/diagnostics.pyi,sha256=RkY7VWqwwsmBxy1FPB_QuSaO3W0Y1BbxPkMXbE1OYlQ,525
161
+ homeassistant-stubs/components/aladdin_connect/model.pyi,sha256=gif3_LF8-0S80dij8GvDbuKoRoSpVHsjINtSjr1IDGg,160
162
+ homeassistant-stubs/components/aladdin_connect/sensor.pyi,sha256=-Ddb3QToNAys0t542ed57_tCS7GaOrHyGPUYUpNLqTg,2031
165
163
  homeassistant-stubs/components/alarm_control_panel/__init__.pyi,sha256=-2EqOmww8DO9UwhG_BYc3_aPI1fPYAxksb4Q1TKBfXU,5762
166
164
  homeassistant-stubs/components/alarm_control_panel/const.pyi,sha256=qQ67ccTCIwoc1Q2MO7e1Fk6E7oSXyo4Ch3cDhYsXchM,1420
167
165
  homeassistant-stubs/components/alarm_control_panel/device_action.pyi,sha256=MBMRM5J6rpIKfySyJtvzcsA8jt8glz60oPpZqk0eCNY,1695
@@ -451,7 +449,7 @@ homeassistant-stubs/components/bmw_connected_drive/lock.pyi,sha256=RnytOPdvcmPHL
451
449
  homeassistant-stubs/components/bmw_connected_drive/notify.pyi,sha256=aV-PUG-zX6IN9W2Zf_1HnWTY2DKsrouxCMP6xz4IIxY,1380
452
450
  homeassistant-stubs/components/bmw_connected_drive/number.pyi,sha256=hY-tWQcbxqrAiKDBMBAJ2WvwIC7Pv7Jxsjh6dp_54Vk,2250
453
451
  homeassistant-stubs/components/bmw_connected_drive/select.pyi,sha256=3Pw4_NnXx33JBCTsosOpeluotCCyOephl7hokfCY-Yc,2232
454
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi,sha256=kr4M0vZKTo6hKWjABC__n2luNRBJ-yuKqkR2qfVscJY,2160
452
+ homeassistant-stubs/components/bmw_connected_drive/sensor.pyi,sha256=t8Lq2oZjOiFZ9vx12Zjg3Idp2XFvkQLFh3zz2gmKL8k,2513
455
453
  homeassistant-stubs/components/bmw_connected_drive/switch.pyi,sha256=cxpn9F9d4vXqhjIMGaezTy_q_pRHGKCvlm_SR0blvUY,2217
456
454
  homeassistant-stubs/components/bond/__init__.pyi,sha256=rRk7ssgbEibPSe2axh8NoRU8IvUVEl-sFpB3Ku_D8p8,1365
457
455
  homeassistant-stubs/components/bond/button.pyi,sha256=wvuPSZAA_47XBIqjIsJi4jq-340aN7y1T6J9iUcbozQ,1590
@@ -474,12 +472,13 @@ homeassistant-stubs/components/braviatv/diagnostics.pyi,sha256=EPb_QrZckydm2OX_K
474
472
  homeassistant-stubs/components/braviatv/entity.pyi,sha256=VPCWboKR9sPyBWPuz_LfZh4EhdxyveQJwbeOm8sbFSc,592
475
473
  homeassistant-stubs/components/braviatv/media_player.pyi,sha256=o64gycshk_nazW5KEKK2vi-FDSrfxoGO7LI6R1sRPyY,3273
476
474
  homeassistant-stubs/components/braviatv/remote.pyi,sha256=0yjfUdA1I7eZtkAHlewOqTgYLDTWT0wGwIIu7Vu7Zo8,951
477
- homeassistant-stubs/components/brother/__init__.pyi,sha256=6f2yXWiaiLsA4BB6heTeQMQJuqjWzUrLGx78OitpQiQ,785
478
- homeassistant-stubs/components/brother/config_flow.pyi,sha256=SVwy30-CS8S7kG6Wv9Y38hVWKYd4VlQ1qwA4GMjoAiQ,1151
479
- homeassistant-stubs/components/brother/const.pyi,sha256=UiyuZ1BD-NPibg7fJGyfaW7ik5tv6UD-GAjAsZLgbxQ,139
475
+ homeassistant-stubs/components/brother/__init__.pyi,sha256=jEbaoypaunnyZLrJ69XL8I4pB6MG7kV44sQkMwEDIro,852
476
+ homeassistant-stubs/components/brother/config_flow.pyi,sha256=rpun94fgCdv3m1HHVAotsWEyHr37YbilbbsNCLM6LkY,1116
477
+ homeassistant-stubs/components/brother/const.pyi,sha256=ZR3ATAB9zxZ_5zuSRm_Y0tp1VXadwJvS7HIdaEH58Ak,163
480
478
  homeassistant-stubs/components/brother/coordinator.pyi,sha256=exdoysDRpD8HPXjMjw2wnVL6SJKVKzcjySBcxXg_xf0,610
481
479
  homeassistant-stubs/components/brother/diagnostics.pyi,sha256=wHcfHmLHT2-SGmJ2G8r1r7sDlUNncOmQgVSc2tB1xL0,264
482
480
  homeassistant-stubs/components/brother/sensor.pyi,sha256=NQRyTCYhGNvKkBpKhNhkN8jyshmCLnwZoeMevfTE3KM,2371
481
+ homeassistant-stubs/components/brother/utils.pyi,sha256=80XZ3KkMvEJieo-0LIcxI82Uv8jrplfccD-c2ZXWW8c,446
483
482
  homeassistant-stubs/components/browser/__init__.pyi,sha256=AZsijjI191wYaG9Ba3_xnIq2BuJAdGvugiKtx-92T0s,443
484
483
  homeassistant-stubs/components/bthome/__init__.pyi,sha256=qKQPTmQXySHCUQIbH9QKQJFEC7SWbuDt3yikI4PmV-M,1687
485
484
  homeassistant-stubs/components/bthome/binary_sensor.pyi,sha256=b_KIta4k3zS4n1pavKmmiQo4jYav57KZtS6ZeD_QKl4,1694
@@ -951,7 +950,7 @@ homeassistant-stubs/components/evil_genius_labs/coordinator.pyi,sha256=ij1-DuQnW
951
950
  homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi,sha256=VkRP3kz6JMwAUCPGbKmdkF_1v4V_KzRdied7lWQ_H6U,534
952
951
  homeassistant-stubs/components/evil_genius_labs/light.pyi,sha256=fz7cXwjUFF3dP8jZ6lgoK9ykbDK1hZ-ufqhQyEc2N_s,1543
953
952
  homeassistant-stubs/components/evil_genius_labs/util.pyi,sha256=7ZsqgdKI-I9sc5gvBqNf5lBqqVn5N-lD_dWJUAsVNd8,340
954
- homeassistant-stubs/components/evohome/__init__.pyi,sha256=0-k5bG18TIaGczAlQcr0osVdhJurNha4ylkLgRU0RLQ,4291
953
+ homeassistant-stubs/components/evohome/__init__.pyi,sha256=hwsvalNIyV4ZQXHxbUJXATubSGLZa0tRz45HTE1sV7g,4291
955
954
  homeassistant-stubs/components/evohome/climate.pyi,sha256=eLUYZz321YPqbp01lo0ETIz8iDkUuDAk_C_63RFUDEk,4234
956
955
  homeassistant-stubs/components/evohome/const.pyi,sha256=dkv4fcsH0D-gpiAeGFzA4wUkXcPcFxoTbtgDzM1vwWU,245
957
956
  homeassistant-stubs/components/evohome/water_heater.pyi,sha256=y0LMiUN4L5U_aaV8iTV8RTuhZ9MEnSgA-QmvKUXohOk,2025
@@ -1190,7 +1189,7 @@ homeassistant-stubs/components/history_stats/data.pyi,sha256=25Fe3HLUGRhyeY5CrfV
1190
1189
  homeassistant-stubs/components/history_stats/helpers.pyi,sha256=rUjQRDtq3uruvmiyMdRokbcsSIWqi7OyIG01ab8iQEw,639
1191
1190
  homeassistant-stubs/components/history_stats/sensor.pyi,sha256=KLB0KsNG2avhmltstMAtU-fncCTO16nXjSjqZOzWUc8,2685
1192
1191
  homeassistant-stubs/components/holiday/__init__.pyi,sha256=Q_fYGejdaBSGFbV1D-W_zmavp1b2Ku0GXHrPwRSoiqk,555
1193
- homeassistant-stubs/components/holiday/calendar.pyi,sha256=0HT3BRdYprt8cXSZoNqxMfMBlWhyZEWXs1CM6AxGloY,2144
1192
+ homeassistant-stubs/components/holiday/calendar.pyi,sha256=UYT83ec23CeqTmu7KC0gbTAq9q4VdrtqA8ohF4rDotE,2026
1194
1193
  homeassistant-stubs/components/holiday/config_flow.pyi,sha256=qUo9nwxYGIja9x7dGo4ZMcLiPzYQC94nszhES-ahkGk,1200
1195
1194
  homeassistant-stubs/components/holiday/const.pyi,sha256=se9wTvKnOtS4iGygevgAVf9LNoAfVHN6SS2Dym9n87Q,71
1196
1195
  homeassistant-stubs/components/homeassistant/__init__.pyi,sha256=u8fm-GPVErSIkYTQ20py7dVgdKIM9CbnAXiPEA4hUNY,2559
@@ -1324,11 +1323,11 @@ homeassistant-stubs/components/husqvarna_automower/select.pyi,sha256=NJjPyK4rwqA
1324
1323
  homeassistant-stubs/components/husqvarna_automower/sensor.pyi,sha256=yNAg-AeqbV7vSH9q0I6-NWbmvN73L1vpS_WeODJpZiE,2276
1325
1324
  homeassistant-stubs/components/husqvarna_automower/switch.pyi,sha256=u5ZVg8ezdZvHZy5O4EJFkQmh5jKAxK8MDiFgWUtF3Hg,2338
1326
1325
  homeassistant-stubs/components/hydrawise/__init__.pyi,sha256=t2yqEt3ccdEF7_WOKibmnLc4PESDvHVRHRDluCI91Wk,689
1327
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi,sha256=Jmtfge0nOgMUONeJ2TxdN0UUR-ykO97CoEq1TbgCtA0,1824
1326
+ homeassistant-stubs/components/hydrawise/binary_sensor.pyi,sha256=Wo4lZScq_a1YNPNl4ulMUVxHIGwlGXMt6jQRtQ7k7vU,1722
1328
1327
  homeassistant-stubs/components/hydrawise/config_flow.pyi,sha256=z9d8T9MlR9fHvsSXeono_2SpO1yVflvJTXRwqR_m50s,959
1329
1328
  homeassistant-stubs/components/hydrawise/const.pyi,sha256=GByx0fyEBDoxGb0gPgO2-KgXfEUaRdAz8o-4iHdVhi0,230
1330
1329
  homeassistant-stubs/components/hydrawise/coordinator.pyi,sha256=_zJ1QdjfN6p4qn5_ks7vk7RtpuI1KikC7Z7b4mypjWo,1045
1331
- homeassistant-stubs/components/hydrawise/entity.pyi,sha256=WXNnUobw9O-PWZndjscGtxgGOfZPNVfCAQtaQwD5XX4,1353
1330
+ homeassistant-stubs/components/hydrawise/entity.pyi,sha256=BdEhYbTzUilp1lp5_dp6foVVQ_EP-Ctp_7r7xcammSU,1302
1332
1331
  homeassistant-stubs/components/hydrawise/sensor.pyi,sha256=5Y-bFxX0YJpriBFBX14V1006hH4Xt7GbuL7oT2p0-UY,2423
1333
1332
  homeassistant-stubs/components/hydrawise/switch.pyi,sha256=2330J0ZhxV2VqpYarlK823dL3m2DbWWtNAHmzmUVZ-E,1889
1334
1333
  homeassistant-stubs/components/hyperion/__init__.pyi,sha256=uHHQZBah-0HVjfWu62lI54URzJ4yUsaMxfP9HyhqIa4,1947
@@ -1385,7 +1384,7 @@ homeassistant-stubs/components/integration/sensor.pyi,sha256=ONreJ17st9UT6-3wt4f
1385
1384
  homeassistant-stubs/components/intent/__init__.pyi,sha256=A6Gtd6LZ4_QBfREGumLwYirb5j28auSohMAw0zIM8Sg,1654
1386
1385
  homeassistant-stubs/components/intent/const.pyi,sha256=3O_gvS76ZKuzViWqM8923WbKQEZ9umuZYPeJryQTmco,69
1387
1386
  homeassistant-stubs/components/intent/timers.pyi,sha256=X5ybqSvXghuMKeilq4dJSbjRtD-1KvOB8kQhr69hWWM,5432
1388
- homeassistant-stubs/components/intent_script/__init__.pyi,sha256=UGPQYEHhCrXXerB0AozWJWJ5J3o7q8XNJCSyNb3tPns,1721
1387
+ homeassistant-stubs/components/intent_script/__init__.pyi,sha256=v8rKkE1Osa7pluhXh5Er6hJp7P3qQH0_NzOeYH18qGw,1609
1389
1388
  homeassistant-stubs/components/ios/__init__.pyi,sha256=4DctBF7aMek5_wmdZmEinOz2Otu9sJB9sSRhNj_kU98,4432
1390
1389
  homeassistant-stubs/components/ios/config_flow.pyi,sha256=jUK7pTnZEh4RzwgIFMwLJk_g6tdTenHbW5iY_cmzed8,109
1391
1390
  homeassistant-stubs/components/ios/const.pyi,sha256=_FGzxCxI1A0E5PxIxsGIiiWqZoOe5fq2_sKT8sOn354,307
@@ -1440,11 +1439,11 @@ homeassistant-stubs/components/jellyfin/media_player.pyi,sha256=DKbcSgi2x_BPNrlR
1440
1439
  homeassistant-stubs/components/jellyfin/media_source.pyi,sha256=wOc9NfqxjsHNThreo41--IkNrj3yGKQynV33s1DdbxQ,4332
1441
1440
  homeassistant-stubs/components/jellyfin/models.pyi,sha256=AK8n3ICMpx71vkKxoMRvzkH6SkO9bvdtmHcbfVKMvfM,431
1442
1441
  homeassistant-stubs/components/jellyfin/sensor.pyi,sha256=16e5UcqdK3sWCuh7RemQch8BTCyc64Zl5eOrcfOPRIU,1630
1443
- homeassistant-stubs/components/jewish_calendar/__init__.pyi,sha256=2vWPgEgHDgoXInqFJFonmK6H6a6KzvvkVTlx15cUZtY,1849
1444
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi,sha256=sznN6pu9E73VVpuTSNraBIkOxcrZm0KOfcubotql4TQ,2769
1442
+ homeassistant-stubs/components/jewish_calendar/__init__.pyi,sha256=MGpKiHu7VkP8TyVqTv2x7Wh13-Fp_k_2SoyGy_HTkrk,1534
1443
+ homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi,sha256=n0mIXLSE0o7ZQyr30NQ0on8MgXFxLTyzZjsaYbAmLVQ,2754
1445
1444
  homeassistant-stubs/components/jewish_calendar/config_flow.pyi,sha256=NBElTbv2bk158jJbNUHKVeDuBdAnrFOMzUsQnFZ0jEc,1981
1446
1445
  homeassistant-stubs/components/jewish_calendar/const.pyi,sha256=dH_LaLb-tVwWfIQ0xI5NpEKvHHjg56GFEN2dyzpjHc0,222
1447
- homeassistant-stubs/components/jewish_calendar/sensor.pyi,sha256=Xon8CPvekEBLCMRt4Fh6stmyndX_ysBZ0aG7l2qRAjE,2174
1446
+ homeassistant-stubs/components/jewish_calendar/sensor.pyi,sha256=Lg6IkPjc0zEZL2soFff-q1X4WYmgvRk5T42RNQsJy9Q,2159
1448
1447
  homeassistant-stubs/components/jvc_projector/__init__.pyi,sha256=_LCfIHa7pMk10_9HpM37bJqCTT3IGJre-3OU1OMMjzo,815
1449
1448
  homeassistant-stubs/components/jvc_projector/binary_sensor.pyi,sha256=7b-DFeQN81zJvyWm4taqRmgv-fhw0EomcUpGr4Q1Srg,935
1450
1449
  homeassistant-stubs/components/jvc_projector/config_flow.pyi,sha256=c3NpnCzNZ6LP3QfnGmKNVJOxRlFcZavFkkeuPZ2bSKU,1041
@@ -1706,7 +1705,7 @@ homeassistant-stubs/components/matter/helpers.pyi,sha256=ns3ORR-onyPHBniSiwvs7Gu
1706
1705
  homeassistant-stubs/components/matter/light.pyi,sha256=Qwd93LG7IdhnnCoDxkF2eKJ-1f8-Nuu5JpDuIWAIZ2w,2829
1707
1706
  homeassistant-stubs/components/matter/lock.pyi,sha256=KPfk8HnN9qusyENg5kmuc-lbPc_u88djVDJDD-E9occ,1731
1708
1707
  homeassistant-stubs/components/matter/models.pyi,sha256=rWTyeVVak9ZddjjIWAUGASMSWbB7N3Q1E72kIWeiceQ,1954
1709
- homeassistant-stubs/components/matter/sensor.pyi,sha256=9ip-sERG7jPYeJ68gdDOKyfb3uZe2LXlMLVrIp0tm6Y,2228
1708
+ homeassistant-stubs/components/matter/sensor.pyi,sha256=ZyVC4aMVeLos90B-4ZkHMChaNLvOYOd3avQrQZR1Bz4,2199
1710
1709
  homeassistant-stubs/components/matter/switch.pyi,sha256=0S0oj45wgqxlM2beS2eegO3FwR62NUJmx1XgcL_MNdQ,1092
1711
1710
  homeassistant-stubs/components/matter/util.pyi,sha256=cW6CK4oLTg6vW_aZaeXMHQPzYwOUVT4Knf4rvho-HJg,463
1712
1711
  homeassistant-stubs/components/media_extractor/__init__.pyi,sha256=s4LETM0n49WuKEAJE0WsN8R4vShBAd4Udz4wO_ZLLLM,2235
@@ -1811,19 +1810,19 @@ homeassistant-stubs/components/mqtt/alarm_control_panel.pyi,sha256=NXwmqpYE9aecx
1811
1810
  homeassistant-stubs/components/mqtt/binary_sensor.pyi,sha256=NyKWfyeBeI8pMtBqEr_RI5A7dsE4tLrlFXlstd3zwcw,3032
1812
1811
  homeassistant-stubs/components/mqtt/button.pyi,sha256=nJZOzm9Mcak-8TOyS8f0rmqpAdF3KB_uB8hu5I6H8T8,1901
1813
1812
  homeassistant-stubs/components/mqtt/camera.pyi,sha256=B1Fr4m8_PF7NaSfxyGU07yAfmFqrzcT1MSJImw2mJ3Y,2028
1814
- homeassistant-stubs/components/mqtt/client.pyi,sha256=PRsSwKufPP1vPKj3lXgMLzia8lExRkraRPFcb1YnaeA,10441
1813
+ homeassistant-stubs/components/mqtt/client.pyi,sha256=P31Nbg10oavoSkvkaUJEAk6aAbODcCu1NiF_dMma_Nk,10231
1815
1814
  homeassistant-stubs/components/mqtt/climate.pyi,sha256=jn95RtxFmuwLH1pL4tQODIxS79-Q1wDCSxRUZ-YxBYw,8513
1816
1815
  homeassistant-stubs/components/mqtt/config.pyi,sha256=ZzcogEgaXfMFwZIYMPiIpTSMnuMKx6Xsvv30vbB8iXw,721
1817
1816
  homeassistant-stubs/components/mqtt/config_flow.pyi,sha256=Ba0IozITsckpJY_1gezkqo3hfyILbkmI9CGiOb5X-y0,5365
1818
1817
  homeassistant-stubs/components/mqtt/config_integration.pyi,sha256=WpU7MEABRRI1PUguDOcOJXSsNEacS63lAHfyzoYQdzg,801
1819
- homeassistant-stubs/components/mqtt/const.pyi,sha256=s16Tjn6K0PGsKG0iF-ACPUOmFlJRZG1mS_MZfrdcLTs,3168
1818
+ homeassistant-stubs/components/mqtt/const.pyi,sha256=AvJU6h6uzAMgcrub2kHH32v11ny8-Bdh1m1I_thGLrA,3189
1820
1819
  homeassistant-stubs/components/mqtt/cover.pyi,sha256=l0CHcGyzIUEKvKMNELH3xPcyx_joY6Ft7O1hKnoujZM,5632
1821
1820
  homeassistant-stubs/components/mqtt/debug_info.pyi,sha256=_ngVIhsdie21moMJIi0vMiw__xVMt_qt57DdycoloNY,2005
1822
1821
  homeassistant-stubs/components/mqtt/device_automation.pyi,sha256=8U4vQWqUMFkW2YYzZhKrEg5eRITCaxAgiVwRKTmXBDM,944
1823
1822
  homeassistant-stubs/components/mqtt/device_tracker.pyi,sha256=B-of9WpKwPOr-2hfO1MrMChgA0TKgYewqFuzDU_2j0c,2852
1824
1823
  homeassistant-stubs/components/mqtt/device_trigger.pyi,sha256=vS6XdAzc7jTuUGdrralGhaUxsx7zWpcssszu1E2jyWw,3936
1825
1824
  homeassistant-stubs/components/mqtt/diagnostics.pyi,sha256=2xPxdKohpvTYLQ3ya9G6eKjAlZ-KkEWVcPIZkggAs88,1270
1826
- homeassistant-stubs/components/mqtt/discovery.pyi,sha256=zfeVBv2DgqQAvHKnwS8D_E03SGU16yfeiXKhSJAO6bQ,2971
1825
+ homeassistant-stubs/components/mqtt/discovery.pyi,sha256=VaCeIxkuVrb0vkvsbML-ps8B7DvaG7qNJ08o_qmpe74,3569
1827
1826
  homeassistant-stubs/components/mqtt/event.pyi,sha256=-L2BOrhbELspMmRMx3XPe2u5OZ6nRYESMHOV6000v-o,2563
1828
1827
  homeassistant-stubs/components/mqtt/fan.pyi,sha256=m5dyJN744rtcsWuJmF2YBqAv2pFhEwR9LjKSFkCjtZs,5555
1829
1828
  homeassistant-stubs/components/mqtt/humidifier.pyi,sha256=dWeQ6Z3RvnMB0uV4xt4E5DEQvE8K62Sr_mUCLetXzno,4978
@@ -1835,12 +1834,12 @@ homeassistant-stubs/components/mqtt/light/schema_basic.pyi,sha256=_XSc-R76AAly2D
1835
1834
  homeassistant-stubs/components/mqtt/light/schema_json.pyi,sha256=le1ntQKvfvmGUBTQDjrD1vw73-mV9J3aHM7CRRqJNeY,4984
1836
1835
  homeassistant-stubs/components/mqtt/light/schema_template.pyi,sha256=3R2viT3X3zQ205VMM28OzIRb6PvMK08LiU3YNxn-2HU,3545
1837
1836
  homeassistant-stubs/components/mqtt/lock.pyi,sha256=gCV6Q-UfRtTtJg3X16htAhbFOO8GZfpy02Vv3lygvnc,3596
1838
- homeassistant-stubs/components/mqtt/mixins.pyi,sha256=XiruSxgSwawtTx7gmUAKl15RMkKdajgMyirWai0K7F0,13540
1839
- homeassistant-stubs/components/mqtt/models.pyi,sha256=KV7kY9EhFrWYrRY5iMpqgzZF4U-3Eb6sz-KD_1vHTFA,6029
1837
+ homeassistant-stubs/components/mqtt/mixins.pyi,sha256=bMY-YcFMDuBB0uZlr9F3liSP11OxN0cyVWd-ydaaBRw,13610
1838
+ homeassistant-stubs/components/mqtt/models.pyi,sha256=U5hUV8JSRiFjlcdVGWNKskCdx-2hEjFm1Y88ak4J8fM,6272
1840
1839
  homeassistant-stubs/components/mqtt/notify.pyi,sha256=gHJYA4TgHbJZt3TVIZ-7mfdd3IKys-6dKLQcHMbSsaY,1774
1841
1840
  homeassistant-stubs/components/mqtt/number.pyi,sha256=LTQmdZkdV-DcisJx63udodCxmVJ4sZcYqzHPXNWFR9I,3141
1842
1841
  homeassistant-stubs/components/mqtt/scene.pyi,sha256=-MJ7K1ILn8WJey50udZhxsx99BA_k51fVQJ5UlnF6O8,1650
1843
- homeassistant-stubs/components/mqtt/schemas.pyi,sha256=9hGqp2bPNDhUygIZILd8BfVgL51nbB7AGcbLLRiaTyk,2068
1842
+ homeassistant-stubs/components/mqtt/schemas.pyi,sha256=iFHF6tLs0T0Gz7Gr2SWr2E9HnOCBPCkTQ_2iWbPcMZc,2517
1844
1843
  homeassistant-stubs/components/mqtt/select.pyi,sha256=EgKNDTUQJYMGStd8N7ccdiiZgHw19MkFPQe0_YgnTuE,2530
1845
1844
  homeassistant-stubs/components/mqtt/sensor.pyi,sha256=YHh9m6Gue_dx1z7ztXpCsJ2aZPJ0Xsmz6B5ZAIh2210,3867
1846
1845
  homeassistant-stubs/components/mqtt/siren.pyi,sha256=eJirE6fbflMgciOt9fScr6KOsKBy1lapqTFFA9p-Xu4,4018
@@ -1981,7 +1980,7 @@ homeassistant-stubs/components/no_ip/__init__.pyi,sha256=LEgsEXyJpLsJ5B6QgcMM9YJ
1981
1980
  homeassistant-stubs/components/notify/__init__.pyi,sha256=tzN01rqffcZbuR5pejVr8CGppcItR1okkbGB4IzAV7Q,2904
1982
1981
  homeassistant-stubs/components/notify/const.pyi,sha256=avQYneEncK6P1GLR7dVBEO4_3uGkpherb8g5cfjww8I,269
1983
1982
  homeassistant-stubs/components/notify/legacy.pyi,sha256=Zt11m8JHr6ls3TblSY87cLAfPZdor11WaMQC7oIcSzA,3059
1984
- homeassistant-stubs/components/notify/repairs.pyi,sha256=usKMrC4DWGmm8BKZEvYKeGwFKEe3gTZeKoXIEmWd1UY,585
1983
+ homeassistant-stubs/components/notify/repairs.pyi,sha256=RIGlWF9iQtYnUoT9O7s6W9GRjAP7agyVrAbJvZgMvh8,552
1985
1984
  homeassistant-stubs/components/notion/__init__.pyi,sha256=QvswX1nrNN9_hC1wYMQjd1ih09XGPbDTZBKx7_OKNng,2685
1986
1985
  homeassistant-stubs/components/notion/binary_sensor.pyi,sha256=1OhLt3BI3-X5h3PynK6HC9NYpy46Ba-Fm_siGewHfcc,1958
1987
1986
  homeassistant-stubs/components/notion/config_flow.pyi,sha256=crcDBjEh0QBBLfGB0YIqZxt51EfBSVBrk14Z2t0hZVM,1504
@@ -2306,7 +2305,7 @@ homeassistant-stubs/components/recorder/table_managers/states_meta.pyi,sha256=TA
2306
2305
  homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi,sha256=-O9z6dlkxChQCk3pnO5pKI4tD_3ANprpBifh6zA_qNA,2665
2307
2306
  homeassistant-stubs/components/recorder/tasks.pyi,sha256=OwwYwMNFp1nKSnKIVSQ0P8sDOHR1j0ymCf54KWcHp1Y,6384
2308
2307
  homeassistant-stubs/components/recorder/util.pyi,sha256=qWzCcmSPfT2M3Cl2gNrPlt-pP9KBYxuLPlVShFw-yAM,5460
2309
- homeassistant-stubs/components/recorder/websocket_api.pyi,sha256=Bm3Zp7p4GpZGbtiuwqtCupS3DKgeaFAOZvPUvt79oTg,4331
2308
+ homeassistant-stubs/components/recorder/websocket_api.pyi,sha256=6hRBzVTKRdRsmVshthrtgm70XkG5bmj4meZKyVO3iD8,4631
2310
2309
  homeassistant-stubs/components/remote/__init__.pyi,sha256=aPdglsyXkfxlqfCDL7UIcH0sI7BJkH0VOQxNggg-030,3894
2311
2310
  homeassistant-stubs/components/remote/device_action.pyi,sha256=6Vfp_kSun-CL4YEEv4I_O2A81JnXangKitq86wbdOqY,827
2312
2311
  homeassistant-stubs/components/remote/device_condition.pyi,sha256=PjpIeqIXc4BrnDcNNu1cqcmtcGbPeumAd5XnR2-WYi4,817
@@ -2434,7 +2433,7 @@ homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi,sha256=p9DFG_rlzNueI
2434
2433
  homeassistant-stubs/components/ruuvitag_ble/const.pyi,sha256=khiPPfo2eMEa2_FD5EaWMNBjEj5lrRekpLiGQofynn8,12
2435
2434
  homeassistant-stubs/components/ruuvitag_ble/sensor.pyi,sha256=xraLAwHSBvgSgrnKUYQ4sIM592fFRqlucHsQFsiNIkg,2112
2436
2435
  homeassistant-stubs/components/samsungtv/__init__.pyi,sha256=PWoRnt04mwiVUKGpqLqzfrVqYYyXo18S6XVzclhn24U,2646
2437
- homeassistant-stubs/components/samsungtv/bridge.pyi,sha256=1o3jjPogfXQOv6teGkF-zFc5anUWnG1lU2SXUdnQm3A,7102
2436
+ homeassistant-stubs/components/samsungtv/bridge.pyi,sha256=m82JAKHY7a-VgmSOXcmWGk2xojb-CwwW0HswEoiB3Ak,7051
2438
2437
  homeassistant-stubs/components/samsungtv/config_flow.pyi,sha256=SXBDl1X4NaLnlsE21e6ahU9YJMxl-2omJkICegAyDm4,4931
2439
2438
  homeassistant-stubs/components/samsungtv/const.pyi,sha256=SzwXEL84Lf1Yk7u28m2azWsh9SfvyKF_4opoa2dxlpE,784
2440
2439
  homeassistant-stubs/components/samsungtv/coordinator.pyi,sha256=HTp2oe-a_t5sgZ0dUgHGh2fB4PjqI6J-cvYAkz8rbok,747
@@ -2730,7 +2729,7 @@ homeassistant-stubs/components/systemmonitor/diagnostics.pyi,sha256=3tOFv8ZXiIcv
2730
2729
  homeassistant-stubs/components/systemmonitor/repairs.pyi,sha256=TGxQR3xujHlcp6gXfZ4BRvsXz3_rrzw07K9PKH4V5U8,884
2731
2730
  homeassistant-stubs/components/systemmonitor/sensor.pyi,sha256=egACKcKIwiiIUVVbSqwQmkRem4POn5ba6eayirwqE3o,4703
2732
2731
  homeassistant-stubs/components/systemmonitor/util.pyi,sha256=tJIGD7TT7BqPVYhoGQrbYHMKco9nrnUzT1l_5fLKZIo,655
2733
- homeassistant-stubs/components/tag/__init__.pyi,sha256=U1tyWfUNbugc-UWK3Nf3LlOJ7I8vVyMM_rydAEiA_qc,3862
2732
+ homeassistant-stubs/components/tag/__init__.pyi,sha256=vP7RHoy4rBFBQhD9Gzst690ORnHnNddrq98TQVFyZnE,3803
2734
2733
  homeassistant-stubs/components/tag/const.pyi,sha256=49NoQDGRwRhwzeE6qELOC1Mgq6PniZKfBsbLNQ9EM9I,133
2735
2734
  homeassistant-stubs/components/tag/trigger.pyi,sha256=Qc6KBk5exjqWqYLdXahuNtOk6yVQOM_I5STpXfQz3ac,696
2736
2735
  homeassistant-stubs/components/tailscale/__init__.pyi,sha256=1GacvcYbzVUJgerHKhnWEXIK5D-itQcYi-5P6djVYe8,1269
@@ -3288,7 +3287,7 @@ homeassistant-stubs/helpers/config_validation.pyi,sha256=wGjBTjdf_wsSurBhcSGhmcg
3288
3287
  homeassistant-stubs/helpers/data_entry_flow.pyi,sha256=M_av1zXGh-dvUQpH1uUc7Dz1Jqc7xHEbXqJlVo_6ujw,1423
3289
3288
  homeassistant-stubs/helpers/debounce.pyi,sha256=TvicXV_qkSOEafZh6d27iusSB9LAOYFNkVMoFcfyxnQ,1230
3290
3289
  homeassistant-stubs/helpers/deprecation.pyi,sha256=wX4i61ch-5SS8IeLslCNtT2AP3UZ21tz916JD7w6Y9o,1570
3291
- homeassistant-stubs/helpers/device_registry.pyi,sha256=fdX1c_e1VATJ13-SjqIU1daceyKemkWi1GtShZsA5cs,11274
3290
+ homeassistant-stubs/helpers/device_registry.pyi,sha256=ns95ileBLHGctlHdjuUPWTk4wuHG1uIqEdTe-DdUotc,11213
3292
3291
  homeassistant-stubs/helpers/discovery.pyi,sha256=eIBD0gxHqY58PANQgLsPSQGkPM98uW17mmur1k3jAps,1742
3293
3292
  homeassistant-stubs/helpers/discovery_flow.pyi,sha256=0hlkMylFX5XweVFfUQNqMVkl0mY4numJdSWiFJyIS7k,1428
3294
3293
  homeassistant-stubs/helpers/dispatcher.pyi,sha256=-CFUiQu9mlswAoCLPGn6PWguJzsWjHU_2ah0gA1ET1o,2322
@@ -3300,7 +3299,7 @@ homeassistant-stubs/helpers/entity_values.pyi,sha256=lxdx5isoDpSurN03yLcyJiiwkph
3300
3299
  homeassistant-stubs/helpers/entityfilter.pyi,sha256=1pbVZXp58ryJJF4T6X-w013NqYtQ0KhtUKcAJVhJJSY,2060
3301
3300
  homeassistant-stubs/helpers/event.pyi,sha256=YBoUU696SaeqoIlMXdXnQzKCuDsW-s4J2bBNgiph10I,17046
3302
3301
  homeassistant-stubs/helpers/floor_registry.pyi,sha256=9lL6NgrX9pyP5PlBlfekCN4OB7V39QQCN-uJK1VIKOE,2813
3303
- homeassistant-stubs/helpers/frame.pyi,sha256=SMMy3MY7B6L5ZeU_XWoWloFoy7aRmSKBWpthuNrb-ys,1622
3302
+ homeassistant-stubs/helpers/frame.pyi,sha256=eVaNUJOEfDzG2DGlPJceARay1MRg9hSbCzAaiddEmm4,1624
3304
3303
  homeassistant-stubs/helpers/group.pyi,sha256=0Hs__xX08YdzO9KVd4w-Gs3l9f6x3ArtVXlygKl9x2k,482
3305
3304
  homeassistant-stubs/helpers/http.pyi,sha256=FFzxkVJX4wcm_YrGAkYpogyQl1vFdgMJrAfjZSQDgFc,1800
3306
3305
  homeassistant-stubs/helpers/httpx_client.pyi,sha256=ZdW9hlczrLBPhqW0BnLB4ONYTzxGTfIuIq9pLDt4P9Q,1510
@@ -3312,7 +3311,7 @@ homeassistant-stubs/helpers/intent.pyi,sha256=0BzG3LFc_yNkA9hRRKv8w4NGFJpzldSUCu
3312
3311
  homeassistant-stubs/helpers/issue_registry.pyi,sha256=-nFO9SpW-rNL8DusXkjktFMFpN2PwdQpGPBQM36ecDo,4115
3313
3312
  homeassistant-stubs/helpers/json.pyi,sha256=tCdDyP3NYTF3Jb6cASWYnepzie6YLlD0ikMPW7wevKQ,1452
3314
3313
  homeassistant-stubs/helpers/label_registry.pyi,sha256=fDg71PDb5lXKPPZZ0c85retuA53X_YWvkdNlHW1tVI8,2846
3315
- homeassistant-stubs/helpers/llm.pyi,sha256=3ZhdnB48pJc88CDV9NCFxm1FPUcU-Y_-78wFNh_Mt40,3820
3314
+ homeassistant-stubs/helpers/llm.pyi,sha256=nyFJksus6nM1etcAgl6UpA-hzc9SNVVTmZBJUUeG-Ww,3642
3316
3315
  homeassistant-stubs/helpers/location.pyi,sha256=ynZlBZv3LuyphX4B28y2n2V4IHtJ6ETkUnqOlSYM1FM,655
3317
3316
  homeassistant-stubs/helpers/network.pyi,sha256=34Qq5-Y8aevzqp_21b7L2Woqn-8dOunSTm7uML0_ty0,1773
3318
3317
  homeassistant-stubs/helpers/normalized_name_base_registry.pyi,sha256=LoqQgtUt36e2EvYZisNHOydbZWGIRRSsuGNA01agMVg,704
@@ -3327,7 +3326,7 @@ homeassistant-stubs/helpers/script.pyi,sha256=-4WtmNRtnmQQkc6iErTPcfNYmUHO7DO8aH
3327
3326
  homeassistant-stubs/helpers/script_variables.pyi,sha256=oH8USW9PDMHyCACqINIUIm2ZQENbHSyRN37dhgXD_08,570
3328
3327
  homeassistant-stubs/helpers/selector.pyi,sha256=tgenOojSkRCEJGQ-G1DjSz3ueOBa1lW0Ajo9uavl_Ck,14996
3329
3328
  homeassistant-stubs/helpers/sensor.pyi,sha256=lElWOartDwgLVi4vvGlqHFEJ8u25O_PiiEUOSo-CQOg,263
3330
- homeassistant-stubs/helpers/service.pyi,sha256=90E0V_RL-8rf1ZTQHlQcqySjdqeoNf-_2mbuHcCOL9I,7141
3329
+ homeassistant-stubs/helpers/service.pyi,sha256=WHyqxvWWrNcj68OC60ZNAs7e3N4uAHTx02cpY8nRBl0,7022
3331
3330
  homeassistant-stubs/helpers/service_info/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3332
3331
  homeassistant-stubs/helpers/service_info/bluetooth.pyi,sha256=kHDeoPorAhi-bJvJ_O--xHFnFE6U4JswHm44saDXqHg,118
3333
3332
  homeassistant-stubs/helpers/service_info/mqtt.pyi,sha256=P5KXm7ljA6pixaEQo3CEim_NSjQyetHVPH3V3RhLHkE,458
@@ -3398,7 +3397,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3398
3397
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3399
3398
  homeassistant-stubs/util/yaml/loader.pyi,sha256=RTT2312P0TB9bA-rj3xdQK_J6sqVQE4LBJozgLH3oao,4621
3400
3399
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3401
- homeassistant_stubs-2024.6.0.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3402
- homeassistant_stubs-2024.6.0.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3403
- homeassistant_stubs-2024.6.0.dist-info/METADATA,sha256=X2s3xaG5hrxrBU_4is1JWRhAFmgEjQ-qr0DtJo2YXMk,3011
3404
- homeassistant_stubs-2024.6.0.dist-info/RECORD,,
3400
+ homeassistant_stubs-2024.6.0b0.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3401
+ homeassistant_stubs-2024.6.0b0.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3402
+ homeassistant_stubs-2024.6.0b0.dist-info/METADATA,sha256=SmeMuTkUIqwvnPC67e-P0L4rzFrFYoVeRXZ5l8txVYE,3015
3403
+ homeassistant_stubs-2024.6.0b0.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aiohttp import ClientSession as ClientSession
3
- from genie_partner_sdk.auth import Auth
4
- from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
5
-
6
- API_URL: str
7
- API_KEY: str
8
-
9
- class AsyncConfigEntryAuth(Auth):
10
- _oauth_session: Incomplete
11
- def __init__(self, websession: ClientSession, oauth_session: OAuth2Session) -> None: ...
12
- async def async_get_access_token(self) -> str: ...
@@ -1,5 +0,0 @@
1
- from .const import OAUTH2_AUTHORIZE as OAUTH2_AUTHORIZE, OAUTH2_TOKEN as OAUTH2_TOKEN
2
- from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
3
- from homeassistant.core import HomeAssistant as HomeAssistant
4
-
5
- async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
@@ -1,15 +0,0 @@
1
- from .const import DOMAIN as DOMAIN
2
- from _typeshed import Incomplete
3
- from genie_partner_sdk.client import AladdinConnectClient as AladdinConnectClient
4
- from genie_partner_sdk.model import GarageDoor as GarageDoor
5
- from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
7
-
8
- _LOGGER: Incomplete
9
-
10
- class AladdinConnectCoordinator(DataUpdateCoordinator[None]):
11
- acc: Incomplete
12
- doors: Incomplete
13
- def __init__(self, hass: HomeAssistant, acc: AladdinConnectClient) -> None: ...
14
- async def async_setup(self) -> None: ...
15
- async def _async_update_data(self) -> None: ...
@@ -1,12 +0,0 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import AladdinConnectCoordinator as AladdinConnectCoordinator
3
- from _typeshed import Incomplete
4
- from genie_partner_sdk.model import GarageDoor as GarageDoor
5
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
-
8
- class AladdinConnectEntity(CoordinatorEntity[AladdinConnectCoordinator]):
9
- _attr_has_entity_name: bool
10
- _device: Incomplete
11
- _attr_device_info: Incomplete
12
- def __init__(self, coordinator: AladdinConnectCoordinator, device: GarageDoor) -> None: ...