homeassistant-stubs 2024.3.0b2__py3-none-any.whl → 2024.3.0b3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- from . import ATTR_POSITION as ATTR_POSITION, DOMAIN as DOMAIN
2
- from homeassistant.const import SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION
1
+ from . import DOMAIN as DOMAIN
2
+ from homeassistant.const import SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from homeassistant.helpers import intent as intent
5
5
 
@@ -2,15 +2,14 @@ import asyncio
2
2
  import ssl
3
3
  from .auth import async_setup_auth as async_setup_auth
4
4
  from .ban import setup_bans as setup_bans
5
- from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
5
+ from .const import KEY_HASS as KEY_HASS, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
6
6
  from .cors import setup_cors as setup_cors
7
7
  from .decorators import require_admin as require_admin
8
8
  from .forwarded import async_setup_forwarded as async_setup_forwarded
9
9
  from .headers import setup_headers as setup_headers
10
- from .request_context import current_request as current_request, setup_request_context as setup_request_context
10
+ from .request_context import setup_request_context as setup_request_context
11
11
  from .security_filter import setup_security_filter as setup_security_filter
12
12
  from .static import CACHE_HEADERS as CACHE_HEADERS, CachingStaticResource as CachingStaticResource
13
- from .view import HomeAssistantView as HomeAssistantView
14
13
  from .web_runner import HomeAssistantTCPSite as HomeAssistantTCPSite
15
14
  from _typeshed import Incomplete
16
15
  from aiohttp import web
@@ -25,6 +24,7 @@ from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_
25
24
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
26
25
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
27
26
  from homeassistant.helpers import storage as storage
27
+ from homeassistant.helpers.http import HomeAssistantView as HomeAssistantView, KEY_AUTHENTICATED as KEY_AUTHENTICATED, current_request as current_request
28
28
  from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
29
29
  from homeassistant.helpers.typing import ConfigType as ConfigType
30
30
  from homeassistant.loader import bind_hass as bind_hass
@@ -1,5 +1,4 @@
1
1
  from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
2
- from .request_context import current_request as current_request
3
2
  from _typeshed import Incomplete
4
3
  from aiohttp.web import Application as Application, Request as Request, StreamResponse as StreamResponse
5
4
  from collections.abc import Callable as Callable
@@ -9,6 +8,7 @@ from homeassistant.auth.const import GROUP_ID_READ_ONLY as GROUP_ID_READ_ONLY
9
8
  from homeassistant.auth.models import User as User
10
9
  from homeassistant.components import websocket_api as websocket_api
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers.http import current_request as current_request
12
12
  from homeassistant.helpers.json import json_bytes as json_bytes
13
13
  from homeassistant.helpers.network import is_cloud_connection as is_cloud_connection
14
14
  from homeassistant.helpers.storage import Store as Store
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
3
3
  from aiohttp.web import Application as Application, Request as Request, Response as Response, StreamResponse as StreamResponse
4
4
  from collections.abc import Awaitable, Callable as Callable, Coroutine
5
5
  from datetime import datetime
6
- from homeassistant.components import persistent_notification as persistent_notification
7
6
  from homeassistant.config import load_yaml_config_file as load_yaml_config_file
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -1,6 +1,6 @@
1
+ from homeassistant.helpers.http import KEY_AUTHENTICATED as KEY_AUTHENTICATED
1
2
  from typing import Final
2
3
 
3
- KEY_AUTHENTICATED: Final[str]
4
4
  KEY_HASS: Final[str]
5
5
  KEY_HASS_USER: Final[str]
6
6
  KEY_HASS_REFRESH_TOKEN_ID: Final[str]
@@ -2,7 +2,6 @@ from aiohttp.web import Application as Application, Request as Request, StreamRe
2
2
  from collections.abc import Callable as Callable
3
3
  from contextvars import ContextVar
4
4
  from homeassistant.core import callback as callback
5
-
6
- current_request: ContextVar[Request | None]
5
+ from homeassistant.helpers.http import current_request as current_request
7
6
 
8
7
  def setup_request_context(app: Application, context: ContextVar[Request | None]) -> None: ...
@@ -1,29 +1 @@
1
- from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED
2
- from _typeshed import Incomplete
3
- from aiohttp import web
4
- from aiohttp.typedefs import LooseHeaders as LooseHeaders
5
- from aiohttp.web_urldispatcher import AbstractRoute as AbstractRoute
6
- from collections.abc import Awaitable, Callable as Callable
7
- from homeassistant import exceptions as exceptions
8
- from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON
9
- from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, is_callback as is_callback
10
- from homeassistant.helpers.json import find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_dumps as json_dumps
11
- from homeassistant.util.json import JSON_ENCODE_EXCEPTIONS as JSON_ENCODE_EXCEPTIONS, format_unserializable_data as format_unserializable_data
12
- from http import HTTPStatus
13
- from typing import Any
14
-
15
- _LOGGER: Incomplete
16
-
17
- class HomeAssistantView:
18
- url: str | None
19
- extra_urls: list[str]
20
- requires_auth: bool
21
- cors_allowed: bool
22
- @staticmethod
23
- def context(request: web.Request) -> Context: ...
24
- @staticmethod
25
- def json(result: Any, status_code: HTTPStatus | int = ..., headers: LooseHeaders | None = None) -> web.Response: ...
26
- def json_message(self, message: str, status_code: HTTPStatus | int = ..., message_code: str | None = None, headers: LooseHeaders | None = None) -> web.Response: ...
27
- def register(self, hass: HomeAssistant, app: web.Application, router: web.UrlDispatcher) -> None: ...
28
-
29
- def request_handler_factory(hass: HomeAssistant, view: HomeAssistantView, handler: Callable) -> Callable[[web.Request], Awaitable[web.StreamResponse]]: ...
1
+ from homeassistant.helpers.http import HomeAssistantView as HomeAssistantView, request_handler_factory as request_handler_factory
@@ -2,10 +2,10 @@ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import web as web
4
4
  from homeassistant.components import http as http
