homeassistant-stubs 2024.6.0b6__py3-none-any.whl → 2024.6.0b7__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.
@@ -1,12 +1,16 @@
1
- from . import api as api
2
- from .const import CONFIG_FLOW_MINOR_VERSION as CONFIG_FLOW_MINOR_VERSION, CONFIG_FLOW_VERSION as CONFIG_FLOW_VERSION
1
+ from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import AladdinConnectCoordinator as AladdinConnectCoordinator
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from homeassistant.const import Platform as Platform
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry_oauth2_flow as config_entry_oauth2_flow
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
7
9
 
8
10
  PLATFORMS: list[Platform]
11
+ AladdinConnectConfigEntry = ConfigEntry[AladdinConnectCoordinator]
9
12
 
10
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
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: ...
@@ -1,12 +1,12 @@
1
1
  from _typeshed import Incomplete
2
2
  from aiohttp import ClientSession as ClientSession
3
3
  from genie_partner_sdk.auth import Auth
4
- from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
4
+ from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
5
5
 
6
6
  API_URL: str
7
7
  API_KEY: str
8
8
 
9
9
  class AsyncConfigEntryAuth(Auth):
10
10
  _oauth_session: Incomplete
11
- def __init__(self, websession: ClientSession, oauth_session: config_entry_oauth2_flow.OAuth2Session) -> None: ...
11
+ def __init__(self, websession: ClientSession, oauth_session: OAuth2Session) -> None: ...
12
12
  async def async_get_access_token(self) -> str: ...
@@ -1,17 +1,17 @@
1
1
  import logging
2
- from .const import CONFIG_FLOW_MINOR_VERSION as CONFIG_FLOW_MINOR_VERSION, CONFIG_FLOW_VERSION as CONFIG_FLOW_VERSION, DOMAIN as DOMAIN
2
+ from .const import DOMAIN as DOMAIN
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
5
+ from homeassistant.helpers.config_entry_oauth2_flow import AbstractOAuth2FlowHandler as AbstractOAuth2FlowHandler
6
6
  from typing import Any
7
7
 
8
- class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
8
+ class AladdinConnectOAuth2FlowHandler(AbstractOAuth2FlowHandler, domain=DOMAIN):
9
9
  DOMAIN = DOMAIN
10
- VERSION = CONFIG_FLOW_VERSION
11
- MINOR_VERSION = CONFIG_FLOW_MINOR_VERSION
10
+ VERSION: int
11
+ MINOR_VERSION: int
12
12
  reauth_entry: ConfigEntry | None
13
13
  async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
14
14
  async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
15
- async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
15
+ async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
16
16
  @property
17
17
  def logger(self) -> logging.Logger: ...
@@ -1,10 +1,3 @@
1
- from _typeshed import Incomplete
2
- from homeassistant.components.cover import CoverEntityFeature as CoverEntityFeature
3
- from typing import Final
4
-
5
1
  DOMAIN: str
6
- CONFIG_FLOW_VERSION: int
7
- CONFIG_FLOW_MINOR_VERSION: int
8
2
  OAUTH2_AUTHORIZE: str
9
3
  OAUTH2_TOKEN: str
10
- SUPPORTED_FEATURES: Final[Incomplete]
@@ -0,0 +1,15 @@
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,35 +1,22 @@
1
- from . import api as api
2
- from .const import DOMAIN as DOMAIN, SUPPORTED_FEATURES as SUPPORTED_FEATURES
3
- from .model import GarageDoor as GarageDoor
1
+ from . import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
2
+ from .entity import AladdinConnectEntity as AladdinConnectEntity
4
3
  from _typeshed import Incomplete
5
- from genie_partner_sdk.client import AladdinConnectClient
6
- from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
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
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
10
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
8
  from typing import Any
13
9
 
14
- SCAN_INTERVAL: Incomplete
10
+ async def async_setup_entry(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
11
 
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[GarageDoor]) -> None: ...
18
-
19
- class AladdinDevice(CoverEntity):
12
+ class AladdinDevice(AladdinConnectEntity, CoverEntity):
20
13
  _attr_device_class: Incomplete
