homeassistant-stubs 2024.8.0b2__py3-none-any.whl → 2024.8.0b4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. homeassistant-stubs/components/esphome/update.pyi +1 -0
  2. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  3. homeassistant-stubs/components/knx/button.pyi +2 -2
  4. homeassistant-stubs/components/knx/climate.pyi +2 -2
  5. homeassistant-stubs/components/knx/cover.pyi +2 -2
  6. homeassistant-stubs/components/knx/date.pyi +2 -2
  7. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  8. homeassistant-stubs/components/knx/fan.pyi +2 -2
  9. homeassistant-stubs/components/knx/knx_entity.pyi +24 -9
  10. homeassistant-stubs/components/knx/light.pyi +6 -5
  11. homeassistant-stubs/components/knx/notify.pyi +2 -2
  12. homeassistant-stubs/components/knx/number.pyi +2 -2
  13. homeassistant-stubs/components/knx/scene.pyi +2 -2
  14. homeassistant-stubs/components/knx/select.pyi +2 -2
  15. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  16. homeassistant-stubs/components/knx/storage/config_store.pyi +10 -5
  17. homeassistant-stubs/components/knx/switch.pyi +6 -5
  18. homeassistant-stubs/components/knx/text.pyi +2 -2
  19. homeassistant-stubs/components/knx/time.pyi +2 -2
  20. homeassistant-stubs/components/knx/weather.pyi +2 -2
  21. homeassistant-stubs/components/tag/__init__.pyi +0 -1
  22. {homeassistant_stubs-2024.8.0b2.dist-info → homeassistant_stubs-2024.8.0b4.dist-info}/METADATA +2 -2
  23. {homeassistant_stubs-2024.8.0b2.dist-info → homeassistant_stubs-2024.8.0b4.dist-info}/RECORD +25 -25
  24. {homeassistant_stubs-2024.8.0b2.dist-info → homeassistant_stubs-2024.8.0b4.dist-info}/LICENSE +0 -0
  25. {homeassistant_stubs-2024.8.0b2.dist-info → homeassistant_stubs-2024.8.0b4.dist-info}/WHEEL +0 -0
@@ -60,4 +60,5 @@ class ESPHomeUpdateEntity(EsphomeEntity[UpdateInfo, UpdateState], UpdateEntity):
60
60
  def release_url(self) -> str | None: ...
61
61
  @property
62
62
  def title(self) -> str | None: ...
63
+ async def async_update(self) -> None: ...
63
64
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import ATTR_COUNTER as ATTR_COUNTER, ATTR_SOURCE as ATTR_SOURCE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import BinarySensorSchema as BinarySensorSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -15,7 +15,7 @@ from xknx.devices import BinarySensor as XknxBinarySensor
15
15
 
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
 
18
- class KNXBinarySensor(KnxEntity, BinarySensorEntity, RestoreEntity):
18
+ class KNXBinarySensor(KnxYamlEntity, BinarySensorEntity, RestoreEntity):
19
19
  _device: XknxBinarySensor
20
20
  _attr_entity_category: Incomplete
21
21
  _attr_device_class: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components.button import ButtonEntity as ButtonEntity
@@ -12,7 +12,7 @@ from xknx.devices import RawValue as XknxRawValue
12
12
 
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
- class KNXButton(KnxEntity, ButtonEntity):
15
+ class KNXButton(KnxYamlEntity, ButtonEntity):
16
16
  _device: XknxRawValue
17
17
  _payload: Incomplete
18
18
  _attr_entity_category: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONTROLLER_MODES as CONTROLLER_MODES, CURRENT_HVAC_ACTIONS as CURRENT_HVAC_ACTIONS, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, PRESET_MODES as PRESET_MODES
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import ClimateSchema as ClimateSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -20,7 +20,7 @@ PRESET_MODES_INV: Incomplete
20
20
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
21
  def _create_climate(xknx: XKNX, config: ConfigType) -> XknxClimate: ...
22
22
 
23
- class KNXClimate(KnxEntity, ClimateEntity):
23
+ class KNXClimate(KnxYamlEntity, ClimateEntity):
24
24
  _device: XknxClimate
25
25
  _attr_temperature_unit: Incomplete
26
26
  _enable_turn_on_off_backwards_compatibility: bool
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import CoverSchema as CoverSchema
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
@@ -15,7 +15,7 @@ from xknx.devices import Cover as XknxCover
15
15
 
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
 
18
- class KNXCover(KnxEntity, CoverEntity):
18
+ class KNXCover(KnxYamlEntity, CoverEntity):
19
19
  _device: XknxCover
