homeassistant-stubs 2024.8.0__py3-none-any.whl → 2024.8.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 (40) hide show
  1. homeassistant-stubs/auth/permissions/events.pyi +0 -3
  2. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  3. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +5 -1
  4. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -3
  5. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +10 -5
  6. homeassistant-stubs/components/doorbird/__init__.pyi +2 -2
  7. homeassistant-stubs/components/esphome/update.pyi +0 -1
  8. homeassistant-stubs/components/http/static.pyi +4 -1
  9. homeassistant-stubs/components/knx/binary_sensor.pyi +4 -4
  10. homeassistant-stubs/components/knx/button.pyi +4 -4
  11. homeassistant-stubs/components/knx/climate.pyi +3 -4
  12. homeassistant-stubs/components/knx/cover.pyi +4 -4
  13. homeassistant-stubs/components/knx/date.pyi +3 -4
  14. homeassistant-stubs/components/knx/datetime.pyi +3 -4
  15. homeassistant-stubs/components/knx/fan.pyi +4 -4
  16. homeassistant-stubs/components/knx/knx_entity.pyi +4 -27
  17. homeassistant-stubs/components/knx/light.pyi +8 -9
  18. homeassistant-stubs/components/knx/notify.pyi +3 -4
  19. homeassistant-stubs/components/knx/number.pyi +3 -4
  20. homeassistant-stubs/components/knx/project.pyi +1 -2
  21. homeassistant-stubs/components/knx/scene.pyi +4 -4
  22. homeassistant-stubs/components/knx/schema.pyi +1 -1
  23. homeassistant-stubs/components/knx/select.pyi +3 -4
  24. homeassistant-stubs/components/knx/sensor.pyi +3 -3
  25. homeassistant-stubs/components/knx/storage/config_store.pyi +5 -12
  26. homeassistant-stubs/components/knx/switch.pyi +8 -10
  27. homeassistant-stubs/components/knx/text.pyi +3 -4
  28. homeassistant-stubs/components/knx/time.pyi +6 -4
  29. homeassistant-stubs/components/knx/validation.pyi +0 -4
  30. homeassistant-stubs/components/knx/weather.pyi +3 -4
  31. homeassistant-stubs/components/linkplay/utils.pyi +0 -10
  32. homeassistant-stubs/components/tag/__init__.pyi +1 -0
  33. homeassistant-stubs/components/tedee/lock.pyi +1 -1
  34. homeassistant-stubs/components/unifi/sensor.pyi +0 -1
  35. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  36. {homeassistant_stubs-2024.8.0.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/METADATA +2 -2
  37. {homeassistant_stubs-2024.8.0.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/RECORD +39 -40
  38. homeassistant-stubs/components/doorbird/repairs.pyi +0 -12
  39. {homeassistant_stubs-2024.8.0.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/LICENSE +0 -0
  40. {homeassistant_stubs-2024.8.0.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/WHEEL +0 -0
@@ -1,11 +1,8 @@
1
1
  from homeassistant.const import EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_LOVELACE_UPDATED as EVENT_LOVELACE_UPDATED, EVENT_PANELS_UPDATED as EVENT_PANELS_UPDATED, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_SHOPPING_LIST_UPDATED as EVENT_SHOPPING_LIST_UPDATED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_THEMES_UPDATED as EVENT_THEMES_UPDATED
2
2
  from homeassistant.helpers.area_registry import EVENT_AREA_REGISTRY_UPDATED as EVENT_AREA_REGISTRY_UPDATED
3
- from homeassistant.helpers.category_registry import EVENT_CATEGORY_REGISTRY_UPDATED as EVENT_CATEGORY_REGISTRY_UPDATED
4
3
  from homeassistant.helpers.device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED
5
4
  from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGISTRY_UPDATED
6
- from homeassistant.helpers.floor_registry import EVENT_FLOOR_REGISTRY_UPDATED as EVENT_FLOOR_REGISTRY_UPDATED
7
5
  from homeassistant.helpers.issue_registry import EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED as EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED
8
- from homeassistant.helpers.label_registry import EVENT_LABEL_REGISTRY_UPDATED as EVENT_LABEL_REGISTRY_UPDATED
9
6
  from homeassistant.util.event_type import EventType as EventType
10
7
  from typing import Any, Final
11
8
 
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
1
+ from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING
2
2
  from .error import PipelineNotFound as PipelineNotFound
3
3
  from .pipeline import AudioSettings as AudioSettings, Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, PipelineStage, WakeWordSettings as WakeWordSettings, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines, async_migrate_engine as async_migrate_engine, async_update_pipeline as async_update_pipeline
4
4
  from collections.abc import AsyncIterable
@@ -6,7 +6,7 @@ from homeassistant.components import stt
6
6
  from homeassistant.core import Context, HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType
8
8
 
9
- __all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING', 'SAMPLES_PER_CHUNK', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'SAMPLE_CHANNELS']
9
+ __all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING']
10
10
 
11
11
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
12
12
  async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ...) -> None: ...
@@ -1,5 +1,4 @@
1
1
  import abc
2
- from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK
3
2
  from _typeshed import Incomplete
4
3
  from abc import ABC, abstractmethod
5
4
  from dataclasses import dataclass
@@ -20,9 +19,14 @@ class AudioEnhancer(ABC, metaclass=abc.ABCMeta):
20
19
  def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
21
20
  @abstractmethod
22
21
  def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
22
+ @property
23
+ @abstractmethod
24
+ def samples_per_chunk(self) -> int | None: ...
23
25
 
24
26
  class MicroVadEnhancer(AudioEnhancer):
25
27
  vad: Incomplete
26
28
  threshold: float
27
29
  def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
28
30
  def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
31
+ @property
32
+ def samples_per_chunk(self) -> int | None: ...
@@ -12,6 +12,4 @@ EVENT_RECORDING: Incomplete
12
12
  SAMPLE_RATE: int
13
13
  SAMPLE_WIDTH: int
14
14
  SAMPLE_CHANNELS: int
15
- MS_PER_CHUNK: int
16
- SAMPLES_PER_CHUNK: Incomplete
17
- BYTES_PER_CHUNK: Incomplete
15
+ SAMPLES_PER_CHUNK: int
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from .audio_enhancer import AudioEnhancer as AudioEnhancer, EnhancedAudioChunk as EnhancedAudioChunk, MicroVadEnhancer as MicroVadEnhancer
3
- from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
3
+ from .const import CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
4
4
  from .error import DuplicateWakeUpDetectedError as DuplicateWakeUpDetectedError, IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionAborted as WakeWordDetectionAborted, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
5
5
  from .vad import AudioBuffer as AudioBuffer, VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter, chunk_samples as chunk_samples
6
6
  from _typeshed import Incomplete
@@ -109,11 +109,14 @@ class AudioSettings:
109
109
  auto_gain_dbfs: int = ...
110
110
  volume_multiplier: float = ...
111
111
  is_vad_enabled: bool = ...
112
+ samples_per_chunk: int | None = ...
112
113
  silence_seconds: float = ...
113
114
  def __post_init__(self) -> None: ...
114
115
  @property
115
116
  def needs_processor(self) -> bool: ...
116
- def __init__(self, noise_suppression_level=..., auto_gain_dbfs=..., volume_multiplier=..., is_vad_enabled=..., silence_seconds=...) -> None: ...
117
+ @property
118
+ def is_chunking_enabled(self) -> bool: ...
119
+ def __init__(self, noise_suppression_level=..., auto_gain_dbfs=..., volume_multiplier=..., is_vad_enabled=..., samples_per_chunk=..., silence_seconds=...) -> None: ...
117
120
 
118
121
  @dataclass
119
122
  class PipelineRun:
@@ -139,10 +142,12 @@ class PipelineRun:
139
142
  debug_recording_thread: Thread | None = ...
140
143
  debug_recording_queue: Queue[str | bytes | None] | None = ...
141
144
  audio_enhancer: AudioEnhancer | None = ...
142
- audio_chunking_buffer: AudioBuffer = ...
145
+ audio_chunking_buffer: AudioBuffer | None = ...
143
146
  _device_id: str | None = ...
144
147
  def __post_init__(self) -> None: ...
145
148
  def __eq__(self, other: object) -> bool: ...
149
+ @property
150
+ def samples_per_chunk(self) -> int: ...
146
151
  def process_event(self, event: PipelineEvent) -> None: ...
147
152
  def start(self, device_id: str | None) -> None: ...
148
153
  async def end(self) -> None: ...
@@ -159,8 +164,8 @@ class PipelineRun:
159
164
  def _capture_chunk(self, audio_bytes: bytes | None) -> None: ...
160
165
  def _start_debug_recording_thread(self) -> None: ...
161
166
  async def _stop_debug_recording_thread(self) -> None: ...
162
- async def process_volume_only(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
163
- async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
167
+ async def process_volume_only(self, audio_stream: AsyncIterable[bytes], sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[EnhancedAudioChunk]: ...
168
+ async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes], sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[EnhancedAudioChunk]: ...
164
169
  def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language=..., runner_data=..., intent_agent=..., tts_audio_output=..., wake_word_settings=..., audio_settings=..., id=..., debug_recording_thread=..., debug_recording_queue=..., audio_enhancer=..., audio_chunking_buffer=..., _device_id=...) -> None: ...
165
170
 
166
171
  def _multiply_volume(chunk: bytes, volume_multiplier: float) -> bytes: ...
@@ -3,6 +3,7 @@ from .device import ConfiguredDoorBird as ConfiguredDoorBird
3
3
  from .models import DoorBirdConfigEntry as DoorBirdConfigEntry, DoorBirdData as DoorBirdData
4
4
  from .view import DoorBirdRequestView as DoorBirdRequestView
5
5
  from _typeshed import Incomplete
6
+ from homeassistant.components import persistent_notification as persistent_notification
6
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -11,10 +12,9 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
11
12
 
12
13
  CONF_CUSTOM_URL: str
13
14
  CONFIG_SCHEMA: Incomplete
14
- _LOGGER: Incomplete
15
15
 
16
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
17
  async def async_setup_entry(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> bool: ...
18
18
  async def async_unload_entry(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> bool: ...
19
- async def _async_register_events(hass: HomeAssistant, door_station: ConfiguredDoorBird, entry: DoorBirdConfigEntry) -> bool: ...
19
+ async def _async_register_events(hass: HomeAssistant, door_station: ConfiguredDoorBird) -> bool: ...
20
20
  async def _update_listener(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> None: ...
@@ -60,5 +60,4 @@ 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: ...
64
63
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -1,3 +1,4 @@
1
+ from .const import KEY_HASS as KEY_HASS
1
2
  from _typeshed import Incomplete
2
3
  from aiohttp.web import Request as Request, StreamResponse as StreamResponse
3
4
  from aiohttp.web_urldispatcher import StaticResource
@@ -9,7 +10,9 @@ from typing import Final
9
10
  CACHE_TIME: Final[Incomplete]
10
11
  CACHE_HEADER: Incomplete
11
12
  CACHE_HEADERS: Mapping[str, str]
12
- RESPONSE_CACHE: LRU[tuple[str, Path], tuple[Path, str]]
13
+ PATH_CACHE: LRU[tuple[str, Path], tuple[Path | None, str | None]]
14
+
15
+ def _get_file_path(rel_url: str, directory: Path) -> Path | None: ...
13
16
 
14
17
  class CachingStaticResource(StaticResource):
15
18
  async def _handle(self, request: Request) -> StreamResponse: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import BinarySensorSchema as BinarySensorSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -11,17 +10,18 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
11
10
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
12
  from typing import Any
13
+ from xknx import XKNX as XKNX
14
14
  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(KnxYamlEntity, BinarySensorEntity, RestoreEntity):
18
+ class KNXBinarySensor(KnxEntity, BinarySensorEntity, RestoreEntity):
19
19
  _device: XknxBinarySensor
20
20
  _attr_entity_category: Incomplete
21
21
  _attr_device_class: Incomplete
22
22
  _attr_force_update: Incomplete
23
23
  _attr_unique_id: Incomplete
24
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
24
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
25
25
  async def async_added_to_hass(self) -> None: ...
26
26
  @property
27
27
  def is_on(self) -> bool: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant import config_entries as config_entries
6
5
  from homeassistant.components.button import ButtonEntity as ButtonEntity
@@ -8,14 +7,15 @@ from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CO
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
+ from xknx import XKNX as XKNX
11
11
  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(KnxYamlEntity, ButtonEntity):
15
+ class KNXButton(KnxEntity, ButtonEntity):
16
16
  _device: XknxRawValue
17
17
  _payload: Incomplete
18
18
  _attr_entity_category: Incomplete
19
19
  _attr_unique_id: Incomplete
20
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
20
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
21
21
  async def async_press(self) -> None: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import ClimateSchema as ClimateSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -20,7 +19,7 @@ PRESET_MODES_INV: Incomplete
20
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
20
  def _create_climate(xknx: XKNX, config: ConfigType) -> XknxClimate: ...
22
21
 
23
- class KNXClimate(KnxYamlEntity, ClimateEntity):
22
+ class KNXClimate(KnxEntity, ClimateEntity):
24
23
  _device: XknxClimate
25
24
  _attr_temperature_unit: Incomplete
26
25
  _enable_turn_on_off_backwards_compatibility: bool
@@ -30,7 +29,7 @@ class KNXClimate(KnxYamlEntity, ClimateEntity):
30
29
  _attr_unique_id: Incomplete
31
30
  default_hvac_mode: Incomplete
32
31
  _last_hvac_mode: Incomplete
33
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
32
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
34
33
  @property
35
34
  def current_temperature(self) -> float | None: ...
36
35
  @property
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import CoverSchema as CoverSchema
5
4
  from _typeshed import Incomplete
6
5
  from collections.abc import Callable as Callable
@@ -11,18 +10,19 @@ from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
12
  from typing import Any
13
+ from xknx import XKNX as XKNX
14
14
  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(KnxYamlEntity, CoverEntity):
18
+ class KNXCover(KnxEntity, CoverEntity):
19
19
  _device: XknxCover
20
20
  _unsubscribe_auto_updater: Incomplete
21
21
  _attr_entity_category: Incomplete
22
22
  _attr_supported_features: Incomplete
23
23
  _attr_device_class: Incomplete
24
24
  _attr_unique_id: Incomplete
25
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
25
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
26
26
  @property
27
27
  def current_cover_position(self) -> int | None: ...
28
28
  @property
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from datetime import date as dt_date
6
5
  from homeassistant import config_entries as config_entries
@@ -16,11 +15,11 @@ from xknx.devices import DateDevice as XknxDateDevice
16
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
16
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxDateDevice: ...
18
17
 
19
- class KNXDateEntity(KnxYamlEntity, DateEntity, RestoreEntity):
18
+ class KNXDateEntity(KnxEntity, DateEntity, RestoreEntity):
20
19
  _device: XknxDateDevice
21
20
  _attr_entity_category: Incomplete
22
21
  _attr_unique_id: Incomplete
23
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
22
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
24
23
  async def async_added_to_hass(self) -> None: ...
25
24
  @property
26
25
  def native_value(self) -> dt_date | None: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from datetime import datetime
6
5
  from homeassistant import config_entries as config_entries
@@ -16,11 +15,11 @@ from xknx.devices import DateTimeDevice as XknxDateTimeDevice
16
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
16
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxDateTimeDevice: ...
18
17
 
19
- class KNXDateTimeEntity(KnxYamlEntity, DateTimeEntity, RestoreEntity):
18
+ class KNXDateTimeEntity(KnxEntity, DateTimeEntity, RestoreEntity):
20
19
  _device: XknxDateTimeDevice
21
20
  _attr_entity_category: Incomplete
22
21
  _attr_unique_id: Incomplete
23
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
22
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
24
23
  async def async_added_to_hass(self) -> None: ...
25
24
  @property
26
25
  def native_value(self) -> datetime | None: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import FanSchema as FanSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -12,19 +11,20 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
12
11
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
13
12
  from homeassistant.util.scaling import int_states_in_range as int_states_in_range
14
13
  from typing import Any, Final
14
+ from xknx import XKNX as XKNX
15
15
  from xknx.devices import Fan as XknxFan
16
16
 
17
17
  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(KnxYamlEntity, FanEntity):
21
+ class KNXFan(KnxEntity, FanEntity):
22
22
  _device: XknxFan
23
23
  _enable_turn_on_off_backwards_compatibility: bool
24
24
  _step_range: Incomplete
25
25
  _attr_entity_category: Incomplete
26
26
  _attr_unique_id: Incomplete
27
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
27
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
28
28
  async def async_set_percentage(self, percentage: int) -> None: ...
29
29
  @property
30
30
  def supported_features(self) -> FanEntityFeature: ...
@@ -1,26 +1,13 @@
1
- import abc
2
1
  from . import KNXModule as KNXModule
3
- from .storage.config_store import PlatformControllerBase as PlatformControllerBase
2
+ from .const import DOMAIN as DOMAIN
4
3
  from _typeshed import Incomplete
5
- from abc import ABC, abstractmethod
6
4
  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
10
5
  from xknx.devices import Device as XknxDevice
11
6
 
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: ...
19
-
20
- class _KnxEntityBase(Entity):
7
+ class KnxEntity(Entity):
21
8
  _attr_should_poll: bool
22
- _knx_module: KNXModule
23
- _device: XknxDevice
9
+ _device: Incomplete
10
+ def __init__(self, device: XknxDevice) -> None: ...
24
11
  @property
25
12
  def name(self) -> str: ...
26
13
  @property
@@ -29,13 +16,3 @@ class _KnxEntityBase(Entity):
29
16
  def after_update_callback(self, _device: XknxDevice) -> None: ...
30
17
  async def async_added_to_hass(self) -> None: ...
31
18
  async def async_will_remove_from_hass(self) -> None: ...
32
-
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):
39
- _attr_unique_id: str
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 KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
+ from .knx_entity import KnxEntity as KnxEntity
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
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from typing import Any
16
16
  from xknx import XKNX as XKNX
@@ -20,7 +20,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.Co
20
20
  def _create_yaml_light(xknx: XKNX, config: ConfigType) -> XknxLight: ...
21
21
  def _create_ui_light(xknx: XKNX, knx_config: ConfigType, name: str) -> XknxLight: ...
22
22
 
23
- class _KnxLight(LightEntity):
23
+ class _KnxLight(KnxEntity, LightEntity):
24
24
  _attr_max_color_temp_kelvin: int
25
25
  _attr_min_color_temp_kelvin: int
26
26
  _device: XknxLight
@@ -45,19 +45,18 @@ 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, KnxYamlEntity):
48
+ class KnxYamlLight(_KnxLight):
49
49
  _device: XknxLight
50
50
  _attr_max_color_temp_kelvin: Incomplete
51
51
  _attr_min_color_temp_kelvin: Incomplete
52
52
  _attr_entity_category: Incomplete
53
53
  _attr_unique_id: Incomplete
54
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
54
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
55
55
  def _device_unique_id(self) -> str: ...
56
56
 
57
- class KnxUiLight(_KnxLight, KnxUiEntity):
58
- _attr_has_entity_name: bool
57
+ class KnxUiLight(_KnxLight):
59
58
  _device: XknxLight
60
- _knx_module: Incomplete
59
+ _attr_has_entity_name: bool
61
60
  _attr_max_color_temp_kelvin: Incomplete
62
61
  _attr_min_color_temp_kelvin: Incomplete
63
62
  _attr_entity_category: Incomplete
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant import config_entries as config_entries
6
5
  from homeassistant.components.notify import BaseNotificationService as BaseNotificationService, NotifyEntity as NotifyEntity, migrate_notify_issue as migrate_notify_issue
@@ -26,9 +25,9 @@ class KNXNotificationService(BaseNotificationService):
26
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
27
26
  def _create_notification_instance(xknx: XKNX, config: ConfigType) -> XknxNotification: ...
28
27
 
29
- class KNXNotify(KnxYamlEntity, NotifyEntity):
28
+ class KNXNotify(KnxEntity, NotifyEntity):
30
29
  _device: XknxNotification
31
30
  _attr_entity_category: Incomplete
32
31
  _attr_unique_id: Incomplete
33
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
32
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
34
33
  async def async_send_message(self, message: str, title: str | None = None) -> None: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import NumberSchema as NumberSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -15,7 +14,7 @@ from xknx.devices import NumericValue
15
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
15
  def _create_numeric_value(xknx: XKNX, config: ConfigType) -> NumericValue: ...
17
16
 
18
- class KNXNumber(KnxYamlEntity, RestoreNumber):
17
+ class KNXNumber(KnxEntity, RestoreNumber):
19
18
  _device: NumericValue
20
19
  _attr_native_max_value: Incomplete
21
20
  _attr_native_min_value: Incomplete
@@ -24,7 +23,7 @@ class KNXNumber(KnxYamlEntity, RestoreNumber):
24
23
  _attr_entity_category: Incomplete
25
24
  _attr_unique_id: Incomplete
26
25
  _attr_native_unit_of_measurement: Incomplete
27
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
26
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
28
27
  async def async_added_to_hass(self) -> None: ...
29
28
  @property
30
29
  def native_value(self) -> float: ...
@@ -8,8 +8,7 @@ from homeassistant.helpers.storage import Store as Store
8
8
  from typing import Final
9
9
  from xknx import XKNX as XKNX
10
10
  from xknx.dpt import DPTBase
11
- from xknx.telegram.address import DeviceAddressableType as DeviceAddressableType
12
- from xknxproject.models import DPTType as DPTType, Device as Device, GroupAddress as GroupAddressModel, KNXProject as KNXProjectModel, ProjectInfo as ProjectInfo
11
+ from xknxproject.models import Device as Device, GroupAddress as GroupAddressModel, KNXProject as KNXProjectModel, ProjectInfo as ProjectInfo
13
12
 
14
13
  _LOGGER: Incomplete
15
14
  STORAGE_VERSION: Final[int]
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS
3
- from .knx_entity import KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import SceneSchema as SceneSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -10,13 +9,14 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
11
  from typing import Any
12
+ from xknx import XKNX as XKNX
13
13
  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(KnxYamlEntity, Scene):
17
+ class KNXScene(KnxEntity, Scene):
18
18
  _device: XknxScene
19
19
  _attr_entity_category: Incomplete
20
20
  _attr_unique_id: Incomplete
21
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
21
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
22
22
  async def async_activate(self, **kwargs: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_INVERT as CONF_INVERT, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, KNX_ADDRESS as KNX_ADDRESS
3
- from .validation import backwards_compatible_xknx_climate_enum_member as backwards_compatible_xknx_climate_enum_member, dpt_base_type_validator as dpt_base_type_validator, ga_list_validator as ga_list_validator, ga_validator as ga_validator, numeric_type_validator as numeric_type_validator, sensor_type_validator as sensor_type_validator, string_type_validator as string_type_validator, sync_state_validator as sync_state_validator
3
+ from .validation import dpt_base_type_validator as dpt_base_type_validator, ga_list_validator as ga_list_validator, ga_validator as ga_validator, numeric_type_validator as numeric_type_validator, sensor_type_validator as sensor_type_validator, string_type_validator as string_type_validator, sync_state_validator as sync_state_validator
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC
6
6
  from collections import OrderedDict
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import SelectSchema as SelectSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -16,14 +15,14 @@ from xknx.devices import Device as XknxDevice, RawValue
16
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
16
  def _create_raw_value(xknx: XKNX, config: ConfigType) -> RawValue: ...
18
17
 
19
- class KNXSelect(KnxYamlEntity, SelectEntity, RestoreEntity):
18
+ class KNXSelect(KnxEntity, SelectEntity, RestoreEntity):
20
19
  _device: RawValue
21
20
  _option_payloads: Incomplete
22
21
  _attr_options: Incomplete
23
22
  _attr_current_option: Incomplete
24
23
  _attr_entity_category: Incomplete
25
24
  _attr_unique_id: Incomplete
26
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
25
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
27
26
  async def async_added_to_hass(self) -> None: ...
28
27
  def after_update_callback(self, device: XknxDevice) -> None: ...
29
28
  def option_from_payload(self, payload: int | None) -> str | None: ...
@@ -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 KnxYamlEntity as KnxYamlEntity
3
+ from .knx_entity import KnxEntity as KnxEntity
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(KnxYamlEntity, SensorEntity):
37
+ class KNXSensor(KnxEntity, SensorEntity):
38
38
  _device: XknxSensor
39
39
  _attr_device_class: Incomplete
40
40
  _attr_force_update: Incomplete
@@ -42,7 +42,7 @@ class KNXSensor(KnxYamlEntity, SensorEntity):
42
42
  _attr_unique_id: Incomplete
43
43
  _attr_native_unit_of_measurement: Incomplete
44
44
  _attr_state_class: Incomplete
45
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
45
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
46
46
  @property
47
47
  def native_value(self) -> StateType: ...
48
48
  @property
@@ -1,8 +1,8 @@
1
- import abc
2
1
  from ..const import DOMAIN as DOMAIN
2
+ from ..knx_entity import KnxEntity as KnxEntity
3
3
  from .const import CONF_DATA as CONF_DATA
4
4
  from _typeshed import Incomplete
5
- from abc import ABC, abstractmethod
5
+ from collections.abc import Callable as Callable
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
@@ -20,21 +20,14 @@ KNXEntityStoreModel = dict[str, KNXPlatformStoreModel]
20
20
  class KNXConfigStoreModel(TypedDict):
21
21
  entities: KNXEntityStoreModel
22
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
-
29
23
  class KNXConfigStore:
30
24
  hass: Incomplete
31
- config_entry: Incomplete
32
25
  _store: Incomplete
33
26
  data: Incomplete
34
- _platform_controllers: Incomplete
35
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
27
+ entities: Incomplete
28
+ async_add_entity: Incomplete
29
+ def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
36
30
  async def load_data(self) -> None: ...
37
- def add_platform(self, platform: Platform, controller: PlatformControllerBase) -> None: ...
38
31
  async def create_entity(self, platform: Platform, data: dict[str, Any]) -> str | None: ...
39
32
  def get_entity_config(self, entity_id: str) -> dict[str, Any]: ...
40
33
  async def update_entity(self, platform: Platform, entity_id: str, data: dict[str, Any]) -> None: ...
@@ -1,23 +1,24 @@
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 KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
+ from .knx_entity import KnxEntity as KnxEntity
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
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
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
16
+ from xknx import XKNX as XKNX
16
17
  from xknx.devices import Switch as XknxSwitch
17
18
 
18
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
20
 
20
- class _KnxSwitch(SwitchEntity, RestoreEntity):
21
+ class _KnxSwitch(KnxEntity, SwitchEntity, RestoreEntity):
21
22
  _device: XknxSwitch
22
23
  async def async_added_to_hass(self) -> None: ...
23
24
  @property
@@ -25,17 +26,14 @@ class _KnxSwitch(SwitchEntity, RestoreEntity):
25
26
  async def async_turn_on(self, **kwargs: Any) -> None: ...
26
27
  async def async_turn_off(self, **kwargs: Any) -> None: ...
27
28
 
28
- class KnxYamlSwitch(_KnxSwitch, KnxYamlEntity):
29
- _device: XknxSwitch
29
+ class KnxYamlSwitch(_KnxSwitch):
30
30
  _attr_entity_category: Incomplete
31
31
  _attr_device_class: Incomplete
32
32
  _attr_unique_id: Incomplete
33
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
33
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
34
34
 
35
- class KnxUiSwitch(_KnxSwitch, KnxUiEntity):
35
+ class KnxUiSwitch(_KnxSwitch):
36
36
  _attr_has_entity_name: bool
37
- _device: XknxSwitch
38
- _knx_module: Incomplete
39
37
  _attr_entity_category: Incomplete
40
38
  _attr_unique_id: Incomplete
41
39
  _attr_device_info: Incomplete
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant import config_entries as config_entries
6
5
  from homeassistant.components.text import TextEntity as TextEntity
@@ -15,14 +14,14 @@ from xknx.devices import Notification as XknxNotification
15
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
15
  def _create_notification(xknx: XKNX, config: ConfigType) -> XknxNotification: ...
17
16
 
18
- class KNXText(KnxYamlEntity, TextEntity, RestoreEntity):
17
+ class KNXText(KnxEntity, TextEntity, RestoreEntity):
19
18
  _device: XknxNotification
20
19
  _attr_native_max: int
21
20
  _attr_mode: Incomplete
22
21
  _attr_pattern: Incomplete
23
22
  _attr_entity_category: Incomplete
24
23
  _attr_unique_id: Incomplete
25
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
24
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
26
25
  async def async_added_to_hass(self) -> None: ...
27
26
  @property
28
27
  def native_value(self) -> str | None: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  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 KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from _typeshed import Incomplete
5
4
  from datetime import time as dt_time
6
5
  from homeassistant import config_entries as config_entries
@@ -10,17 +9,20 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
+ from typing import Final
13
13
  from xknx import XKNX as XKNX
14
14
  from xknx.devices import TimeDevice as XknxTimeDevice
15
15
 
16
+ _TIME_TRANSLATION_FORMAT: Final[str]
17
+
16
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
19
  def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxTimeDevice: ...
18
20
 
19
- class KNXTimeEntity(KnxYamlEntity, TimeEntity, RestoreEntity):
21
+ class KNXTimeEntity(KnxEntity, TimeEntity, RestoreEntity):
20
22
  _device: XknxTimeDevice
21
23
  _attr_entity_category: Incomplete
22
24
  _attr_unique_id: Incomplete
23
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
25
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
24
26
  async def async_added_to_hass(self) -> None: ...
25
27
  @property
26
28
  def native_value(self) -> dt_time | None: ...
@@ -1,7 +1,5 @@
1
- import voluptuous as vol
2
1
  from _typeshed import Incomplete
3
2
  from collections.abc import Callable as Callable
4
- from enum import Enum
5
3
  from typing import Any
6
4
  from xknx.dpt import DPTBase
7
5
 
@@ -22,5 +20,3 @@ ia_validator: Incomplete
22
20
  def ip_v4_validator(value: Any, multicast: bool | None = None) -> str: ...
23
21
 
24
22
  sync_state_validator: Incomplete
25
-
26
- def backwards_compatible_xknx_climate_enum_member(enumClass: type[Enum]) -> vol.All: ...
@@ -1,6 +1,5 @@
1
- from . import KNXModule as KNXModule
2
1
  from .const import DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
- from .knx_entity import KnxYamlEntity as KnxYamlEntity
2
+ from .knx_entity import KnxEntity as KnxEntity
4
3
  from .schema import WeatherSchema as WeatherSchema
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant import config_entries as config_entries
@@ -15,14 +14,14 @@ from xknx.devices import Weather as XknxWeather
15
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
15
  def _create_weather(xknx: XKNX, config: ConfigType) -> XknxWeather: ...
17
16
 
18
- class KNXWeather(KnxYamlEntity, WeatherEntity):
17
+ class KNXWeather(KnxEntity, WeatherEntity):
19
18
  _device: XknxWeather
20
19
  _attr_native_pressure_unit: Incomplete
21
20
  _attr_native_temperature_unit: Incomplete
22
21
  _attr_native_wind_speed_unit: Incomplete
23
22
  _attr_unique_id: Incomplete
24
23
  _attr_entity_category: Incomplete
25
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
24
+ def __init__(self, xknx: XKNX, config: ConfigType) -> None: ...
26
25
  @property
27
26
  def native_temperature(self) -> float | None: ...
28
27
  @property
@@ -1,19 +1,9 @@
1
1
  from typing import Final
2
2
 
3
3
  MANUFACTURER_ARTSOUND: Final[str]
4
- MANUFACTURER_ARYLIC: Final[str]
5
- MANUFACTURER_IEAST: Final[str]
6
4
  MANUFACTURER_GENERIC: Final[str]
7
5
  MODELS_ARTSOUND_SMART_ZONE4: Final[str]
8
6
  MODELS_ARTSOUND_SMART_HYDE: Final[str]
9
- MODELS_ARYLIC_S50: Final[str]
10
- MODELS_ARYLIC_S50_PRO: Final[str]
11
- MODELS_ARYLIC_A30: Final[str]
12
- MODELS_ARYLIC_A50S: Final[str]
13
- MODELS_ARYLIC_UP2STREAM_AMP_V3: Final[str]
14
- MODELS_ARYLIC_UP2STREAM_AMP_V4: Final[str]
15
- MODELS_ARYLIC_UP2STREAM_PRO_V3: Final[str]
16
- MODELS_IEAST_AUDIOCAST_M5: Final[str]
17
7
  MODELS_GENERIC: Final[str]
18
8
 
19
9
  def get_info_from_project(project: str) -> tuple[str, str]: ...
@@ -57,6 +57,7 @@ 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
60
61
  _attr_should_poll: bool
61
62
  _entity_update_handlers: Incomplete
62
63
  _attr_name: Incomplete
@@ -15,7 +15,7 @@ class TedeeLockEntity(TedeeEntity, LockEntity):
15
15
  _attr_name: Incomplete
16
16
  def __init__(self, lock: TedeeLock, coordinator: TedeeApiCoordinator) -> None: ...
17
17
  @property
18
- def is_locked(self) -> bool | None: ...
18
+ def is_locked(self) -> bool: ...
19
19
  @property
20
20
  def is_unlocking(self) -> bool: ...
21
21
  @property
@@ -18,7 +18,6 @@ from homeassistant.core import Event as core_Event, HomeAssistant as HomeAssista
18
18
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
19
19
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
20
20
  from homeassistant.helpers.typing import StateType as StateType
21
- from homeassistant.util import slugify as slugify
22
21
  from typing import Literal
23
22
 
24
23
  def async_bandwidth_sensor_allowed_fn(hub: UnifiHub, obj_id: str) -> bool: ...
@@ -90,7 +90,7 @@ class EntityPlatform:
90
90
  async def async_destroy(self) -> None: ...
91
91
  async def async_remove_entity(self, entity_id: str) -> None: ...
92
92
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
93
- def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
93
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
94
94
  async def _async_update_entity_states(self) -> None: ...
95
95
 
96
96
  current_platform: ContextVar[EntityPlatform | None]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: homeassistant-stubs
3
- Version: 2024.8.0
3
+ Version: 2024.8.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.8.0)
19
+ Requires-Dist: homeassistant (==2024.8.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
@@ -12,7 +12,7 @@ homeassistant-stubs/auth/models.pyi,sha256=MFY7_n_mYQ-tSVSSEyu88GKk1pZ8UnD5WCgMR
12
12
  homeassistant-stubs/auth/permissions/__init__.pyi,sha256=_CFnkPGPXYlOup61WZWaInGeJRnioqngn0nrKht9C5w,1218
13
13
  homeassistant-stubs/auth/permissions/const.pyi,sha256=wF8_MdJqpm78jJorT1x-EX_EoefTseBoinIwD8eHmnw,112
14
14
  homeassistant-stubs/auth/permissions/entities.pyi,sha256=-YronzaGgZFaAajDGjOtXU46q_6lMFtI4UXmkvrZTVI,1277
15
- homeassistant-stubs/auth/permissions/events.pyi,sha256=CNn4bvpGQ4ZHzBgkGh7G-1SWUXfZEU4iP-ZNM8sr-AI,1607
15
+ homeassistant-stubs/auth/permissions/events.pyi,sha256=Xexrl9TS5F63aFN911sSwMTLyKbBHZ5X3kmB6Hf6nzU,1268
16
16
  homeassistant-stubs/auth/permissions/merge.pyi,sha256=ab9kbiMkFL0DEalk2qVE01o4ATcVLtqrCeMfw40B_mY,211
17
17
  homeassistant-stubs/auth/permissions/models.pyi,sha256=y9pyW-M0Jfhis5ydvR_MW0BA5SJs2saWfNHs-9IUyfg,384
18
18
  homeassistant-stubs/auth/permissions/system_policies.pyi,sha256=mQi563FwfWxUWq304NTqO-cPkr3HZiUiAq4ml7EWuEA,214
@@ -316,12 +316,12 @@ homeassistant-stubs/components/aseko_pool_live/const.pyi,sha256=khiPPfo2eMEa2_FD
316
316
  homeassistant-stubs/components/aseko_pool_live/coordinator.pyi,sha256=wUF0htSNl9Gw9VaVtgi66upbOlB4DamSrG2vlSM2PQY,497
317
317
  homeassistant-stubs/components/aseko_pool_live/entity.pyi,sha256=cexy3847oioICs7VNu7cfSeH5k4bh_CQdCFjv_fKqmU,648
318
318
  homeassistant-stubs/components/aseko_pool_live/sensor.pyi,sha256=0zqxVappqnh7SSSmUOQ6iIgOjtSF3P092LPbGNHqyqE,1252
319
- homeassistant-stubs/components/assist_pipeline/__init__.pyi,sha256=inGuDhvYrb4pDBC32FV_bRhH17P9cD_Q12dDw36lSgs,1868
320
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi,sha256=kxSUHr7dp4a3GTRBf4qWP-UlHSrfLnr9lNiwRojdWsc,1000
321
- homeassistant-stubs/components/assist_pipeline/const.pyi,sha256=wFRqcb7fXmDi3V_Hyj7-4ZPMx1QvWMt7b_Dp860NVLQ,410
319
+ homeassistant-stubs/components/assist_pipeline/__init__.pyi,sha256=SU6QxrpMvHMkZSpjvkbPL419vSYyliS4Ni0zCef18D0,1663
320
+ homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi,sha256=0T8kjgXL1qYRZ9xm7nxsYZFcwnG7ZRWxrc63ekN40eY,1096
321
+ homeassistant-stubs/components/assist_pipeline/const.pyi,sha256=BlUG0SZxBveGl8iAX6ZWzSv46OTAzzqTYwR252PjTPQ,357
322
322
  homeassistant-stubs/components/assist_pipeline/error.pyi,sha256=8PZnUHaKp95F74EGoO3POchwfWlji1__j3hsZw3J0ZY,758
323
323
  homeassistant-stubs/components/assist_pipeline/logbook.pyi,sha256=ei8z1A8SMImMAUV4yAQJvyt7D1XM_qal40W99LrP-To,566
324
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi,sha256=LZV8U0Q66VV1_1mKXrPcEzjBQ-QBnToAaZWyEz05hJ4,13891
324
+ homeassistant-stubs/components/assist_pipeline/pipeline.pyi,sha256=keJXox-PwnLLj_2uoxdPWqQltk3IffUme__XxOTuxmY,14112
325
325
  homeassistant-stubs/components/assist_pipeline/ring_buffer.pyi,sha256=1MPTjcDWoqLB9hXcK7EL1uZP4V3F-D7wklgvXj_DD7U,386
326
326
  homeassistant-stubs/components/assist_pipeline/select.pyi,sha256=WcSTWtZcBMg4UIxiPx5alR8pir7xYoYaAcPQ4PiacfM,2040
327
327
  homeassistant-stubs/components/assist_pipeline/vad.pyi,sha256=_cxOw8DnI_dTPKkx5gxu3SnS7gDI-h4tj0cAmLK09fU,2274
@@ -761,7 +761,7 @@ homeassistant-stubs/components/dnsip/__init__.pyi,sha256=7lStWpjQOc9aW6CiRYHHI-1
761
761
  homeassistant-stubs/components/dnsip/config_flow.pyi,sha256=aloa64KH2stFT54bmkLtiBfLFI8SDP9L6sBq4Z3V0OM,1474
762
762
  homeassistant-stubs/components/dnsip/const.pyi,sha256=4g_fmFbDpRk4B9x4g6hNaFC_zaIvq6DbL8EzXgguv4Q,377
763
763
  homeassistant-stubs/components/dnsip/sensor.pyi,sha256=UV5oCHUHOMMZxoE4GcGMNxBhwlwvtJtrx4n_A_25WHY,1587
764
- homeassistant-stubs/components/doorbird/__init__.pyi,sha256=5M21amKULLH3KQy_pR0ViRVFJ_BI_1kCkjdDLqEAhKQ,1405
764
+ homeassistant-stubs/components/doorbird/__init__.pyi,sha256=ZsUulCo5-J9iU1-YmU7hBRU0cQkCnaWSw9sWh1MP1nw,1445
765
765
  homeassistant-stubs/components/doorbird/button.pyi,sha256=4Gl11TNuekZe-do-ojfRXsxdNWstJpuqurAfxCk3Eao,1872
766
766
  homeassistant-stubs/components/doorbird/camera.pyi,sha256=MCxFodZR7VzXnP5DggqBwD-9wVOqnnA0l0YiZ7_YHEY,1448
767
767
  homeassistant-stubs/components/doorbird/config_flow.pyi,sha256=-XfDzdW7ufCjVHN7HmK4zbcgO8wfCOi5ZSoTmV2Hecg,2605
@@ -771,7 +771,6 @@ homeassistant-stubs/components/doorbird/entity.pyi,sha256=uRVVcm9n046_IxDTOEnrxd
771
771
  homeassistant-stubs/components/doorbird/event.pyi,sha256=PQCRii5TtyU4f6xBS1Lk1qOcecFGAK8dRC07iR302LA,1338
772
772
  homeassistant-stubs/components/doorbird/logbook.pyi,sha256=QUXFiovDhHhgcMOnICiqDM5r71VP3QvswVAKZldaVr8,646
773
773
  homeassistant-stubs/components/doorbird/models.pyi,sha256=KNdAP2DgBxtPQ4A6-eKsfebS8N1mvyX1awoamlGzsaQ,466
774
- homeassistant-stubs/components/doorbird/repairs.pyi,sha256=7lmmBPZTa2FpkjBie-kx9t86xO-DardC1NQ1cR7qSzA,725
775
774
  homeassistant-stubs/components/doorbird/util.pyi,sha256=LrI-frW3F9jxCwULZ57pwlPJ1LnTHgos7V61ND1PYns,532
776
775
  homeassistant-stubs/components/doorbird/view.pyi,sha256=3-X3TYU6s420puQBFdPotm_9UqcCwSszyBJeVzIfsWw,597
777
776
  homeassistant-stubs/components/dormakaba_dkey/__init__.pyi,sha256=JTXQ2YvKFzWdeObyNYCLkPuM8yK5gHVhioaNtKNh33s,1172
@@ -956,7 +955,7 @@ homeassistant-stubs/components/esphome/sensor.pyi,sha256=2QeRoHVnJTCN3z16AtuzeF5
956
955
  homeassistant-stubs/components/esphome/switch.pyi,sha256=S07GasrfFp8vM4l0EulKRAmqrtgFLxT7mCfM5DVhTKQ,1015
957
956
  homeassistant-stubs/components/esphome/text.pyi,sha256=8gIzeCItqj-2XHqvZWUpOVVajpdfRGSKKeBbY4h3cjM,1032
958
957
  homeassistant-stubs/components/esphome/time.pyi,sha256=BcQ6KjXViXdiQN7F3YOL5Y4fRaDO4qiM95pCtbsGMcY,553
959
- homeassistant-stubs/components/esphome/update.pyi,sha256=FBGgyKo-efJP5RTDafALbM5SaKnjISDhwxLfKUnBWnQ,3364
958
+ homeassistant-stubs/components/esphome/update.pyi,sha256=10jjSn07maAchq4Dvg6e-v2QrEPeYRoADGOktR2Y5BY,3318
960
959
  homeassistant-stubs/components/esphome/valve.pyi,sha256=r7BEA77eFbPZHGX9GgYI9GKk64G-W9Hd7UdJm6hRiEg,1443
961
960
  homeassistant-stubs/components/esphome/voice_assistant.pyi,sha256=J6n37i0HYy93PkkasraRqDI7VQKxXFXtjhzHA7KMutc,3870
962
961
  homeassistant-stubs/components/event/__init__.pyi,sha256=M8lnxqLne_lMW8p6ghjo9hBzcjr2xut0g048iujPf_I,2724
@@ -1320,7 +1319,7 @@ homeassistant-stubs/components/http/forwarded.pyi,sha256=QQuX-qloOWLwJF45Uadx-J0
1320
1319
  homeassistant-stubs/components/http/headers.pyi,sha256=_-xDvZFyfPHa71OuOXfQNFlzTohcvPp_slSYObAPaTc,283
1321
1320
  homeassistant-stubs/components/http/request_context.pyi,sha256=zmAqNeMGvwDHqZ47onabm1oDVRR3-5w-5AILYMtemm4,410
1322
1321
  homeassistant-stubs/components/http/security_filter.pyi,sha256=qLhK0-tfUozOMSGAzFNKSsd_SOnWGAQbIWHFddYjmI8,399
1323
- homeassistant-stubs/components/http/static.pyi,sha256=xz1Z23YUsV4IoknFFg3KyvY6k61k6H8gQ7wdlu9THc8,529
1322
+ homeassistant-stubs/components/http/static.pyi,sha256=dm7TF_fMgaS-JN0wEDMmOzaNkDpNjh8jcGWnszcbWLo,650
1324
1323
  homeassistant-stubs/components/http/view.pyi,sha256=5CAdcEM2RB7R-rRPYp51lwxj-WZMXn_kO1P8qjVWcC0,130
1325
1324
  homeassistant-stubs/components/http/web_runner.pyi,sha256=gN57SW8QyrEQeYNDZAFSQaF1AwkPG_Z3X30BCJr4v_A,594
1326
1325
  homeassistant-stubs/components/huawei_lte/__init__.pyi,sha256=dYDBy4zc4jxb-ffLc6klK5M-FZ4l-OZSps3fplCbxUc,5233
@@ -1511,43 +1510,43 @@ homeassistant-stubs/components/knocki/const.pyi,sha256=ApJjYGIfxEHQ112a2tGXF7SyT
1511
1510
  homeassistant-stubs/components/knocki/coordinator.pyi,sha256=SKCcJ_dNiD8JLraJjT6U8mOqSuK3_Y0xxJsLXbVdThY,770
1512
1511
  homeassistant-stubs/components/knocki/event.pyi,sha256=R2ZSVS8T3esGkWS-eokY5h8cYOJLRG622YAXP9DqMJI,1166
1513
1512
  homeassistant-stubs/components/knx/__init__.pyi,sha256=aHye53j5CRYG5YTY6O6nS0q_UGkD_xHcLqVAi2uXvCk,5104
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
1513
+ homeassistant-stubs/components/knx/binary_sensor.pyi,sha256=BgPd0HLWOxttfdpnJKEgGjM2yGEOLJXInx6pZMAW2D8,1725
1514
+ homeassistant-stubs/components/knx/button.pyi,sha256=VwWeklDIcJXqQ8n5e7p8mK7E0436HQHMjuv4hzCZr9U,1233
1515
+ homeassistant-stubs/components/knx/climate.pyi,sha256=EVZZW2YJirOhB2xeiNnyPGOBS7-gOmwp2KYzQkiHP3E,2910
1517
1516
  homeassistant-stubs/components/knx/config_flow.pyi,sha256=9jQEjOqhkBoy7OmsDx4aIqHubKwpPdCIyjusl9Cs8XU,5367
1518
1517
  homeassistant-stubs/components/knx/const.pyi,sha256=y3uavAxO-5bnRkt4mKybMutxUX8VrvTcjo-jqDxbvQM,3117
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
1518
+ homeassistant-stubs/components/knx/cover.pyi,sha256=39qF9WH6vHca2mGrLNVO2YwjtvPDlF2sMJteMqLvPaM,2343
1519
+ homeassistant-stubs/components/knx/date.pyi,sha256=P9guu_kdcZ4cvjwGm5NNIdSJ1Gdoc6jmKl-jD_7y57I,1679
1520
+ homeassistant-stubs/components/knx/datetime.pyi,sha256=F6UggEuJRU9R0CU1vXTka55J20nvXoklpCfLKRqxF_M,1710
1522
1521
  homeassistant-stubs/components/knx/device.pyi,sha256=FSHa06BdZOS9SAbCI9cPJ41KJPvSNA8CU5xpXqhUwtk,820
1523
1522
  homeassistant-stubs/components/knx/device_trigger.pyi,sha256=epT2yKCIkiFdO44NppDbiNYPL11rHQvpUVoOQUqlXpc,1803
1524
1523
  homeassistant-stubs/components/knx/diagnostics.pyi,sha256=9_gpNHVyA6NtbhXBNqQsv8bpEVqWooyw19fNO_JGxqc,757
1525
1524
  homeassistant-stubs/components/knx/expose.pyi,sha256=Fp-VSMzckYu7JvBOHZ8VbacNj6KRgzW_oLbYLHoj9Kg,2071
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
- homeassistant-stubs/components/knx/project.pyi,sha256=-vxoEDsWZbdyj2agryGBg5FGyEtjtDNdSsuxF5pP5i0,1764
1532
- homeassistant-stubs/components/knx/scene.pyi,sha256=f9YYeH-D_Bga0CCkCzaQ2x6BQPX9HuH5nJekLgfv7wI,1220
1533
- homeassistant-stubs/components/knx/schema.pyi,sha256=qJygNCJsOa-DyDHVqtCZjgZfxrKdqQDkED3MAM-6I7c,8640
1534
- homeassistant-stubs/components/knx/select.pyi,sha256=o3NmCVfdd8R7iQ7tq3zsbvvd75YASo5vACKSplYyb9E,1997
1535
- homeassistant-stubs/components/knx/sensor.pyi,sha256=m4f1Cb4astKM4zARMEdZDTVxAam0sYtUkg3aRvqWf6o,3553
1525
+ homeassistant-stubs/components/knx/fan.pyi,sha256=iD1pjzV4oRDiRgfR59CMgmdihBEL_Dq8zPv6PQtIfAs,2092
1526
+ homeassistant-stubs/components/knx/knx_entity.pyi,sha256=YfpBPT3FdBwN71kaXXYMT5LY4GksSRYjwRELbooriik,670
1527
+ homeassistant-stubs/components/knx/light.pyi,sha256=y0UFxaha96C5Pl-kb7y77Ly7YGPkbLsMYkfxPZHjl8k,4099
1528
+ homeassistant-stubs/components/knx/notify.pyi,sha256=AQjcPnVpdOhQHv44UrfzLZz14gzlBl3G7SvEy6Y_jp4,2075
1529
+ homeassistant-stubs/components/knx/number.pyi,sha256=6IjV1UviOXpBRO0mhzfo2yZCdykbJ4k43zduR0o6jQ0,1782
1530
+ homeassistant-stubs/components/knx/project.pyi,sha256=bWUr71-anXkhvDG33YmoZBmURey7lobCfJtzHax7uYs,1663
1531
+ homeassistant-stubs/components/knx/scene.pyi,sha256=alZdHrd4ovqIrhimmYXz4VCOJ3zglR3I8xaVDxSgDmw,1190
1532
+ homeassistant-stubs/components/knx/schema.pyi,sha256=jZBZidebtVKkPZZBBjv5efktsP57zXMGehXDRoOMeOQ,8544
1533
+ homeassistant-stubs/components/knx/select.pyi,sha256=Xd8Z_EnSnEX9DvzpPce6pNXMpu9v96yuIsHzQS4pAZU,1937
1534
+ homeassistant-stubs/components/knx/sensor.pyi,sha256=dKLdUnyClzfuH_M7JJyf11sWNvXY-wPOrw6Hqd7Fl-o,3530
1536
1535
  homeassistant-stubs/components/knx/services.pyi,sha256=Jgj3lSHbQDS4jBsF_tZBRZ8ji-wCrRUXQ7pdPLLBd_E,1936
1537
1536
  homeassistant-stubs/components/knx/storage/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1538
- homeassistant-stubs/components/knx/storage/config_store.pyi,sha256=lA_KH6s3Dp_lMNwPlasKsGr5yW9cE6tGIAv46tdRLzk,1974
1537
+ homeassistant-stubs/components/knx/storage/config_store.pyi,sha256=lTr4xgZGZGTUGFnREImXPki6BqUpl9vX75URnySGsWQ,1623
1539
1538
  homeassistant-stubs/components/knx/storage/const.pyi,sha256=Iz0pWMLKrX-SLaW57lfb3QY0siM7tJIo8Jsuqzv_p5o,710
1540
1539
  homeassistant-stubs/components/knx/storage/entity_store_schema.pyi,sha256=VKy7FgNa5zMQfoigDvMUSwfeLh_tDKulWWeBthV4oPI,2372
1541
1540
  homeassistant-stubs/components/knx/storage/entity_store_validation.pyi,sha256=oKK9FLT_HD5nnhMvTVDYs2s61a9Q8JcClFKnIi_rSK0,806
1542
1541
  homeassistant-stubs/components/knx/storage/keyring.pyi,sha256=oTrE8GVCNVbPdtEwfER_jEpK_WT9aNzMYJAsF5ko1iA,548
1543
1542
  homeassistant-stubs/components/knx/storage/knx_selector.pyi,sha256=drkfKxQaDXvxpJXf-ziMck_fQfwp-QFQMeUxLBXFFPE,1029
1544
- homeassistant-stubs/components/knx/switch.pyi,sha256=d-KFJXHZGGMap9c4vUjcTJYbrpM4KyTOUeQkztwjTtI,2625
1543
+ homeassistant-stubs/components/knx/switch.pyi,sha256=I711nxSabgvi9eUbXLLD12papvPGIQ9eW7icUSfYIq8,2415
1545
1544
  homeassistant-stubs/components/knx/telegrams.pyi,sha256=BiOEWLpGC9a2th91r4nCVlpGMV68m7RmUaVZdgaAUe8,1991
1546
- homeassistant-stubs/components/knx/text.pyi,sha256=ZeUtqhfeeC3sgb7gNpkb_XgHw7YNgX43wkUFDBzqpDo,1792
1547
- homeassistant-stubs/components/knx/time.pyi,sha256=vChzsWM1fdtgvg8NFNOQTWjKRh326Gx_KFjOUgg6FKs,1739
1545
+ homeassistant-stubs/components/knx/text.pyi,sha256=wvkuO6mIatAWWOJI2Z7QrllSahtvYfnB2lnxseytn_Y,1732
1546
+ homeassistant-stubs/components/knx/time.pyi,sha256=Wn73nkIa2idXjza9bMXLPVBNeAMXG6WAduBjbfoB5Ws,1742
1548
1547
  homeassistant-stubs/components/knx/trigger.pyi,sha256=jYgHNrPjutHvGopE28NZAGZQbfmUEeyvZmtk0Job7xQ,1517
1549
- homeassistant-stubs/components/knx/validation.pyi,sha256=vT1rAC3zea2V_wWie61Wv0jUyvCbEFoQP19dyTXGgu4,818
1550
- homeassistant-stubs/components/knx/weather.pyi,sha256=PlV_tKTS3i8QXVdIYlzT3JxkZYxxb2hwxUSeOCyEyoQ,1850
1548
+ homeassistant-stubs/components/knx/validation.pyi,sha256=V4--dkfyqrjAmc-CQep3bPaneXdA2JxqABioQfOZsM0,681
1549
+ homeassistant-stubs/components/knx/weather.pyi,sha256=sfBa11nP55Cxq-AHcenXvPtxQYU2JN3q77y3VJS2nWw,1790
1551
1550
  homeassistant-stubs/components/knx/websocket.pyi,sha256=hhE6xDxbvDDPFQBPYhkLbnKTcXVT6eZghxizzNYI2dU,2892
1552
1551
  homeassistant-stubs/components/kraken/__init__.pyi,sha256=e_5XJyq0DhzLh2H35IdXpBTe25EgXb79a7_jdA2X3bI,1770
1553
1552
  homeassistant-stubs/components/kraken/config_flow.pyi,sha256=RzWeA4GPx_LuBJhHbU7yLdyV4gIhpYQrmN0-t1C9y3k,1073
@@ -1663,7 +1662,7 @@ homeassistant-stubs/components/linkplay/__init__.pyi,sha256=idpzEsEHyu4EXfy0WX_k
1663
1662
  homeassistant-stubs/components/linkplay/config_flow.pyi,sha256=hNeUamBBir3bTbIJh1NsUXdVqZ-3emn9xkGbuENuj9s,876
1664
1663
  homeassistant-stubs/components/linkplay/const.pyi,sha256=rWT3SFRVo9UAulZ2cOIIZLDcsSvgXDgWjiGGp2jOpoY,121
1665
1664
  homeassistant-stubs/components/linkplay/media_player.pyi,sha256=lGyWmL3eGb6S_NvtwiGjQa4oovxmBx9SC784Mg7DWTY,3511
1666
- homeassistant-stubs/components/linkplay/utils.pyi,sha256=ydxUsFlarrh7dZj60MZDqkdlO7E2fikdu4BKFVs8JCw,619
1665
+ homeassistant-stubs/components/linkplay/utils.pyi,sha256=JDle3E-J69r9w4NkV-Ssv1njbvSA15ktt8nDC__nPSE,264
1667
1666
  homeassistant-stubs/components/litejet/__init__.pyi,sha256=kjhUyHTWKn3vZrYmvjhfZZPRYhrX2CFS_k2st-gTf_Q,615
1668
1667
  homeassistant-stubs/components/litejet/config_flow.pyi,sha256=8eb8zahVh3L4-Ak-NBQUZn_dLPHHfEacfwtSD3duAGA,905
1669
1668
  homeassistant-stubs/components/litejet/const.pyi,sha256=XIupv_a3TmfaeyfjsM2D-nqZhnLwVEJgavgXNun0LFc,201
@@ -2834,7 +2833,7 @@ homeassistant-stubs/components/systemmonitor/diagnostics.pyi,sha256=3tOFv8ZXiIcv
2834
2833
  homeassistant-stubs/components/systemmonitor/repairs.pyi,sha256=TGxQR3xujHlcp6gXfZ4BRvsXz3_rrzw07K9PKH4V5U8,884
2835
2834
  homeassistant-stubs/components/systemmonitor/sensor.pyi,sha256=mIQrTcSWYJ5E3oiLH1BirIFFPno57XMEY6TxomHE27c,4324
2836
2835
  homeassistant-stubs/components/systemmonitor/util.pyi,sha256=tJIGD7TT7BqPVYhoGQrbYHMKco9nrnUzT1l_5fLKZIo,655
2837
- homeassistant-stubs/components/tag/__init__.pyi,sha256=k60juLPx-DvbhfEpn5UdVutrIgjhv6JjoMsr6TbOqNk,3835
2836
+ homeassistant-stubs/components/tag/__init__.pyi,sha256=ecE9qeOnLIZWn5n8p6Tc1RnvJcn1fyTsmEC-iQ5GYUA,3870
2838
2837
  homeassistant-stubs/components/tag/const.pyi,sha256=49NoQDGRwRhwzeE6qELOC1Mgq6PniZKfBsbLNQ9EM9I,133
2839
2838
  homeassistant-stubs/components/tag/trigger.pyi,sha256=Qc6KBk5exjqWqYLdXahuNtOk6yVQOM_I5STpXfQz3ac,696
2840
2839
  homeassistant-stubs/components/tailscale/__init__.pyi,sha256=1GacvcYbzVUJgerHKhnWEXIK5D-itQcYi-5P6djVYe8,1269
@@ -2891,7 +2890,7 @@ homeassistant-stubs/components/tedee/const.pyi,sha256=cGy8HvBei_AN-UF7J6Xpr3_Jp4
2891
2890
  homeassistant-stubs/components/tedee/coordinator.pyi,sha256=RpX2DCaDuoTiI8ubflrt594RIHTt7FKWwrPdEbx-nmA,1690
2892
2891
  homeassistant-stubs/components/tedee/diagnostics.pyi,sha256=Tfo9925_W258LgXbaR_tA9Srh22EwmAKyaGkXSuI5ME,395
2893
2892
  homeassistant-stubs/components/tedee/entity.pyi,sha256=XQfXUjDQ_Awkyg5urrEhnDerKo3yyo5hUHssvSqfqDY,1033
2894
- homeassistant-stubs/components/tedee/lock.pyi,sha256=zkCzPs66fTz1HCi5nk4i6-OVUvvlN7tYYdiwWzm5bTs,1572
2893
+ homeassistant-stubs/components/tedee/lock.pyi,sha256=XKeEGADzCS50aiYHf3WtzAIeGaXNKdzHO8wyl2LeHKs,1565
2895
2894
  homeassistant-stubs/components/tedee/sensor.pyi,sha256=WEdA0ESXVYBxnNygLwz3U_B9AhSVMbLjq-syAJfyulI,1685
2896
2895
  homeassistant-stubs/components/text/__init__.pyi,sha256=82BWBeUKa5bdDQuL7_DNBkHlWb99yfB_995kdqOAUdY,2613
2897
2896
  homeassistant-stubs/components/text/const.pyi,sha256=jgUyRC9MeoNPeKV2lYbcmnBp64F9BDV6t2O_j93SkTg,112
@@ -3067,7 +3066,7 @@ homeassistant-stubs/components/unifi/hub/entity_loader.pyi,sha256=mlpRE8-RmjYLLY
3067
3066
  homeassistant-stubs/components/unifi/hub/hub.pyi,sha256=syjJxVmOpv_WQVeAbi4tI84EnW4N_Zx4eBhv5aXpP90,2002
3068
3067
  homeassistant-stubs/components/unifi/hub/websocket.pyi,sha256=ah4FRwEgyW2bg_DNueSIcaq8WN0ieGv0tcY8K6zcDA8,1017
3069
3068
  homeassistant-stubs/components/unifi/image.pyi,sha256=U99cFTuHBydofWCjzcK5tXSIwKgQKyCqOFIk6knLJ5g,2460
3070
- homeassistant-stubs/components/unifi/sensor.pyi,sha256=V_1SO1f8NGcziV0bRozGJwsgfrJaebXT7ASvdDJBXjY,5263
3069
+ homeassistant-stubs/components/unifi/sensor.pyi,sha256=6ofEgUWy8Ofhx6wMjMZWdo0EBVGJyTQy1uA34zgbBcw,5213
3071
3070
  homeassistant-stubs/components/unifi/services.pyi,sha256=qI0CBk86u0vJLN5H6Rn-wKkMy_7vbXYamVNLh8uQuIM,852
3072
3071
  homeassistant-stubs/components/unifi/switch.pyi,sha256=tWGGxmw6QOHlc6ZYBwJJ5jASgBBmeWhXPiZjfM4LAH8,4398
3073
3072
  homeassistant-stubs/components/unifi/update.pyi,sha256=8v2yXmpSxhCg7Y7Ij3lSzBS3Ue1VXxOiqk0zIsVBpDs,2666
@@ -3409,7 +3408,7 @@ homeassistant-stubs/helpers/discovery_flow.pyi,sha256=0hlkMylFX5XweVFfUQNqMVkl0m
3409
3408
  homeassistant-stubs/helpers/dispatcher.pyi,sha256=-CFUiQu9mlswAoCLPGn6PWguJzsWjHU_2ah0gA1ET1o,2322
3410
3409
  homeassistant-stubs/helpers/entity.pyi,sha256=X30opSvdokIp2GGQytBe-u_UCzC9iD9zO9F6wmkFouo,13400
3411
3410
  homeassistant-stubs/helpers/entity_component.pyi,sha256=Putg09YNzPgNjYqSUWEWQOHEG7mr8uEO-IFpm7uHbpY,3657
3412
- homeassistant-stubs/helpers/entity_platform.pyi,sha256=YsYR9AQ0dweLBJdDSwIKGMOYnLLw2E47R0TqJEMPTw0,6748
3411
+ homeassistant-stubs/helpers/entity_platform.pyi,sha256=es8e8YgFxabaa6GAjYxbWAiEJBWDcoMApXMwA2OBWI0,6755
3413
3412
  homeassistant-stubs/helpers/entity_registry.pyi,sha256=mCMQxfiCY-RycM9t2T1vwoKi8vvkIJRePH1928U5Yt0,14521
3414
3413
  homeassistant-stubs/helpers/entity_values.pyi,sha256=lxdx5isoDpSurN03yLcyJiiwkphatspaDbAPV51sKtE,509
3415
3414
  homeassistant-stubs/helpers/entityfilter.pyi,sha256=1pbVZXp58ryJJF4T6X-w013NqYtQ0KhtUKcAJVhJJSY,2060
@@ -3513,7 +3512,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3513
3512
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3514
3513
  homeassistant-stubs/util/yaml/loader.pyi,sha256=YJBfnreepz_lhluQPSW4zVkwMv6fj2gZfGJtWObnfLg,4652
3515
3514
  homeassistant-stubs/util/yaml/objects.pyi,sha256=YUlr0nf9ugzJT9J2YHaGV2fXu5opuyNvvHPqNW46m5I,707
3516
- homeassistant_stubs-2024.8.0.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3517
- homeassistant_stubs-2024.8.0.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3518
- homeassistant_stubs-2024.8.0.dist-info/METADATA,sha256=SGCkdzOkREY_jQv6AscSUzEXySWdViMx3L2kR0f8ox4,3011
3519
- homeassistant_stubs-2024.8.0.dist-info/RECORD,,
3515
+ homeassistant_stubs-2024.8.0b0.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3516
+ homeassistant_stubs-2024.8.0b0.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3517
+ homeassistant_stubs-2024.8.0b0.dist-info/METADATA,sha256=UQuwuEwBNR2L6t_jAg_lYRDcG_pH23KKsbl4TfrBuRA,3015
3518
+ homeassistant_stubs-2024.8.0b0.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- from _typeshed import Incomplete
2
- from homeassistant import data_entry_flow as data_entry_flow
3
- from homeassistant.components.repairs import RepairsFlow as RepairsFlow
4
- from homeassistant.core import HomeAssistant as HomeAssistant
5
-
6
- class DoorBirdReloadConfirmRepairFlow(RepairsFlow):
7
- entry_id: Incomplete
8
- def __init__(self, entry_id: str) -> None: ...
9
- async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
10
- async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
11
-
12
- async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...