21
- _attr_supported_features = SUPPORTED_FEATURES
22
- _attr_has_entity_name: bool
14
+ _attr_supported_features: Incomplete
23
15
  _attr_name: Incomplete
24
- _acc: Incomplete
25
- _device_id: Incomplete
26
- _number: Incomplete
27
- _attr_device_info: Incomplete
28
16
  _attr_unique_id: Incomplete
29
- def __init__(self, acc: AladdinConnectClient, device: GarageDoor, entry: ConfigEntry) -> None: ...
17
+ def __init__(self, coordinator: AladdinConnectCoordinator, device: GarageDoor) -> None: ...
30
18
  async def async_open_cover(self, **kwargs: Any) -> None: ...
31
19
  async def async_close_cover(self, **kwargs: Any) -> None: ...
32
- async def async_update(self) -> None: ...
33
20
  @property
34
21
  def is_closed(self) -> bool | None: ...
35
22
  @property
@@ -0,0 +1,12 @@
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: ...
@@ -1,34 +1,27 @@
1
- from . import api as api
2
- from .const import DOMAIN as DOMAIN
3
- from .model import GarageDoor as GarageDoor
1
+ from . import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
2
+ from .entity import AladdinConnectEntity as AladdinConnectEntity
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from genie_partner_sdk.client import AladdinConnectClient
7
+ from genie_partner_sdk.model import GarageDoor as GarageDoor
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.const import PERCENTAGE as PERCENTAGE
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
12
 
15
13
  @dataclass(frozen=True, kw_only=True)
16
14
  class AccSensorEntityDescription(SensorEntityDescription):
17
- value_fn: Callable
15
+ value_fn: Callable[[AladdinConnectClient, str, int], float | None]
18
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
19
17
 
20
18
  SENSORS: tuple[AccSensorEntityDescription, ...]
21
19
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
21
 
24
- class AladdinConnectSensor(SensorEntity):
22
+ class AladdinConnectSensor(AladdinConnectEntity, SensorEntity):
25
23
  entity_description: AccSensorEntityDescription
26
- _attr_has_entity_name: bool
27
- _device_id: Incomplete
28
- _number: Incomplete
29
- _acc: Incomplete
30
24
  _attr_unique_id: Incomplete
31
- _attr_device_info: Incomplete
32
- def __init__(self, acc: AladdinConnectClient, device: GarageDoor, description: AccSensorEntityDescription) -> None: ...
25
+ def __init__(self, coordinator: AladdinConnectCoordinator, device: GarageDoor, description: AccSensorEntityDescription) -> None: ...
33
26
  @property
34
27
  def native_value(self) -> float | None: ...
@@ -1,29 +1,23 @@
1
1
  from . import BMWBaseEntity as BMWBaseEntity
2
- from .const import CLIMATE_ACTIVITY_STATE as CLIMATE_ACTIVITY_STATE, DOMAIN as DOMAIN, UNIT_MAP as UNIT_MAP
2
+ from .const import CLIMATE_ACTIVITY_STATE as CLIMATE_ACTIVITY_STATE, DOMAIN as DOMAIN
3
3
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
- from bimmer_connected.models import ValueWithUnit as ValueWithUnit
6
5
  from bimmer_connected.vehicle import MyBMWVehicle as MyBMWVehicle
7
6
  from collections.abc import Callable as Callable
8
7
  from dataclasses import dataclass
9
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
10
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
- from homeassistant.const import LENGTH as LENGTH, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, VOLUME as VOLUME
10
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfLength as UnitOfLength, UnitOfVolume as UnitOfVolume
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
- from homeassistant.helpers.typing import StateType as StateType
15
13
 
16
14
  _LOGGER: Incomplete
17
15
 
18
16
  @dataclass(frozen=True)
19
17
  class BMWSensorEntityDescription(SensorEntityDescription):
20
18
  key_class: str | None = ...
21
- unit_type: str | None = ...
22
- value: Callable = ...
23
19
  is_available: Callable[[MyBMWVehicle], bool] = ...
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: ...
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: ...
27
21
 
28
22
  SENSOR_TYPES: list[BMWSensorEntityDescription]