5
- from homeassistant.components.cover import SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER
5
+ from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION
6
6
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
7
7
  from homeassistant.components.lock import SERVICE_LOCK as SERVICE_LOCK, SERVICE_UNLOCK as SERVICE_UNLOCK
8
- from homeassistant.components.valve import SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE
8
+ from homeassistant.components.valve import SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE, SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION
9
9
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State
11
11
  from homeassistant.helpers import integration_platform as integration_platform, intent as intent
@@ -21,7 +21,7 @@ class IntentPlatformProtocol(Protocol):
21
21
  async def async_setup_intents(self, hass: HomeAssistant) -> None: ...
22
22
 
23
23
  class OnOffIntentHandler(intent.ServiceIntentHandler):
24
- async def async_call_service(self, intent_obj: intent.Intent, state: State) -> None: ...
24
+ async def async_call_service(self, domain: str, service: str, intent_obj: intent.Intent, state: State) -> None: ...
25
25
 
26
26
  class GetStateIntentHandler(intent.IntentHandler):
27
27
  intent_type: Incomplete
@@ -32,6 +32,10 @@ class NevermindIntentHandler(intent.IntentHandler):
32
32
  intent_type: Incomplete
33
33
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
34
34
 
35
+ class SetPositionIntentHandler(intent.DynamicServiceIntentHandler):
36
+ def __init__(self) -> None: ...
37
+ def get_domain_and_service(self, intent_obj: intent.Intent, state: State) -> tuple[str, str]: ...
38
+
35
39
  async def _async_process_intent(hass: HomeAssistant, domain: str, platform: IntentPlatformProtocol) -> None: ...
36
40
 
37
41
  class IntentHandleView(http.HomeAssistantView):
@@ -6,6 +6,7 @@ from .atlantic_pass_apc_heating_zone import AtlanticPassAPCHeatingZone as Atlant
6
6
  from .atlantic_pass_apc_zone_control import AtlanticPassAPCZoneControl as AtlanticPassAPCZoneControl
7
7
  from .atlantic_pass_apc_zone_control_zone import AtlanticPassAPCZoneControlZone as AtlanticPassAPCZoneControlZone
8
8
  from .hitachi_air_to_air_heat_pump_hlrrwifi import HitachiAirToAirHeatPumpHLRRWIFI as HitachiAirToAirHeatPumpHLRRWIFI
9
+ from .hitachi_air_to_air_heat_pump_ovp import HitachiAirToAirHeatPumpOVP as HitachiAirToAirHeatPumpOVP
9
10
  from .somfy_heating_temperature_interface import SomfyHeatingTemperatureInterface as SomfyHeatingTemperatureInterface
10
11
  from .somfy_thermostat import SomfyThermostat as SomfyThermostat
11
12
  from .valve_heating_temperature_interface import ValveHeatingTemperatureInterface as ValveHeatingTemperatureInterface