20
20
  _unsubscribe_auto_updater: Incomplete
21
21
  _attr_entity_category: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from datetime import date as dt_date
6
6
  from homeassistant import config_entries as config_entries
@@ -16,7 +16,7 @@ from xknx.devices import DateDevice as XknxDateDevice
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxDateDevice: ...
18
18
 
19
- class KNXDateEntity(KnxEntity, DateEntity, RestoreEntity):
19
+ class KNXDateEntity(KnxYamlEntity, DateEntity, RestoreEntity):
20
20
  _device: XknxDateDevice
21
21
  _attr_entity_category: Incomplete
22
22
  _attr_unique_id: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime
6
6
  from homeassistant import config_entries as config_entries
@@ -16,7 +16,7 @@ from xknx.devices import DateTimeDevice as XknxDateTimeDevice
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxDateTimeDevice: ...
18
18
 
19
- class KNXDateTimeEntity(KnxEntity, DateTimeEntity, RestoreEntity):
19
+ class KNXDateTimeEntity(KnxYamlEntity, DateTimeEntity, RestoreEntity):
20
20
  _device: XknxDateTimeDevice
21
21
  _attr_entity_category: Incomplete
22
22
  _attr_unique_id: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import FanSchema as FanSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -18,7 +18,7 @@ DEFAULT_PERCENTAGE: Final[int]
18
18
 
19
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
20
 
21
- class KNXFan(KnxEntity, FanEntity):
21
+ class KNXFan(KnxYamlEntity, FanEntity):
22
22
  _device: XknxFan
23
23
  _enable_turn_on_off_backwards_compatibility: bool
24
24
  _step_range: Incomplete
@@ -1,17 +1,26 @@
1
+ import abc
1
2
  from . import KNXModule as KNXModule
2
- from .const import DOMAIN as DOMAIN
3
+ from .storage.config_store import PlatformControllerBase as PlatformControllerBase
3
4
  from _typeshed import Incomplete
4
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
5
+ from abc import ABC, abstractmethod
5
6
  from homeassistant.helpers.entity import Entity as Entity
7
+ from homeassistant.helpers.entity_platform import EntityPlatform as EntityPlatform
8
+ from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
9
+ from typing import Any
6
10
  from xknx.devices import Device as XknxDevice
7
11
 
8
- SIGNAL_ENTITY_REMOVE: Incomplete
12
+ class KnxUiEntityPlatformController(PlatformControllerBase):
13
+ _knx_module: Incomplete
14
+ _entity_platform: Incomplete
15
+ _entity_class: Incomplete
16
+ def __init__(self, knx_module: KNXModule, entity_platform: EntityPlatform, entity_class: type[KnxUiEntity]) -> None: ...
17
+ async def create_entity(self, unique_id: str, config: dict[str, Any]) -> None: ...
18
+ async def update_entity(self, entity_entry: RegistryEntry, config: dict[str, Any]) -> None: ...
9
19
 
10
- class KnxEntity(Entity):
20
+ class _KnxEntityBase(Entity):
11
21
  _attr_should_poll: bool
12
- _knx_module: Incomplete
13
- _device: Incomplete
14
- def __init__(self, knx_module: KNXModule, device: XknxDevice) -> None: ...
22
+ _knx_module: KNXModule
23
+ _device: XknxDevice
15
24
  @property
16
25
  def name(self) -> str: ...
17
26
  @property
@@ -21,6 +30,12 @@ class KnxEntity(Entity):
21
30
  async def async_added_to_hass(self) -> None: ...
22
31
  async def async_will_remove_from_hass(self) -> None: ...
23
32
 
24
- class KnxUIEntity(KnxEntity):
33
+ class KnxYamlEntity(_KnxEntityBase):
34
+ _knx_module: Incomplete
35
+ _device: Incomplete
36
+ def __init__(self, knx_module: KNXModule, device: XknxDevice) -> None: ...
37
+
38
+ class KnxUiEntity(_KnxEntityBase, ABC, metaclass=abc.ABCMeta):
25
39
  _attr_unique_id: str
26
- async def async_added_to_hass(self) -> None: ...
40
+ @abstractmethod
41
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]): ...
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity, KnxUIEntity as KnxUIEntity
3
+ from .knx_entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import LightSchema as LightSchema
5
5
  from .storage.const import CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_DPT as CONF_DPT, CONF_ENTITY as CONF_ENTITY, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH, CONF_GA_WRITE as CONF_GA_WRITE