29
23
 
@@ -32,7 +26,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
32
26
  class BMWSensor(BMWBaseEntity, SensorEntity):
33
27
  entity_description: BMWSensorEntityDescription
34
28
  _attr_unique_id: Incomplete
35
- _attr_native_unit_of_measurement: Incomplete
36
29
  def __init__(self, coordinator: BMWDataUpdateCoordinator, vehicle: MyBMWVehicle, description: BMWSensorEntityDescription) -> None: ...
37
30
  _attr_native_value: Incomplete
38
31
  def _handle_coordinator_update(self) -> None: ...
@@ -76,7 +76,6 @@ 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
80
79
  CONF_TLS_INSECURE: str
81
80
  CONF_IDENTIFIERS: str
82
81
  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_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
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
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, ReceivePayloadType as ReceivePayloadType
13
+ from homeassistant.helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
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,7 +28,6 @@ MQTT_DISCOVERY_DONE: SignalTypeFormat[Any]
28
28
  TOPIC_BASE: str
29
29
 
30
30
  class MQTTDiscoveryPayload(dict[str, Any]):
31
- device_discovery: bool
32
31
  discovery_data: DiscoveryInfoType
33
32
 
34
33
  def clear_discovery_hash(hass: HomeAssistant, discovery_hash: tuple[str, str]) -> None: ...
@@ -37,9 +36,6 @@ def async_log_discovery_origin_info(message: str, discovery_payload: MQTTDiscove
37
36
  def _replace_abbreviations(payload: Any | dict[str, Any], abbreviations: dict[str, str], abbreviations_set: set[str]) -> None: ...
38
37
  def _replace_all_abbreviations(discovery_payload: Any | dict[str, Any]) -> None: ...
39
38
  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]: ...
42
39
  def _valid_origin_info(discovery_payload: MQTTDiscoveryPayload) -> bool: ...
43
- def _merge_common_options(component_config: MQTTDiscoveryPayload, device_config: dict[str, Any]) -> None: ...
44
40
  async def async_start(hass: HomeAssistant, discovery_topic: str, config_entry: ConfigEntry) -> None: ...
45
41
  async def async_stop(hass: HomeAssistant) -> None: ...
@@ -92,7 +92,6 @@ 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
96
95
  _remove_discovery_updated: Incomplete
97
96
  _remove_device_updated: Incomplete
98
97
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType, device_id: str | None, config_entry: ConfigEntry, log_name: str) -> None: ...
@@ -111,7 +110,6 @@ class MqttDiscoveryUpdateMixin(Entity):
111
110
  _remove_discovery_updated: Incomplete
112
111
  _removed_from_hass: bool
113
112
  _registry_hooks: Incomplete
114
- _migrate_discovery: Incomplete
115
113
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType | None, discovery_update: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]] | None = None) -> None: ...
116
114
  async def async_added_to_hass(self) -> None: ...
117
115
  async def _async_remove_state_and_registry_entry(self) -> None: ...
@@ -130,13 +130,5 @@ 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
-
141
133
  DATA_MQTT: HassKey[MqttData]
142
134
  DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]]
@@ -1,13 +1,10 @@
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
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
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_PLATFORM as CONF_PLATFORM, 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_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
11
8
  MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
12
9
  MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
13
10
  MQTT_AVAILABILITY_SCHEMA: Incomplete
@@ -15,6 +12,5 @@ MQTT_AVAILABILITY_SCHEMA: Incomplete
15
12
  def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType: ...
16
13
 
17
14
  MQTT_ENTITY_DEVICE_INFO_SCHEMA: Incomplete
15
+ MQTT_ORIGIN_INFO_SCHEMA: Incomplete
18
16
  MQTT_ENTITY_COMMON_SCHEMA: Incomplete