@@ -0,0 +1,61 @@
1
+ from ..const import DOMAIN as DOMAIN
2
+ from ..coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
3
+ from ..entity import OverkizEntity as OverkizEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
6
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
7
+ from typing import Any
8
+
9
+ PRESET_HOLIDAY_MODE: str
10
+ FAN_SILENT: str
11
+ TEMP_MIN: int
12
+ TEMP_MAX: int
13
+ TEMP_AUTO_MIN: int
14
+ TEMP_AUTO_MAX: int
15
+ AUTO_PIVOT_TEMPERATURE: int
16
+ AUTO_TEMPERATURE_CHANGE_MIN: Incomplete
17
+ AUTO_TEMPERATURE_CHANGE_MAX: Incomplete
18
+ OVERKIZ_TO_HVAC_MODES: dict[str, HVACMode]
19
+ HVAC_MODES_TO_OVERKIZ: dict[HVACMode, str]
20
+ OVERKIZ_TO_SWING_MODES: dict[str, str]
21
+ SWING_MODES_TO_OVERKIZ: Incomplete
22
+ OVERKIZ_TO_FAN_MODES: dict[str, str]
23
+ FAN_MODES_TO_OVERKIZ: dict[str, str]
24
+
25
+ class HitachiAirToAirHeatPumpOVP(OverkizEntity, ClimateEntity):
26
+ _attr_hvac_modes: Incomplete
27
+ _attr_fan_modes: Incomplete
28
+ _attr_preset_modes: Incomplete
29
+ _attr_swing_modes: Incomplete
30
+ _attr_target_temperature_step: float
31
+ _attr_temperature_unit: Incomplete
32
+ _attr_translation_key = DOMAIN
33
+ _attr_supported_features: Incomplete
34
+ def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
35
+ @property
36
+ def hvac_mode(self) -> HVACMode: ...
37
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
38
+ @property
39
+ def fan_mode(self) -> str | None: ...
40
+ async def async_set_fan_mode(self, fan_mode: str) -> None: ...
41
+ @property
42
+ def swing_mode(self) -> str | None: ...
43
+ async def async_set_swing_mode(self, swing_mode: str) -> None: ...
44
+ @property
45
+ def target_temperature(self) -> int | None: ...
46
+ @property
47
+ def current_temperature(self) -> int | None: ...
48
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
49
+ @property
50
+ def preset_mode(self) -> str | None: ...
51
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...
52
+ @property
53
+ def auto_manu_mode(self) -> str | None: ...
54
+ @property
55
+ def temperature_change(self) -> int | None: ...
56
+ @property
57
+ def min_temp(self) -> float: ...
58
+ @property
59
+ def max_temp(self) -> float: ...
60
+ def _control_backfill(self, value: str | None, state_name: str, fallback_value: str) -> str: ...
61
+ async def _global_control(self, main_operation: str | None = None, target_temperature: int | None = None, fan_mode: str | None = None, hvac_mode: str | None = None, swing_mode: str | None = None, leave_home: str | None = None) -> None: ...
@@ -2,7 +2,7 @@ import voluptuous as vol
2
2
  from .const import CONF_IGNORED_ZONES as CONF_IGNORED_ZONES, CONF_TOLERANCE as CONF_TOLERANCE, CONF_TRACKED_ENTITIES as CONF_TRACKED_ENTITIES, DEFAULT_PROXIMITY_ZONE as DEFAULT_PROXIMITY_ZONE, DEFAULT_TOLERANCE as DEFAULT_TOLERANCE, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, OptionsFlow as OptionsFlow
5
- from homeassistant.const import CONF_ZONE as CONF_ZONE
5
+ from homeassistant.const import CONF_ZONE as CONF_ZONE, UnitOfLength as UnitOfLength
6
6
  from homeassistant.core import State as State, callback as callback
7
7
  from homeassistant.data_entry_flow import FlowResult as FlowResult
8
8
  from homeassistant.helpers.selector import EntitySelector as EntitySelector, EntitySelectorConfig as EntitySelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig
@@ -5,9 +5,9 @@ from _typeshed import Incomplete
5
5
  from aiohttp import web as web
6
6
  from collections.abc import Callable
7
7
  from homeassistant.auth.models import RefreshToken as RefreshToken, User as User
8
- from homeassistant.components.http import current_request as current_request
9
8
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, Unauthorized as Unauthorized
10
+ from homeassistant.helpers.http import current_request as current_request
11
11
  from homeassistant.util.json import JsonValueType as JsonValueType
12
12
  from typing import Any
13
13
 
@@ -15,6 +15,7 @@ from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragme
15
15
  from .helpers.storage import Store as Store
16
16
  from .util import location as location
17
17
  from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
18
+ from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
18
19
  from .util.json import JsonObjectType as JsonObjectType
19
20
  from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
20
21
  from .util.timeout import TimeoutManager as TimeoutManager
@@ -136,6 +137,7 @@ class HomeAssistant:
136
137
  timeout: Incomplete
137
138
  _stop_future: Incomplete
138
139
  _shutdown_jobs: Incomplete
140
+ import_executor: Incomplete
139
141
  def __init__(self, config_dir: str) -> None: ...
140
142
  @cached_property
141
143
  def is_running(self) -> bool: ...
@@ -160,6 +162,7 @@ class HomeAssistant:
160
162
  def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
161
163
  def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
162
164
  def async_add_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
165
+ def async_add_import_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
163
166
  @overload
164
167
  def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any) -> asyncio.Future[_R] | None: ...
165
168
  @overload
@@ -0,0 +1,32 @@
1
+ from .json import find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_dumps as json_dumps
2
+ from _typeshed import Incomplete
3
+ from aiohttp import web
4
+ from aiohttp.typedefs import LooseHeaders as LooseHeaders
5
+ from aiohttp.web import Request as Request
6
+ from aiohttp.web_urldispatcher import AbstractRoute as AbstractRoute
7
+ from collections.abc import Awaitable, Callable as Callable
8
+ from contextvars import ContextVar
9
+ from homeassistant import exceptions as exceptions
10
+ from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON
11
+ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, is_callback as is_callback
12
+ from homeassistant.util.json import JSON_ENCODE_EXCEPTIONS as JSON_ENCODE_EXCEPTIONS, format_unserializable_data as format_unserializable_data
13
+ from http import HTTPStatus
14
+ from typing import Any, Final
15
+
16
+ _LOGGER: Incomplete
17
+ KEY_AUTHENTICATED: Final[str]
18
+ current_request: ContextVar[Request | None]
19
+
20
+ def request_handler_factory(hass: HomeAssistant, view: HomeAssistantView, handler: Callable) -> Callable[[web.Request], Awaitable[web.StreamResponse]]: ...
21
+
22
+ class HomeAssistantView:
23
+ url: str | None
24
+ extra_urls: list[str]
25
+ requires_auth: bool
26
+ cors_allowed: bool
27
+ @staticmethod
28
+ def context(request: web.Request) -> Context: ...
29
+ @staticmethod
30
+ def json(result: Any, status_code: HTTPStatus | int = ..., headers: LooseHeaders | None = None) -> web.Response: ...
31
+ def json_message(self, message: str, status_code: HTTPStatus | int = ..., message_code: str | None = None, headers: LooseHeaders | None = None) -> web.Response: ...
32
+ def register(self, hass: HomeAssistant, app: web.Application, router: web.UrlDispatcher) -> None: ...
@@ -1,7 +1,9 @@
1
+ import abc
1
2
  import asyncio