6
6
  from .storage.entity_store_schema import LightColorMode as LightColorMode
@@ -8,9 +8,9 @@ from _typeshed import Incomplete
8
8
  from homeassistant import config_entries as config_entries
9
9
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
10
10
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform
11
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from typing import Any
16
16
  from xknx import XKNX as XKNX
@@ -45,7 +45,7 @@ class _KnxLight(LightEntity):
45
45
  async def async_turn_on(self, **kwargs: Any) -> None: ...
46
46
  async def async_turn_off(self, **kwargs: Any) -> None: ...
47
47
 
48
- class KnxYamlLight(_KnxLight, KnxEntity):
48
+ class KnxYamlLight(_KnxLight, KnxYamlEntity):
49
49
  _device: XknxLight
50
50
  _attr_max_color_temp_kelvin: Incomplete
51
51
  _attr_min_color_temp_kelvin: Incomplete
@@ -54,9 +54,10 @@ class KnxYamlLight(_KnxLight, KnxEntity):
54
54
  def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
55
55
  def _device_unique_id(self) -> str: ...
56
56
 
57
- class KnxUiLight(_KnxLight, KnxUIEntity):
57
+ class KnxUiLight(_KnxLight, KnxUiEntity):
58
58
  _attr_has_entity_name: bool
59
59
  _device: XknxLight
60
+ _knx_module: Incomplete
60
61
  _attr_max_color_temp_kelvin: Incomplete
61
62
  _attr_min_color_temp_kelvin: Incomplete
62
63
  _attr_entity_category: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components.notify import BaseNotificationService as BaseNotificationService, NotifyEntity as NotifyEntity, migrate_notify_issue as migrate_notify_issue
@@ -26,7 +26,7 @@ class KNXNotificationService(BaseNotificationService):
26
26
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
27
  def _create_notification_instance(xknx: XKNX, config: ConfigType) -> XknxNotification: ...
28
28
 
29
- class KNXNotify(KnxEntity, NotifyEntity):
29
+ class KNXNotify(KnxYamlEntity, NotifyEntity):
30
30
  _device: XknxNotification
31
31
  _attr_entity_category: Incomplete
32
32
  _attr_unique_id: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import NumberSchema as NumberSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -15,7 +15,7 @@ from xknx.devices import NumericValue
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
  def _create_numeric_value(xknx: XKNX, config: ConfigType) -> NumericValue: ...
17
17
 
18
- class KNXNumber(KnxEntity, RestoreNumber):
18
+ class KNXNumber(KnxYamlEntity, RestoreNumber):
19
19
  _device: NumericValue
20
20
  _attr_native_max_value: Incomplete
21
21
  _attr_native_min_value: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import SceneSchema as SceneSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -14,7 +14,7 @@ from xknx.devices import Scene as XknxScene
14
14
 
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
 
17
- class KNXScene(KnxEntity, Scene):
17
+ class KNXScene(KnxYamlEntity, Scene):
18
18
  _device: XknxScene
19
19
  _attr_entity_category: Incomplete
20
20
  _attr_unique_id: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import SelectSchema as SelectSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -16,7 +16,7 @@ from xknx.devices import Device as XknxDevice, RawValue
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
  def _create_raw_value(xknx: XKNX, config: ConfigType) -> RawValue: ...
18
18
 
19
- class KNXSelect(KnxEntity, SelectEntity, RestoreEntity):
19
+ class KNXSelect(KnxYamlEntity, SelectEntity, RestoreEntity):
20
20
  _device: RawValue
21
21
  _option_payloads: Incomplete
22
22
  _attr_options: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import ATTR_SOURCE as ATTR_SOURCE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import SensorSchema as SensorSchema
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
@@ -34,7 +34,7 @@ SYSTEM_ENTITY_DESCRIPTIONS: Incomplete
34
34
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
35
35
  def _create_sensor(xknx: XKNX, config: ConfigType) -> XknxSensor: ...
36
36
 
37
- class KNXSensor(KnxEntity, SensorEntity):
37
+ class KNXSensor(KnxYamlEntity, SensorEntity):
38
38
  _device: XknxSensor
39
39
  _attr_device_class: Incomplete
40
40
  _attr_force_update: Incomplete
@@ -1,13 +1,12 @@
1
+ import abc
1
2
  from ..const import DOMAIN as DOMAIN