19
- COMPONENT_CONFIG_SCHEMA: Incomplete
20
- DEVICE_DISCOVERY_SCHEMA: Incomplete
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: homeassistant-stubs
3
- Version: 2024.6.0b6
3
+ Version: 2024.6.0b7
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.0b6)
19
+ Requires-Dist: homeassistant (==2024.6.0b7)
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
@@ -153,14 +153,15 @@ 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=N_UoELPZ55G3yBh_2sIjyTjFalUo3RDZaP-51Wg5xhU,731
157
- homeassistant-stubs/components/aladdin_connect/api.pyi,sha256=OEhAoLC-evO9ZaXnyvGPvRPik6ka44SVSpi7Qt62Sdw,477
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
158
  homeassistant-stubs/components/aladdin_connect/application_credentials.pyi,sha256=gC5LevrYVBmGRf6YJuwIR4rPyphIk0ro8IvjoPQVjiI,343
159
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi,sha256=Ud5X4N5aSQJvBV--T1gMapYYohQ1hReQVHGBd-ewhmk,983
160
- homeassistant-stubs/components/aladdin_connect/const.pyi,sha256=RRwOUEEesfw2T610xDmZ6dqmw4VC7WqyMu3yowAcDYw,289
161
- homeassistant-stubs/components/aladdin_connect/cover.pyi,sha256=g3FSmGYSyshEzmukagghsdUV2pg0pC2t9KXFlJe-GN8,1785
162
- homeassistant-stubs/components/aladdin_connect/model.pyi,sha256=31QuXPg5td63_zPh6PS9nR5M8VSVbQxNFmTKOt3GYL4,469
163
- homeassistant-stubs/components/aladdin_connect/sensor.pyi,sha256=W_94kmYj2dmv7v-VezkOi8DxomdvA_oRGj6sq6rqTkY,1961
159
+ homeassistant-stubs/components/aladdin_connect/config_flow.pyi,sha256=tY3Lyfo-J44pKOBKrwk-Xc_6dhpqkZNbsZaNilZq9YA,869
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
164
165
  homeassistant-stubs/components/alarm_control_panel/__init__.pyi,sha256=-2EqOmww8DO9UwhG_BYc3_aPI1fPYAxksb4Q1TKBfXU,5762
165
166
  homeassistant-stubs/components/alarm_control_panel/const.pyi,sha256=qQ67ccTCIwoc1Q2MO7e1Fk6E7oSXyo4Ch3cDhYsXchM,1420
166
167
  homeassistant-stubs/components/alarm_control_panel/device_action.pyi,sha256=MBMRM5J6rpIKfySyJtvzcsA8jt8glz60oPpZqk0eCNY,1695
@@ -450,7 +451,7 @@ homeassistant-stubs/components/bmw_connected_drive/lock.pyi,sha256=RnytOPdvcmPHL
450
451
  homeassistant-stubs/components/bmw_connected_drive/notify.pyi,sha256=aV-PUG-zX6IN9W2Zf_1HnWTY2DKsrouxCMP6xz4IIxY,1380
451
452
  homeassistant-stubs/components/bmw_connected_drive/number.pyi,sha256=hY-tWQcbxqrAiKDBMBAJ2WvwIC7Pv7Jxsjh6dp_54Vk,2250
452
453
  homeassistant-stubs/components/bmw_connected_drive/select.pyi,sha256=3Pw4_NnXx33JBCTsosOpeluotCCyOephl7hokfCY-Yc,2232
453
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi,sha256=t8Lq2oZjOiFZ9vx12Zjg3Idp2XFvkQLFh3zz2gmKL8k,2513
454
+ homeassistant-stubs/components/bmw_connected_drive/sensor.pyi,sha256=kr4M0vZKTo6hKWjABC__n2luNRBJ-yuKqkR2qfVscJY,2160
454
455
  homeassistant-stubs/components/bmw_connected_drive/switch.pyi,sha256=cxpn9F9d4vXqhjIMGaezTy_q_pRHGKCvlm_SR0blvUY,2217
455
456
  homeassistant-stubs/components/bond/__init__.pyi,sha256=rRk7ssgbEibPSe2axh8NoRU8IvUVEl-sFpB3Ku_D8p8,1365
456
457
  homeassistant-stubs/components/bond/button.pyi,sha256=wvuPSZAA_47XBIqjIsJi4jq-340aN7y1T6J9iUcbozQ,1590