2
3
  import voluptuous as vol
3
4
  from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry
4
5
  from _typeshed import Incomplete
6
+ from abc import abstractmethod
5
7
  from collections.abc import Collection, Iterable
6
8
  from dataclasses import dataclass
7
9
  from enum import Enum
@@ -67,22 +69,28 @@ class IntentHandler:
67
69
  async def async_handle(self, intent_obj: Intent) -> IntentResponse: ...
68
70
  def __repr__(self) -> str: ...
69
71
 
70
- class ServiceIntentHandler(IntentHandler):
72
+ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
71
73
  slot_schema: Incomplete
72
74
  service_timeout: float
73
75
  intent_type: Incomplete
74
- domain: Incomplete
75
- service: Incomplete
76
76
  speech: Incomplete
77
77
  extra_slots: Incomplete
78
- def __init__(self, intent_type: str, domain: str, service: str, speech: str | None = None, extra_slots: dict[str, vol.Schema] | None = None) -> None: ...
78
+ def __init__(self, intent_type: str, speech: str | None = None, extra_slots: dict[str, vol.Schema] | None = None) -> None: ...
79
79
  @cached_property
80
80
  def _slot_schema(self) -> vol.Schema: ...
81
+ @abstractmethod
82
+ def get_domain_and_service(self, intent_obj: Intent, state: State) -> tuple[str, str]: ...
81
83
  async def async_handle(self, intent_obj: Intent) -> IntentResponse: ...
82
84
  async def async_handle_states(self, intent_obj: Intent, states: list[State], area: area_registry.AreaEntry | None = None) -> IntentResponse: ...
83
- async def async_call_service(self, intent_obj: Intent, state: State) -> None: ...
85
+ async def async_call_service(self, domain: str, service: str, intent_obj: Intent, state: State) -> None: ...
84
86
  async def _run_then_background(self, task: asyncio.Task[Any]) -> None: ...
85
87
 
88
+ class ServiceIntentHandler(DynamicServiceIntentHandler):
89
+ domain: Incomplete
90
+ service: Incomplete
91
+ def __init__(self, intent_type: str, domain: str, service: str, speech: str | None = None, extra_slots: dict[str, vol.Schema] | None = None) -> None: ...
92
+ def get_domain_and_service(self, intent_obj: Intent, state: State) -> tuple[str, str]: ...
93
+
86
94
  class IntentCategory(Enum):
87
95
  ACTION: str
88
96
  QUERY: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: homeassistant-stubs
3
- Version: 2024.3.0b2
3
+ Version: 2024.3.0b3
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
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Topic :: Software Development
19
19
  Classifier: Typing :: Typed
20
- Requires-Dist: homeassistant (==2024.3.0b2)
20
+ Requires-Dist: homeassistant (==2024.3.0b3)
21
21
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
22
22
  Project-URL: Repository, https://github.com/KapJI/homeassistant-stubs
23
23
  Project-URL: Release Notes, https://github.com/KapJI/homeassistant-stubs/releases
@@ -560,7 +560,7 @@ homeassistant-stubs/components/cover/device_action.pyi,sha256=blbykW1YNlOhVacvGg
560
560
  homeassistant-stubs/components/cover/device_condition.pyi,sha256=GLkF-BYjUhm156TNwxrbgskLYcO0cjXLcvL6D8tEMBk,1434
561
561
  homeassistant-stubs/components/cover/device_trigger.pyi,sha256=OU0vHVMkQqARgOWSSho8Ea9q_LiWQmw53bx0rwyH-LQ,1543
562
562
  homeassistant-stubs/components/cover/group.pyi,sha256=p_TwQQOFiFISwzTO54AHo3PdVRcWFMXPmqgJBLRKLi0,371
563
- homeassistant-stubs/components/cover/intent.pyi,sha256=SqbUH4xYBDWzWPDjD-mA98dDOho1l1oqrn1D2hpMglg,464
563
+ homeassistant-stubs/components/cover/intent.pyi,sha256=8uAQn8s0nyoBMQZlnwQVqQt5CqYhzxKSiVsTyF9xkxk,374
564
564
  homeassistant-stubs/components/cover/reproduce_state.pyi,sha256=cl1YF_6RbpC5bdyp0yMvncmnVXia2UVFo5ENYd2sXl8,1293
565
565
  homeassistant-stubs/components/cover/significant_change.pyi,sha256=PG2LgyCySh5ABnoQbrNZ5i7lKZw0o0TiW4e5fph_JXM,558
566
566
  homeassistant-stubs/components/cpuspeed/__init__.pyi,sha256=XL3sZygHGpI75kq_TgKA88TNd-v8oq8kvGmVRZyCSnY,356