2
- from ..knx_entity import SIGNAL_ENTITY_REMOVE as SIGNAL_ENTITY_REMOVE
3
3
  from .const import CONF_DATA as CONF_DATA
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Callable as Callable
5
+ from abc import ABC, abstractmethod
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers import entity_registry as er
10
- from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
11
10
  from homeassistant.helpers.storage import Store as Store
12
11
  from homeassistant.util.ulid import ulid_now as ulid_now
13
12
  from typing import Any, Final, TypedDict
@@ -21,15 +20,21 @@ KNXEntityStoreModel = dict[str, KNXPlatformStoreModel]
21
20
  class KNXConfigStoreModel(TypedDict):
22
21
  entities: KNXEntityStoreModel
23
22
 
23
+ class PlatformControllerBase(ABC, metaclass=abc.ABCMeta):
24
+ @abstractmethod
25
+ async def create_entity(self, unique_id: str, config: dict[str, Any]) -> None: ...
26
+ @abstractmethod
27
+ async def update_entity(self, entity_entry: er.RegistryEntry, config: dict[str, Any]) -> None: ...
28
+
24
29
  class KNXConfigStore:
25
30
  hass: Incomplete
26
31
  config_entry: Incomplete
27
32
  _store: Incomplete
28
33
  data: Incomplete
29
- entities: Incomplete
30
- async_add_entity: Incomplete
34
+ _platform_controllers: Incomplete
31
35
  def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
32
36
  async def load_data(self) -> None: ...
37
+ def add_platform(self, platform: Platform, controller: PlatformControllerBase) -> None: ...
33
38
  async def create_entity(self, platform: Platform, data: dict[str, Any]) -> str | None: ...
34
39
  def get_entity_config(self, entity_id: str) -> dict[str, Any]: ...
35
40
  async def update_entity(self, platform: Platform, entity_id: str, data: dict[str, Any]) -> None: ...
@@ -1,15 +1,15 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_INVERT as CONF_INVERT, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_SYNC_STATE as CONF_SYNC_STATE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity, KnxUIEntity as KnxUIEntity
3
+ from .knx_entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import SwitchSchema as SwitchSchema
5
5
  from .storage.const import CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_ENTITY as CONF_ENTITY, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_WRITE as CONF_GA_WRITE
6
6
  from _typeshed import Incomplete
7
7
  from homeassistant import config_entries as config_entries
8
8
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
9
9
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
10
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
13
13
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from typing import Any
@@ -25,16 +25,17 @@ class _KnxSwitch(SwitchEntity, RestoreEntity):
25
25
  async def async_turn_on(self, **kwargs: Any) -> None: ...
26
26
  async def async_turn_off(self, **kwargs: Any) -> None: ...
27
27
 
28
- class KnxYamlSwitch(_KnxSwitch, KnxEntity):
28
+ class KnxYamlSwitch(_KnxSwitch, KnxYamlEntity):
29
29
  _device: XknxSwitch
30
30
  _attr_entity_category: Incomplete
31
31
  _attr_device_class: Incomplete
32
32
  _attr_unique_id: Incomplete
33
33
  def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
34
34
 
35
- class KnxUiSwitch(_KnxSwitch, KnxUIEntity):
35
+ class KnxUiSwitch(_KnxSwitch, KnxUiEntity):
36
36
  _attr_has_entity_name: bool
37
37
  _device: XknxSwitch
38
+ _knx_module: Incomplete
38
39
  _attr_entity_category: Incomplete
39
40
  _attr_unique_id: Incomplete
40
41
  _attr_device_info: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components.text import TextEntity as TextEntity
@@ -15,7 +15,7 @@ from xknx.devices import Notification as XknxNotification
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
  def _create_notification(xknx: XKNX, config: ConfigType) -> XknxNotification: ...
17
17
 
18
- class KNXText(KnxEntity, TextEntity, RestoreEntity):
18
+ class KNXText(KnxYamlEntity, TextEntity, RestoreEntity):
19
19
  _device: XknxNotification
20
20
  _attr_native_max: int
21
21
  _attr_mode: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from _typeshed import Incomplete
5
5
  from datetime import time as dt_time
6
6
  from homeassistant import config_entries as config_entries
@@ -16,7 +16,7 @@ from xknx.devices import TimeDevice as XknxTimeDevice
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxTimeDevice: ...
18
18
 
19
- class KNXTimeEntity(KnxEntity, TimeEntity, RestoreEntity):
19
+ class KNXTimeEntity(KnxYamlEntity, TimeEntity, RestoreEntity):
20
20
  _device: XknxTimeDevice
21
21
  _attr_entity_category: Incomplete