@@ -1815,14 +1816,14 @@ homeassistant-stubs/components/mqtt/climate.pyi,sha256=jn95RtxFmuwLH1pL4tQODIxS7
1815
1816
  homeassistant-stubs/components/mqtt/config.pyi,sha256=ZzcogEgaXfMFwZIYMPiIpTSMnuMKx6Xsvv30vbB8iXw,721
1816
1817
  homeassistant-stubs/components/mqtt/config_flow.pyi,sha256=Ba0IozITsckpJY_1gezkqo3hfyILbkmI9CGiOb5X-y0,5365
1817
1818
  homeassistant-stubs/components/mqtt/config_integration.pyi,sha256=WpU7MEABRRI1PUguDOcOJXSsNEacS63lAHfyzoYQdzg,801
1818
- homeassistant-stubs/components/mqtt/const.pyi,sha256=AvJU6h6uzAMgcrub2kHH32v11ny8-Bdh1m1I_thGLrA,3189
1819
+ homeassistant-stubs/components/mqtt/const.pyi,sha256=s16Tjn6K0PGsKG0iF-ACPUOmFlJRZG1mS_MZfrdcLTs,3168
1819
1820
  homeassistant-stubs/components/mqtt/cover.pyi,sha256=l0CHcGyzIUEKvKMNELH3xPcyx_joY6Ft7O1hKnoujZM,5632
1820
1821
  homeassistant-stubs/components/mqtt/debug_info.pyi,sha256=_ngVIhsdie21moMJIi0vMiw__xVMt_qt57DdycoloNY,2005
1821
1822
  homeassistant-stubs/components/mqtt/device_automation.pyi,sha256=8U4vQWqUMFkW2YYzZhKrEg5eRITCaxAgiVwRKTmXBDM,944
1822
1823
  homeassistant-stubs/components/mqtt/device_tracker.pyi,sha256=B-of9WpKwPOr-2hfO1MrMChgA0TKgYewqFuzDU_2j0c,2852
1823
1824
  homeassistant-stubs/components/mqtt/device_trigger.pyi,sha256=vS6XdAzc7jTuUGdrralGhaUxsx7zWpcssszu1E2jyWw,3936
1824
1825
  homeassistant-stubs/components/mqtt/diagnostics.pyi,sha256=2xPxdKohpvTYLQ3ya9G6eKjAlZ-KkEWVcPIZkggAs88,1270
1825
- homeassistant-stubs/components/mqtt/discovery.pyi,sha256=VaCeIxkuVrb0vkvsbML-ps8B7DvaG7qNJ08o_qmpe74,3569
1826
+ homeassistant-stubs/components/mqtt/discovery.pyi,sha256=zfeVBv2DgqQAvHKnwS8D_E03SGU16yfeiXKhSJAO6bQ,2971
1826
1827
  homeassistant-stubs/components/mqtt/event.pyi,sha256=-L2BOrhbELspMmRMx3XPe2u5OZ6nRYESMHOV6000v-o,2563
1827
1828
  homeassistant-stubs/components/mqtt/fan.pyi,sha256=m5dyJN744rtcsWuJmF2YBqAv2pFhEwR9LjKSFkCjtZs,5555
1828
1829
  homeassistant-stubs/components/mqtt/humidifier.pyi,sha256=dWeQ6Z3RvnMB0uV4xt4E5DEQvE8K62Sr_mUCLetXzno,4978
@@ -1834,12 +1835,12 @@ homeassistant-stubs/components/mqtt/light/schema_basic.pyi,sha256=_XSc-R76AAly2D
1834
1835
  homeassistant-stubs/components/mqtt/light/schema_json.pyi,sha256=le1ntQKvfvmGUBTQDjrD1vw73-mV9J3aHM7CRRqJNeY,4984
1835
1836
  homeassistant-stubs/components/mqtt/light/schema_template.pyi,sha256=3R2viT3X3zQ205VMM28OzIRb6PvMK08LiU3YNxn-2HU,3545
1836
1837
  homeassistant-stubs/components/mqtt/lock.pyi,sha256=gCV6Q-UfRtTtJg3X16htAhbFOO8GZfpy02Vv3lygvnc,3596