@@ -1205,19 +1205,19 @@ homeassistant-stubs/components/homewizard/helpers.pyi,sha256=2_7eReTtgKk2_FVWBxx
1205
1205
  homeassistant-stubs/components/homewizard/number.pyi,sha256=xCThjxk0LOMW5oPaVLgZRKRRFJDufCLtRUrWY9QRObE,1412
1206
1206
  homeassistant-stubs/components/homewizard/sensor.pyi,sha256=Rnqsg7sP1RFJegLnUGaeTX86Lj_m-abo5sxjqaiSssw,4167
1207
1207
  homeassistant-stubs/components/homewizard/switch.pyi,sha256=lG-iZMqWnTsKg_6HmwqXb1WmNg1oMhjVXUEXqwv-wZI,2279
1208
- homeassistant-stubs/components/http/__init__.pyi,sha256=Fg5_CuQMJtvDx1ke_lb_PDr9_Hcql4d_PlPVxqUcW1g,5691
1209
- homeassistant-stubs/components/http/auth.pyi,sha256=wxGxLJHWinOeJELQoCU-mh8FW3HESuY-8CZNoPMupsg,1591
1210
- homeassistant-stubs/components/http/ban.pyi,sha256=YS7DAFdQOywwk6cBSZ7xDO6Zo6d4qTG7xSriRnZm3dE,2191
1211
- homeassistant-stubs/components/http/const.pyi,sha256=HikdjWj2hXd-b0EQx-DiT2sNzD7STD5EAyqHZ-8RsPk,141
1208
+ homeassistant-stubs/components/http/__init__.pyi,sha256=3i_FaMqsFU2rLagyJuFYtGg0XTfSS7-KJYjuEK4-9BI,5712
1209
+ homeassistant-stubs/components/http/auth.pyi,sha256=x0auL7pO-NTgBhmn9B3d1H5d0mPf93yMFwm3qQ8w5-g,1601
1210
+ homeassistant-stubs/components/http/ban.pyi,sha256=lmbNcz2qj6TI9H_HR0xUhn2aK9kZ-Lwr5u6cqlMEem0,2103
1211
+ homeassistant-stubs/components/http/const.pyi,sha256=wktEI-LBC89nU0zy8bpkQt2LsMEoszzSxqoXrA897hs,189
1212
1212
  homeassistant-stubs/components/http/cors.pyi,sha256=BUQmN1XMhcqBP7B8qireJmVEaiHndh5v430lq62PW3o,472
1213
1213
  homeassistant-stubs/components/http/data_validator.pyi,sha256=SKK7bjo28mvSQzEuXq4k9D1XpG2kG6xlrJeQI9nS0bk,758
1214
1214
  homeassistant-stubs/components/http/decorators.pyi,sha256=bvZK6T7YZIf5fn-aGh5kv685oMlUmXWEd21uDHG5FgQ,871
1215
1215
  homeassistant-stubs/components/http/forwarded.pyi,sha256=QQuX-qloOWLwJF45Uadx-J07moC7P7CecfPaCMNhdhM,449
1216
1216
  homeassistant-stubs/components/http/headers.pyi,sha256=_-xDvZFyfPHa71OuOXfQNFlzTohcvPp_slSYObAPaTc,283
1217
- homeassistant-stubs/components/http/request_context.pyi,sha256=1ZsCB6oJzqHezjsMMibWS71x9uCF73rZZF8exGdC6AA,381
1217
+ homeassistant-stubs/components/http/request_context.pyi,sha256=zmAqNeMGvwDHqZ47onabm1oDVRR3-5w-5AILYMtemm4,410
1218
1218
  homeassistant-stubs/components/http/security_filter.pyi,sha256=qLhK0-tfUozOMSGAzFNKSsd_SOnWGAQbIWHFddYjmI8,399
1219
1219
  homeassistant-stubs/components/http/static.pyi,sha256=Lwzy4kFgEjPHc9wAqrZRFU4twXIIsXBrtNsvgeEGgAI,712
1220
- homeassistant-stubs/components/http/view.pyi,sha256=M_ED5v1RYymUNv3IMhwZIN5kITzdgFWqtYRK9-mrj_A,1667
1220
+ homeassistant-stubs/components/http/view.pyi,sha256=5CAdcEM2RB7R-rRPYp51lwxj-WZMXn_kO1P8qjVWcC0,130
1221
1221
  homeassistant-stubs/components/http/web_runner.pyi,sha256=VMSEXhOa-YI7OttEeElEBaC0rXRtoR3yxbFbjem5-JI,594
1222
1222
  homeassistant-stubs/components/huawei_lte/__init__.pyi,sha256=dYDBy4zc4jxb-ffLc6klK5M-FZ4l-OZSps3fplCbxUc,5233
1223
1223
  homeassistant-stubs/components/huawei_lte/binary_sensor.pyi,sha256=TXE-UFCs-gryZhpACaLctqbS427biMvQDYSxJLHAqf0,2647
@@ -1288,7 +1288,7 @@ homeassistant-stubs/components/integration/__init__.pyi,sha256=lEIOCJgCEOkH0ZwqU
1288
1288
  homeassistant-stubs/components/integration/config_flow.pyi,sha256=hLcSSs6AbFsCJitYt5P2aMtHeT_A265Ifi9dgmOVvfY,1089