22
22
  _attr_unique_id: Incomplete
@@ -1,6 +1,6 @@
1
1
  from . import KNXModule as KNXModule
2
2
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxEntity as KnxEntity
3
+ from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import WeatherSchema as WeatherSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
@@ -15,7 +15,7 @@ from xknx.devices import Weather as XknxWeather
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
  def _create_weather(xknx: XKNX, config: ConfigType) -> XknxWeather: ...
17
17
 
18
- class KNXWeather(KnxEntity, WeatherEntity):
18
+ class KNXWeather(KnxYamlEntity, WeatherEntity):
19
19
  _device: XknxWeather
20
20
  _attr_native_pressure_unit: Incomplete
21
21
  _attr_native_temperature_unit: Incomplete
@@ -57,7 +57,6 @@ async def async_scan_tag(hass: HomeAssistant, tag_id: str, device_id: str | None
57
57
 
58
58
  class TagEntity(Entity):
59
59
  _unrecorded_attributes: Incomplete
60
- _attr_translation_key = DOMAIN
61
60
  _attr_should_poll: bool
62
61
  _entity_update_handlers: Incomplete
63
62
  _attr_name: Incomplete
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: homeassistant-stubs
3
- Version: 2024.8.0b2
3
+ Version: 2024.8.0b4
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.8.0b2)
19
+ Requires-Dist: homeassistant (==2024.8.0b4)
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
@@ -956,7 +956,7 @@ homeassistant-stubs/components/esphome/sensor.pyi,sha256=2QeRoHVnJTCN3z16AtuzeF5
956
956
  homeassistant-stubs/components/esphome/switch.pyi,sha256=S07GasrfFp8vM4l0EulKRAmqrtgFLxT7mCfM5DVhTKQ,1015
957
957
  homeassistant-stubs/components/esphome/text.pyi,sha256=8gIzeCItqj-2XHqvZWUpOVVajpdfRGSKKeBbY4h3cjM,1032
958
958
  homeassistant-stubs/components/esphome/time.pyi,sha256=BcQ6KjXViXdiQN7F3YOL5Y4fRaDO4qiM95pCtbsGMcY,553
959
- homeassistant-stubs/components/esphome/update.pyi,sha256=10jjSn07maAchq4Dvg6e-v2QrEPeYRoADGOktR2Y5BY,3318
959
+ homeassistant-stubs/components/esphome/update.pyi,sha256=FBGgyKo-efJP5RTDafALbM5SaKnjISDhwxLfKUnBWnQ,3364
960
960
  homeassistant-stubs/components/esphome/valve.pyi,sha256=r7BEA77eFbPZHGX9GgYI9GKk64G-W9Hd7UdJm6hRiEg,1443
961
961
  homeassistant-stubs/components/esphome/voice_assistant.pyi,sha256=J6n37i0HYy93PkkasraRqDI7VQKxXFXtjhzHA7KMutc,3870
962
962
  homeassistant-stubs/components/event/__init__.pyi,sha256=M8lnxqLne_lMW8p6ghjo9hBzcjr2xut0g048iujPf_I,2724
@@ -1511,43 +1511,43 @@ homeassistant-stubs/components/knocki/const.pyi,sha256=ApJjYGIfxEHQ112a2tGXF7SyT
1511
1511
  homeassistant-stubs/components/knocki/coordinator.pyi,sha256=SKCcJ_dNiD8JLraJjT6U8mOqSuK3_Y0xxJsLXbVdThY,770
1512
1512
  homeassistant-stubs/components/knocki/event.pyi,sha256=R2ZSVS8T3esGkWS-eokY5h8cYOJLRG622YAXP9DqMJI,1166
1513
1513
  homeassistant-stubs/components/knx/__init__.pyi,sha256=aHye53j5CRYG5YTY6O6nS0q_UGkD_xHcLqVAi2uXvCk,5104