1837
- homeassistant-stubs/components/mqtt/mixins.pyi,sha256=bMY-YcFMDuBB0uZlr9F3liSP11OxN0cyVWd-ydaaBRw,13610
1838
- homeassistant-stubs/components/mqtt/models.pyi,sha256=U5hUV8JSRiFjlcdVGWNKskCdx-2hEjFm1Y88ak4J8fM,6272
1838
+ homeassistant-stubs/components/mqtt/mixins.pyi,sha256=XiruSxgSwawtTx7gmUAKl15RMkKdajgMyirWai0K7F0,13540
1839
+ homeassistant-stubs/components/mqtt/models.pyi,sha256=KV7kY9EhFrWYrRY5iMpqgzZF4U-3Eb6sz-KD_1vHTFA,6029
1839
1840
  homeassistant-stubs/components/mqtt/notify.pyi,sha256=gHJYA4TgHbJZt3TVIZ-7mfdd3IKys-6dKLQcHMbSsaY,1774
1840
1841
  homeassistant-stubs/components/mqtt/number.pyi,sha256=LTQmdZkdV-DcisJx63udodCxmVJ4sZcYqzHPXNWFR9I,3141
1841
1842
  homeassistant-stubs/components/mqtt/scene.pyi,sha256=-MJ7K1ILn8WJey50udZhxsx99BA_k51fVQJ5UlnF6O8,1650
1842
- homeassistant-stubs/components/mqtt/schemas.pyi,sha256=iFHF6tLs0T0Gz7Gr2SWr2E9HnOCBPCkTQ_2iWbPcMZc,2517
1843
+ homeassistant-stubs/components/mqtt/schemas.pyi,sha256=9hGqp2bPNDhUygIZILd8BfVgL51nbB7AGcbLLRiaTyk,2068
1843
1844
  homeassistant-stubs/components/mqtt/select.pyi,sha256=EgKNDTUQJYMGStd8N7ccdiiZgHw19MkFPQe0_YgnTuE,2530
1844
1845
  homeassistant-stubs/components/mqtt/sensor.pyi,sha256=YHh9m6Gue_dx1z7ztXpCsJ2aZPJ0Xsmz6B5ZAIh2210,3867
1845
1846
  homeassistant-stubs/components/mqtt/siren.pyi,sha256=eJirE6fbflMgciOt9fScr6KOsKBy1lapqTFFA9p-Xu4,4018
@@ -3397,7 +3398,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3397
3398
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3398
3399
  homeassistant-stubs/util/yaml/loader.pyi,sha256=RTT2312P0TB9bA-rj3xdQK_J6sqVQE4LBJozgLH3oao,4621
3399
3400
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3400
- homeassistant_stubs-2024.6.0b6.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3401
- homeassistant_stubs-2024.6.0b6.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3402
- homeassistant_stubs-2024.6.0b6.dist-info/METADATA,sha256=2zlozuivs1l924ywBdzPe71CqvfohThUgA4Hedn8bCU,3015
3403
- homeassistant_stubs-2024.6.0b6.dist-info/RECORD,,
3401
+ homeassistant_stubs-2024.6.0b7.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3402
+ homeassistant_stubs-2024.6.0b7.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3403
+ homeassistant_stubs-2024.6.0b7.dist-info/METADATA,sha256=OEkMiuH6Xy6HOxyhUQkt_Cg_eWyeqRXlUGmMC2NYtAY,3015
3404
+ homeassistant_stubs-2024.6.0b7.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- from _typeshed import Incomplete
2
- from typing import TypedDict
3
-
4
- class GarageDoorData(TypedDict):
5
- device_id: str
6
- door_number: int
7
- name: str
8
- status: str
9
- link_status: str
10
- battery_level: int
11
-
12
- class GarageDoor:
13
- device_id: Incomplete
14
- door_number: Incomplete
15
- unique_id: Incomplete
16
- name: Incomplete
17
- status: Incomplete
18
- link_status: Incomplete
19
- battery_level: Incomplete
20
- def __init__(self, data: GarageDoorData) -> None: ...