1289
1289
  homeassistant-stubs/components/integration/const.pyi,sha256=NbCHj5sZg1a3jGXWEyEfRM5UHRwxO8rkAbpmv_tUUDw,256
1290
1290
  homeassistant-stubs/components/integration/sensor.pyi,sha256=t2mh0PEGTBQ9Md2cZVxhEF-0E4LiSK6297oPbJH6iuM,3840
1291
- homeassistant-stubs/components/intent/__init__.pyi,sha256=bX7Tg6E-0eG6JZovwgszSotB9TF-6lAXvQ_e3MdIOlw,2097
1291
+ homeassistant-stubs/components/intent/__init__.pyi,sha256=VDSsA3_eTxsLSyq_MEv8vUQ5_2u7Ki6MNxOR1Y08DOE,2479
1292
1292
  homeassistant-stubs/components/intent/const.pyi,sha256=khiPPfo2eMEa2_FD5EaWMNBjEj5lrRekpLiGQofynn8,12
1293
1293
  homeassistant-stubs/components/intent_script/__init__.pyi,sha256=v8rKkE1Osa7pluhXh5Er6hJp7P3qQH0_NzOeYH18qGw,1609
1294
1294
  homeassistant-stubs/components/ios/__init__.pyi,sha256=V9Ywk1asqkPZkzJ8hsNSmXAzynALjlLspE4HGhiOv3c,4410
@@ -1938,7 +1938,7 @@ homeassistant-stubs/components/overkiz/alarm_control_panel.pyi,sha256=rmY9LMjXx7
1938
1938
  homeassistant-stubs/components/overkiz/binary_sensor.pyi,sha256=RUH7KPePeroIzI6gqVUOt2BiA3nLGHfVSVIkkVUP3T8,1787
1939
1939
  homeassistant-stubs/components/overkiz/button.pyi,sha256=_Sny4TgFoLriCh20oRi-pQhsyszTba6KMegwyHmaO7U,1518
1940
1940
  homeassistant-stubs/components/overkiz/climate.pyi,sha256=NPwxzaOBLhyHnKi0EEu2msmgtbk6Us9jDNLVSo-U-Pw,784
1941
- homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi,sha256=oHPNDR_iuOUxP6KMwLxViuhtu9YP2xkXg-6dsAiCeEs,1578
1941
+ homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi,sha256=oJfsTrpPoRia3UYIil9ECBdDrncZr_r4NXBYXWJ51Z8,1681
1942
1942
  homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater.pyi,sha256=9F7HF3_t8J3AzmrXdKQAjNutrWrChZAq6BDwPam-Op0,1211
1943
1943
  homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi,sha256=uOFOt32BZllfDhyvks61Vhy-vOYgZLYZcnYmSb6xw-I,1848
1944
1944
  homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_towel_dryer.pyi,sha256=Eoz5Zyvf4F9bBuVsK8yuHWzHiNG6F66Hlbd_57Vo0bE,1644
@@ -1947,6 +1947,7 @@ homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heatin
1947
1947
  homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control.pyi,sha256=_UPA9UQrea-HyAVUtnBDV3eSd07rfJzJwn-mUtOkai4,989
1948
1948
  homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi,sha256=6RfkQZuz4NX_4sa-sspkIciftpWMS6LE3O2R3UtOKS4,1514
1949
1949
  homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_hlrrwifi.pyi,sha256=jx2CUjtbxDjlb3TGWEYJOLlTsTNH4XhwIIpCkY0UcAo,2782
1950
+ homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi,sha256=Lvw3_oftHao6sgXWKFPxqnSFvALqcv4JrF-YxsGBgOw,2917
1950
1951
  homeassistant-stubs/components/overkiz/climate_entities/somfy_heating_temperature_interface.pyi,sha256=DXLr2IFZ6djtKDZ97nj1LSnmsaJ9r-QLA7Jv4fcA2-Q,1906
1951
1952
  homeassistant-stubs/components/overkiz/climate_entities/somfy_thermostat.pyi,sha256=fUR288GYs1oi2FfyZH2nr5PK0I-gSu7Et_g9QknS98U,1831
1952
1953
  homeassistant-stubs/components/overkiz/climate_entities/valve_heating_temperature_interface.pyi,sha256=5X-PMHb5O2t2jxwvDtnEQHZhPBHC0BS0yYXKb8_P23Y,1824
@@ -2038,7 +2039,7 @@ homeassistant-stubs/components/private_ble_device/entity.pyi,sha256=EeeUAjBErA5e
2038
2039
  homeassistant-stubs/components/private_ble_device/sensor.pyi,sha256=IpViQACNhZV_pcG5ga78d61kdsanjqRJqZTLtdHW_Wg,2414
2039
2040
  homeassistant-stubs/components/prometheus/__init__.pyi,sha256=EccyIQE_67Gh6uZJJpqk20HAJSQjVyVSQmrcGCfhflw,6245
2040
2041
  homeassistant-stubs/components/proximity/__init__.pyi,sha256=rwGKY00nJ0FHfvwYZ8kaA6FwaMdUWkh1DScuGEqXyj4,2450