1514
- homeassistant-stubs/components/knx/binary_sensor.pyi,sha256=nKmJyF73RJ8EW0e-_uaUfHd7101IiYGCqT5KG_vmGSs,1743
1515
- homeassistant-stubs/components/knx/button.pyi,sha256=qq0W_pIluAaVnai2VMlco33v9qrE7KzT5-5BFyhVV6I,1251
1516
- homeassistant-stubs/components/knx/climate.pyi,sha256=3wfLJxJdKFQn9TQZnidZoFWl1PEaxxrNv6r68OBiC64,2958
1514
+ homeassistant-stubs/components/knx/binary_sensor.pyi,sha256=n72jV8XAhwklMlxVJ9CsoPMKak_VgG-OyQ4rr1h2ds8,1755
1515
+ homeassistant-stubs/components/knx/button.pyi,sha256=TSxWMnGrTg51Y-H60LFEucsPSA5_CNPWiYjZy9T4rGQ,1263
1516
+ homeassistant-stubs/components/knx/climate.pyi,sha256=BmJMkSUMB_f2yrGOCPxoKGy-UxyagPPezKoa9UMp_1k,2970
1517
1517
  homeassistant-stubs/components/knx/config_flow.pyi,sha256=9jQEjOqhkBoy7OmsDx4aIqHubKwpPdCIyjusl9Cs8XU,5367
1518
1518
  homeassistant-stubs/components/knx/const.pyi,sha256=y3uavAxO-5bnRkt4mKybMutxUX8VrvTcjo-jqDxbvQM,3117
1519
- homeassistant-stubs/components/knx/cover.pyi,sha256=H_3ogI5Ud8xhSK0m6Lqpt7p0ov9scrTroOs4VjVGPG0,2361
1520
- homeassistant-stubs/components/knx/date.pyi,sha256=roX4Nt7xl_QhnS4r1Rv4SpPBT_ooT-q4__fQdX19thY,1727
1521
- homeassistant-stubs/components/knx/datetime.pyi,sha256=l1rVu0U50TCWlBMS9GNhXGCvFXwRT--FbFvXWb6yw7k,1758
1519
+ homeassistant-stubs/components/knx/cover.pyi,sha256=KdGubm5x6AyfddY-0tzm6gUzATXX8GQXTFD7GZ-BW-k,2373
1520
+ homeassistant-stubs/components/knx/date.pyi,sha256=qSusVpaDGn3IDo-JLicPCAj_b031Nu9GPGs8yq5fMak,1739
1521
+ homeassistant-stubs/components/knx/datetime.pyi,sha256=i96wCSh3D3Ujb05l8VszvTyR7alDL-ldcHJfFB176Zw,1770
1522
1522
  homeassistant-stubs/components/knx/device.pyi,sha256=FSHa06BdZOS9SAbCI9cPJ41KJPvSNA8CU5xpXqhUwtk,820
1523
1523
  homeassistant-stubs/components/knx/device_trigger.pyi,sha256=epT2yKCIkiFdO44NppDbiNYPL11rHQvpUVoOQUqlXpc,1803
1524
1524
  homeassistant-stubs/components/knx/diagnostics.pyi,sha256=9_gpNHVyA6NtbhXBNqQsv8bpEVqWooyw19fNO_JGxqc,757
1525
1525
  homeassistant-stubs/components/knx/expose.pyi,sha256=Fp-VSMzckYu7JvBOHZ8VbacNj6KRgzW_oLbYLHoj9Kg,2071
1526
- homeassistant-stubs/components/knx/fan.pyi,sha256=MQuIyBAc0Yt4qqRSJmzO6FTpcZ8NKvE_DuE-09dwVKE,2110
1527
- homeassistant-stubs/components/knx/knx_entity.pyi,sha256=tuyqOFjkpm6tekLPnt_Xn4YTT6iK7mlrS2I7iea1ze8,962
1528
- homeassistant-stubs/components/knx/light.pyi,sha256=BLUEcRssVZdYEKZmrL5i-djkRbmGTgGEAyph7V6JRZ4,4151
1529
- homeassistant-stubs/components/knx/notify.pyi,sha256=cpZQcSMW9W4BYJWp5tGCUdcaxlazk_ksDsS9MS6lps0,2123
1530
- homeassistant-stubs/components/knx/number.pyi,sha256=J8ZWS_L4ljiluoD2ps7XTUBuTru2BDVwxzzZhRmJxN8,1830
1526
+ homeassistant-stubs/components/knx/fan.pyi,sha256=KxVs1T437o2hsmO_94EkcThFMywchvRdBUrg2p4So2c,2122
1527
+ homeassistant-stubs/components/knx/knx_entity.pyi,sha256=modviRWCfyGfiEJoUZGKZ4Pv52kd9-Hzf_rDYNEz0n8,1761
1528
+ homeassistant-stubs/components/knx/light.pyi,sha256=DBmt4rJFFNGq3bG1nCgMo1ToNs7PRUfGLPzl20FH8ac,4291
1529
+ homeassistant-stubs/components/knx/notify.pyi,sha256=FD66xW1mnX6dA93mXPb2owZNQO85e_lU94KvfehAdLk,2135
1530
+ homeassistant-stubs/components/knx/number.pyi,sha256=XHRBO5weBRhy7PZOtZLN9eN4Yb99ZkuAYQo_CYVGqh4,1842
1531
1531
  homeassistant-stubs/components/knx/project.pyi,sha256=-vxoEDsWZbdyj2agryGBg5FGyEtjtDNdSsuxF5pP5i0,1764
1532
- homeassistant-stubs/components/knx/scene.pyi,sha256=R80Gcbz2Si1_IGHfQ76bIkbF4tEH5xFd9VYpfoZyAP4,1208
1532
+ homeassistant-stubs/components/knx/scene.pyi,sha256=f9YYeH-D_Bga0CCkCzaQ2x6BQPX9HuH5nJekLgfv7wI,1220
1533
1533
  homeassistant-stubs/components/knx/schema.pyi,sha256=qJygNCJsOa-DyDHVqtCZjgZfxrKdqQDkED3MAM-6I7c,8640
1534
- homeassistant-stubs/components/knx/select.pyi,sha256=sJVUKbhrLCQA-u6PfarbaHFqi2__WBS4BPcrpnnm7gM,1985
1535
- homeassistant-stubs/components/knx/sensor.pyi,sha256=NM58sDJHtWUtFy6g-6kRA8CRPuYj5tfr40R2zXb_LKA,3541
1534
+ homeassistant-stubs/components/knx/select.pyi,sha256=o3NmCVfdd8R7iQ7tq3zsbvvd75YASo5vACKSplYyb9E,1997
1535
+ homeassistant-stubs/components/knx/sensor.pyi,sha256=m4f1Cb4astKM4zARMEdZDTVxAam0sYtUkg3aRvqWf6o,3553
1536
1536
  homeassistant-stubs/components/knx/services.pyi,sha256=Jgj3lSHbQDS4jBsF_tZBRZ8ji-wCrRUXQ7pdPLLBd_E,1936
1537
1537
  homeassistant-stubs/components/knx/storage/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1538
- homeassistant-stubs/components/knx/storage/config_store.pyi,sha256=uBa2ZliFat2kmwNpUWKfSeOfK8OVmWQyxd_WfJcg5DA,1773
1538
+ homeassistant-stubs/components/knx/storage/config_store.pyi,sha256=lA_KH6s3Dp_lMNwPlasKsGr5yW9cE6tGIAv46tdRLzk,1974
1539
1539
  homeassistant-stubs/components/knx/storage/const.pyi,sha256=Iz0pWMLKrX-SLaW57lfb3QY0siM7tJIo8Jsuqzv_p5o,710
1540
1540
  homeassistant-stubs/components/knx/storage/entity_store_schema.pyi,sha256=VKy7FgNa5zMQfoigDvMUSwfeLh_tDKulWWeBthV4oPI,2372
1541
1541
  homeassistant-stubs/components/knx/storage/entity_store_validation.pyi,sha256=oKK9FLT_HD5nnhMvTVDYs2s61a9Q8JcClFKnIi_rSK0,806
1542
1542
  homeassistant-stubs/components/knx/storage/keyring.pyi,sha256=oTrE8GVCNVbPdtEwfER_jEpK_WT9aNzMYJAsF5ko1iA,548
1543
1543
  homeassistant-stubs/components/knx/storage/knx_selector.pyi,sha256=drkfKxQaDXvxpJXf-ziMck_fQfwp-QFQMeUxLBXFFPE,1029
1544
- homeassistant-stubs/components/knx/switch.pyi,sha256=fCNU5CAzNk2uGodGHEZNwO6c3PgfzoEUzRMEXXG8B9s,2485
1544
+ homeassistant-stubs/components/knx/switch.pyi,sha256=d-KFJXHZGGMap9c4vUjcTJYbrpM4KyTOUeQkztwjTtI,2625
1545
1545
  homeassistant-stubs/components/knx/telegrams.pyi,sha256=BiOEWLpGC9a2th91r4nCVlpGMV68m7RmUaVZdgaAUe8,1991