2041
- homeassistant-stubs/components/proximity/config_flow.pyi,sha256=s1ADxaKDHPR2321pM6KwGa3M_mjvTrCBupjAk_IK2yo,1748
2042
+ homeassistant-stubs/components/proximity/config_flow.pyi,sha256=xpXLuiuy3frc6TPByQ-dPLFT9SqqSSqn_-1mksDY0YI,1778
2042
2043
  homeassistant-stubs/components/proximity/const.pyi,sha256=mHiHFx1eCuk6QyvMgQr1Y0OTsnWZ4HE-AwvBXg28aMY,595
2043
2044
  homeassistant-stubs/components/proximity/coordinator.pyi,sha256=wSHWmopn6w98oXO6r129OUbzCikc6uWxEjhMEyVsJTg,3232
2044
2045
  homeassistant-stubs/components/proximity/diagnostics.pyi,sha256=4I7tgPU_S6CCWIOkzCZpCSPqmsF7vVTUxmnVpakM-uk,972
@@ -2869,7 +2870,6 @@ homeassistant-stubs/components/vallox/number.pyi,sha256=V4AtEymRfsFyRJE3FOWuOEdo
2869
2870
  homeassistant-stubs/components/vallox/sensor.pyi,sha256=4-CYz8dv6b-LPQXZCG-phMC1EpZ15L6AGivmeKFQT3Y,2812
2870
2871
  homeassistant-stubs/components/vallox/switch.pyi,sha256=1QP-8DZLz9e2F_ExAaNOXsm1pCsAMddcoa6KMZ6Vb10,1954
2871
2872
  homeassistant-stubs/components/valve/__init__.pyi,sha256=ROLw2jGHdmg8Az5L7dB0pRSwIhdBjopbdWcpo_9-7FU,3551
2872
- homeassistant-stubs/components/valve/intent.pyi,sha256=QpM6QwFOuKgzFmCL0kbPdPSOXcckj_Y5NmInXYAUe_g,330
2873
2873
  homeassistant-stubs/components/velbus/__init__.pyi,sha256=FwaF36O-UOKalVQcekKrwY2jLML6UlwKT8F-mEeAMUw,1300
2874
2874
  homeassistant-stubs/components/velbus/binary_sensor.pyi,sha256=OO6wJHc01A-0LfV4Dg9nGI851k-xdtQsraEronVKAfA,713
2875
2875
  homeassistant-stubs/components/velbus/button.pyi,sha256=QP5viIgud6dvytW0iXe4yRHiqPuyBrbeBB53UhGQYKA,958
@@ -2939,7 +2939,7 @@ homeassistant-stubs/components/webostv/triggers/turn_on.pyi,sha256=hJj_IQfezRVYQ
2939
2939
  homeassistant-stubs/components/websocket_api/__init__.pyi,sha256=noPcvTinfIH2RlXlaXNXCwJ_FaXXyzlZsUQm8Gd9RJ4,1797
2940
2940
  homeassistant-stubs/components/websocket_api/auth.pyi,sha256=WXbLekXEEWvYaTLDIoCOKg1xH9ExILuvNJPF1p8y8Zo,1520
2941
2941
  homeassistant-stubs/components/websocket_api/commands.pyi,sha256=i7ewNiy4diIqrRoSlvF0Zgf_W4qQlS1aBJFAXbyKUe4,6149
2942
- homeassistant-stubs/components/websocket_api/connection.pyi,sha256=-jCr0cWaCKiyLAJkmUXARdH5ncTxQfLp78lY-QPzBKo,2423
2942
+ homeassistant-stubs/components/websocket_api/connection.pyi,sha256=U1WxrcqwExsX-8sx5LW_xscKciHLSwSYFLjyRxfK7y8,2420
2943
2943
  homeassistant-stubs/components/websocket_api/const.pyi,sha256=xHXJJQ29VZNsaOqwuyiZ6m2pjSwSlJUEDl6xPCHoEzw,921
2944
2944
  homeassistant-stubs/components/websocket_api/decorators.pyi,sha256=AMmjrPvhOfMHfGp9h9WzOGaYF7xrMGwluEjtrLxMrC8,1212
2945
2945
  homeassistant-stubs/components/websocket_api/error.pyi,sha256=CFYujcIfsyBOn5j3hlScAuXUrB9X0CkAKpxHRx3XgqQ,121
@@ -3096,7 +3096,7 @@ homeassistant-stubs/components/zwave_js/update.pyi,sha256=DZ89qey4VhEIz4DzjIi5tN
3096
3096
  homeassistant-stubs/config.pyi,sha256=RXgFToWleQOZIRsWhp0ACaan-JfgaqM1CjiF4Efv3Qw,8067
3097
3097
  homeassistant-stubs/config_entries.pyi,sha256=UEYAbMmCwIpUiT-46ZknDEeGvD2e252G0FgszTqC9lE,17509
3098
3098
  homeassistant-stubs/const.pyi,sha256=9jJm_zJ4UjN-banjLqkqfWTObTrtfP8BPXi7s55Z-d4,24064
3099
- homeassistant-stubs/core.pyi,sha256=xjRTnnCKFPPpMFsfStK8ooqglUlZgMsSDSDLdmwrYdw,20905
3099
+ homeassistant-stubs/core.pyi,sha256=-PCwQci2t8yEO4a7izw5X7GEM1A3AojFG85hlk--Fjo,21141
3100
3100
  homeassistant-stubs/data_entry_flow.pyi,sha256=-_DXZ1xOEBUQeYDxzHXF1Bbjj2pcZMSK898PBbPx8r0,7749
3101
3101
  homeassistant-stubs/exceptions.pyi,sha256=-kChnLCzJ4p4UmZ7kMGTkqbQoV3e45oxXHerXD-IZMc,3419
3102
3102
  homeassistant-stubs/generated/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -3138,11 +3138,12 @@ homeassistant-stubs/helpers/event.pyi,sha256=KfyqoK0Xcqr3JuHZC2m7zLQJH5l9XIBpRdY
3138
3138
  homeassistant-stubs/helpers/floor_registry.pyi,sha256=_usCDu-cXaPRC5tgbrOO-a5Rbt3TYptP6HUm3GrkA9s,2611
3139
3139
  homeassistant-stubs/helpers/frame.pyi,sha256=UuatYnGiW1-exdsIl0yvf-2_z6zos6CZVVJagxyhefY,1292
3140
3140
  homeassistant-stubs/helpers/group.pyi,sha256=0Hs__xX08YdzO9KVd4w-Gs3l9f6x3ArtVXlygKl9x2k,482
3141
+ homeassistant-stubs/helpers/http.pyi,sha256=ARUMxQNVsvdwuHaJS075SyrsFa6gyTzKFKT5mKTNaBs,1747
3141
3142
  homeassistant-stubs/helpers/httpx_client.pyi,sha256=Dl65ukO5VzlnK7OV1r_HMh7U0YTvFdInwrPPW85KPvg,1369
3142
3143
  homeassistant-stubs/helpers/icon.pyi,sha256=oQifJ4vDl2m6HXfBRVSE8PdTkulRgbEsDoIfKgCyZQU,1537
3143
3144
  homeassistant-stubs/helpers/instance_id.pyi,sha256=1FcKLhfq3FTLieBr0Si9HMbMNz43MIXNkAKDxr2ptKM,281
3144
3145
  homeassistant-stubs/helpers/integration_platform.pyi,sha256=WNaW_atPq3byXg6Nxucg7k2-8cH71b9v3xkdb-eVcKc,1676
3145
- homeassistant-stubs/helpers/intent.pyi,sha256=ngikZvX3wFnsfPGC5szP-5vKFq-6N-CJ2D_w-xmUhCY,7083
3146
+ homeassistant-stubs/helpers/intent.pyi,sha256=WeXsp3uzPeUcBa4n3D7P1cOPat3tV8H9LFXN3An76kA,7581
3146
3147
  homeassistant-stubs/helpers/issue_registry.pyi,sha256=NT8AIWOsTZ5_PyI7PQHfcpVO_TEgYBK1D9U0JCT2CBc,3746
3147
3148
  homeassistant-stubs/helpers/json.pyi,sha256=tCdDyP3NYTF3Jb6cASWYnepzie6YLlD0ikMPW7wevKQ,1452
3148
3149
  homeassistant-stubs/helpers/label_registry.pyi,sha256=5cP1JnvpHMuUo4zs29j1dSTsnhcyAW6fChbnTKQyt3A,2621
@@ -3224,7 +3225,7 @@ homeassistant-stubs/util/yaml/dumper.pyi,sha256=uQjW0KuME-gXVWgYJLNLoRDwDzVhhhgg
3224
3225
  homeassistant-stubs/util/yaml/input.pyi,sha256=wuxpKYTXZL4MujFhqjHnRLv4VPYY6QPYd-Zji-Lz9Mo,383
3225
3226
  homeassistant-stubs/util/yaml/loader.pyi,sha256=_KzmG0bGDiN9zpcdhSx9p3leawOwjmdZDKE4ciEMfKc,4272
3226
3227
  homeassistant-stubs/util/yaml/objects.pyi,sha256=89c0boOGMdQvHxVk7Xs42DKMj3ldlozxjrpiV74RkGY,457
3227
- homeassistant_stubs-2024.3.0b2.dist-info/METADATA,sha256=NPhEwi7xigjf8QBO4Zcu_gDJfJ9QxfFEmaUwBVQ_Wtg,3066
3228
- homeassistant_stubs-2024.3.0b2.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3229
- homeassistant_stubs-2024.3.0b2.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3230
- homeassistant_stubs-2024.3.0b2.dist-info/RECORD,,
3228
+ homeassistant_stubs-2024.3.0b3.dist-info/METADATA,sha256=9u1nB0emc_UtHe0yB-SZNKoje_p-gTcaVauk7Y6aoRc,3066
3229
+ homeassistant_stubs-2024.3.0b3.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
3230
+ homeassistant_stubs-2024.3.0b3.dist-info/LICENSE,sha256=_kHFjg-MAmJ-lXc7HiEjUzD3vZutVYKUVZZpAWcIuqo,1075
3231
+ homeassistant_stubs-2024.3.0b3.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- from . import ATTR_POSITION as ATTR_POSITION, DOMAIN as DOMAIN
2
- from homeassistant.const import SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION
3
- from homeassistant.core import HomeAssistant as HomeAssistant
4
- from homeassistant.helpers import intent as intent
5
-
6
- async def async_setup_intents(hass: HomeAssistant) -> None: ...