1546
- homeassistant-stubs/components/knx/text.pyi,sha256=Ii539xGmdaw7Z_rmagbhKYnNvJWuS89SbBkAD-6_3r4,1780
1547
- homeassistant-stubs/components/knx/time.pyi,sha256=dbBQJAuOHnbe-el6jkLWPsufXuEeZk2hwmpyH54E2pU,1727
1546
+ homeassistant-stubs/components/knx/text.pyi,sha256=ZeUtqhfeeC3sgb7gNpkb_XgHw7YNgX43wkUFDBzqpDo,1792
1547
+ homeassistant-stubs/components/knx/time.pyi,sha256=vChzsWM1fdtgvg8NFNOQTWjKRh326Gx_KFjOUgg6FKs,1739
1548
1548
  homeassistant-stubs/components/knx/trigger.pyi,sha256=jYgHNrPjutHvGopE28NZAGZQbfmUEeyvZmtk0Job7xQ,1517
1549
1549
  homeassistant-stubs/components/knx/validation.pyi,sha256=vT1rAC3zea2V_wWie61Wv0jUyvCbEFoQP19dyTXGgu4,818
1550
- homeassistant-stubs/components/knx/weather.pyi,sha256=dZYc7IEwxcGN2kePx8SGynp9F72HnP85bXuVc455y8s,1838
1550
+ homeassistant-stubs/components/knx/weather.pyi,sha256=PlV_tKTS3i8QXVdIYlzT3JxkZYxxb2hwxUSeOCyEyoQ,1850
1551
1551
  homeassistant-stubs/components/knx/websocket.pyi,sha256=hhE6xDxbvDDPFQBPYhkLbnKTcXVT6eZghxizzNYI2dU,2892
1552
1552
  homeassistant-stubs/components/kraken/__init__.pyi,sha256=e_5XJyq0DhzLh2H35IdXpBTe25EgXb79a7_jdA2X3bI,1770
1553
1553
  homeassistant-stubs/components/kraken/config_flow.pyi,sha256=RzWeA4GPx_LuBJhHbU7yLdyV4gIhpYQrmN0-t1C9y3k,1073
@@ -2834,7 +2834,7 @@ homeassistant-stubs/components/systemmonitor/diagnostics.pyi,sha256=3tOFv8ZXiIcv
2834
2834
  homeassistant-stubs/components/systemmonitor/repairs.pyi,sha256=TGxQR3xujHlcp6gXfZ4BRvsXz3_rrzw07K9PKH4V5U8,884
2835
2835
  homeassistant-stubs/components/systemmonitor/sensor.pyi,sha256=mIQrTcSWYJ5E3oiLH1BirIFFPno57XMEY6TxomHE27c,4324
2836
2836
  homeassistant-stubs/components/systemmonitor/util.pyi,sha256=tJIGD7TT7BqPVYhoGQrbYHMKco9nrnUzT1l_5fLKZIo,655
2837
- homeassistant-stubs/components/tag/__init__.pyi,sha256=ecE9qeOnLIZWn5n8p6Tc1RnvJcn1fyTsmEC-iQ5GYUA,3870
2837
+ homeassistant-stubs/components/tag/__init__.pyi,sha256=k60juLPx-DvbhfEpn5UdVutrIgjhv6JjoMsr6TbOqNk,3835
2838
2838
  homeassistant-stubs/components/tag/const.pyi,sha256=49NoQDGRwRhwzeE6qELOC1Mgq6PniZKfBsbLNQ9EM9I,133
2839
2839
  homeassistant-stubs/components/tag/trigger.pyi,sha256=Qc6KBk5exjqWqYLdXahuNtOk6yVQOM_I5STpXfQz3ac,696
2840
2840
  homeassistant-stubs/components/tailscale/__init__.pyi,sha256=1GacvcYbzVUJgerHKhnWEXIK5D-itQcYi-5P6djVYe8,1269
@@ -3513,7 +3513,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3513
3513
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3514
3514
  homeassistant-stubs/util/yaml/loader.pyi,sha256=YJBfnreepz_lhluQPSW4zVkwMv6fj2gZfGJtWObnfLg,4652
3515
3515
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3516
- homeassistant_stubs-2024.8.0b2.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3517
- homeassistant_stubs-2024.8.0b2.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3518
- homeassistant_stubs-2024.8.0b2.dist-info/METADATA,sha256=b-Mmf61DntiTFP63EYTV3Fps1SeIfaqx4ILLApizMSs,3015
3519
- homeassistant_stubs-2024.8.0b2.dist-info/RECORD,,
3516
+ homeassistant_stubs-2024.8.0b4.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3517
+ homeassistant_stubs-2024.8.0b4.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3518
+ homeassistant_stubs-2024.8.0b4.dist-info/METADATA,sha256=ToYVYjpIMHs8FU7Mgfe_su39q5sxNKmUJmMowNiNIPs,3015
3519
+ homeassistant_stubs-2024.8.0b4.dist-info/RECORD,,