homeassistant-stubs 2024.8.2__py3-none-any.whl → 2024.9.0__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.
- homeassistant-stubs/components/acer_projector/switch.pyi +1 -1
- homeassistant-stubs/components/airgradient/update.pyi +23 -0
- homeassistant-stubs/components/airvisual/__init__.pyi +0 -1
- homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
- homeassistant-stubs/components/airzone/select.pyi +9 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -0
- homeassistant-stubs/components/amazon_polly/const.pyi +5 -8
- homeassistant-stubs/components/amazon_polly/tts.pyi +2 -1
- homeassistant-stubs/components/ambient_station/__init__.pyi +1 -2
- homeassistant-stubs/components/ambient_station/config_flow.pyi +2 -1
- homeassistant-stubs/components/android_ip_webcam/__init__.pyi +0 -2
- homeassistant-stubs/components/apcupsd/__init__.pyi +0 -1
- homeassistant-stubs/components/apcupsd/const.pyi +1 -1
- homeassistant-stubs/components/apcupsd/sensor.pyi +2 -2
- homeassistant-stubs/components/apsystems/binary_sensor.pyi +28 -0
- homeassistant-stubs/components/apsystems/coordinator.pyi +12 -4
- homeassistant-stubs/components/apsystems/number.pyi +1 -1
- homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -2
- homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +4 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/vad.pyi +5 -4
- homeassistant-stubs/components/bang_olufsen/const.pyi +11 -11
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +1 -0
- homeassistant-stubs/components/bang_olufsen/util.pyi +1 -1
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
- homeassistant-stubs/components/bthome/sensor.pyi +1 -1
- homeassistant-stubs/components/canary/config_flow.pyi +1 -1
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
- homeassistant-stubs/components/command_line/notify.pyi +1 -1
- homeassistant-stubs/components/deconz/select.pyi +12 -0
- homeassistant-stubs/components/demo/alarm_control_panel.pyi +0 -3
- homeassistant-stubs/components/demo/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
- homeassistant-stubs/components/downloader/config_flow.pyi +1 -1
- homeassistant-stubs/components/ecovacs/__init__.pyi +2 -6
- homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -5
- homeassistant-stubs/components/elkm1/config_flow.pyi +1 -1
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -1
- homeassistant-stubs/components/esphome/climate.pyi +1 -1
- homeassistant-stubs/components/esphome/entity.pyi +4 -4
- homeassistant-stubs/components/esphome/entry_data.pyi +2 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -0
- homeassistant-stubs/components/esphome/media_player.pyi +1 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -1
- homeassistant-stubs/components/esphome/sensor.pyi +1 -1
- homeassistant-stubs/components/feedreader/config_flow.pyi +1 -1
- homeassistant-stubs/components/filesize/coordinator.pyi +1 -0
- homeassistant-stubs/components/fitbit/config_flow.pyi +1 -1
- homeassistant-stubs/components/fritzbox/light.pyi +4 -7
- homeassistant-stubs/components/fronius/sensor.pyi +1 -1
- homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +12 -0
- homeassistant-stubs/components/fujitsu_fglair/climate.pyi +53 -0
- homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +18 -0
- homeassistant-stubs/components/fujitsu_fglair/const.pyi +7 -0
- homeassistant-stubs/components/fujitsu_fglair/coordinator.pyi +15 -0
- homeassistant-stubs/components/fyta/__init__.pyi +15 -0
- homeassistant-stubs/components/fyta/config_flow.pyi +22 -0
- homeassistant-stubs/components/fyta/const.pyi +2 -0
- homeassistant-stubs/components/fyta/coordinator.pyi +18 -0
- homeassistant-stubs/components/fyta/diagnostics.pyi +10 -0
- homeassistant-stubs/components/fyta/entity.pyi +20 -0
- homeassistant-stubs/components/fyta/sensor.pyi +29 -0
- homeassistant-stubs/components/glances/__init__.pyi +0 -1
- homeassistant-stubs/components/google/config_flow.pyi +0 -2
- homeassistant-stubs/components/gpsd/config_flow.pyi +0 -1
- homeassistant-stubs/components/gpsd/sensor.pyi +6 -9
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +7 -2
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +31 -9
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +2 -0
- homeassistant-stubs/components/homekit/config_flow.pyi +1 -1
- homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/button.pyi +0 -1
- homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -1
- homeassistant-stubs/components/intent_script/__init__.pyi +1 -0
- homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +0 -2
- homeassistant-stubs/components/isy994/const.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
- homeassistant-stubs/components/jvc_projector/__init__.pyi +3 -3
- homeassistant-stubs/components/jvc_projector/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -1
- homeassistant-stubs/components/jvc_projector/remote.pyi +2 -3
- homeassistant-stubs/components/jvc_projector/select.pyi +2 -4
- homeassistant-stubs/components/jvc_projector/sensor.pyi +2 -4
- homeassistant-stubs/components/knx/climate.pyi +4 -5
- homeassistant-stubs/components/knx/const.pyi +1 -2
- homeassistant-stubs/components/knx/project.pyi +2 -1
- homeassistant-stubs/components/knx/websocket.pyi +20 -12
- homeassistant-stubs/components/lawn_mower/const.pyi +1 -0
- homeassistant-stubs/components/lcn/__init__.pyi +2 -1
- homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/lcn/climate.pyi +3 -2
- homeassistant-stubs/components/lcn/config_flow.pyi +16 -7
- homeassistant-stubs/components/lcn/const.pyi +1 -0
- homeassistant-stubs/components/lcn/cover.pyi +3 -2
- homeassistant-stubs/components/lcn/helpers.pyi +1 -0
- homeassistant-stubs/components/lcn/light.pyi +3 -2
- homeassistant-stubs/components/lcn/scene.pyi +3 -2
- homeassistant-stubs/components/lcn/schemas.pyi +1 -0
- homeassistant-stubs/components/lcn/sensor.pyi +3 -2
- homeassistant-stubs/components/lcn/switch.pyi +3 -2
- homeassistant-stubs/components/lcn/websocket.pyi +25 -0
- homeassistant-stubs/components/lidarr/config_flow.pyi +1 -1
- homeassistant-stubs/components/linkplay/__init__.pyi +5 -1
- homeassistant-stubs/components/linkplay/config_flow.pyi +5 -1
- homeassistant-stubs/components/linkplay/const.pyi +1 -0
- homeassistant-stubs/components/linkplay/utils.pyi +5 -0
- homeassistant-stubs/components/local_ip/__init__.pyi +1 -4
- homeassistant-stubs/components/logbook/models.pyi +27 -17
- homeassistant-stubs/components/logbook/processor.pyi +7 -9
- homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
- homeassistant-stubs/components/logbook/websocket_api.pyi +3 -3
- homeassistant-stubs/components/luftdaten/__init__.pyi +0 -1
- homeassistant-stubs/components/madvr/config_flow.pyi +9 -3
- homeassistant-stubs/components/manual/alarm_control_panel.pyi +77 -0
- homeassistant-stubs/components/mastodon/__init__.pyi +19 -3
- homeassistant-stubs/components/mastodon/config_flow.pyi +3 -2
- homeassistant-stubs/components/mastodon/const.pyi +3 -0
- homeassistant-stubs/components/mastodon/coordinator.pyi +11 -0
- homeassistant-stubs/components/mastodon/diagnostics.pyi +6 -0
- homeassistant-stubs/components/mastodon/entity.pyi +15 -0
- homeassistant-stubs/components/mastodon/sensor.pyi +25 -0
- homeassistant-stubs/components/media_extractor/config_flow.pyi +1 -1
- homeassistant-stubs/components/mikrotik/__init__.pyi +0 -1
- homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
- homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
- homeassistant-stubs/components/mqtt/addon.pyi +10 -0
- homeassistant-stubs/components/mqtt/client.pyi +1 -0
- homeassistant-stubs/components/mqtt/climate.pyi +2 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +20 -1
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -1
- homeassistant-stubs/components/mqtt/event.pyi +2 -1
- homeassistant-stubs/components/mqtt/fan.pyi +2 -1
- homeassistant-stubs/components/mqtt/humidifier.pyi +2 -1
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
- homeassistant-stubs/components/mqtt/lock.pyi +2 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +1 -1
- homeassistant-stubs/components/mqtt/models.pyi +5 -3
- homeassistant-stubs/components/mqtt/number.pyi +2 -1
- homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
- homeassistant-stubs/components/mqtt/select.pyi +3 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/siren.pyi +2 -1
- homeassistant-stubs/components/mqtt/tag.pyi +2 -1
- homeassistant-stubs/components/mqtt/text.pyi +2 -1
- homeassistant-stubs/components/mqtt/trigger.pyi +2 -1
- homeassistant-stubs/components/mqtt/vacuum.pyi +3 -5
- homeassistant-stubs/components/mysensors/__init__.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +2 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
- homeassistant-stubs/components/nest/__init__.pyi +5 -2
- homeassistant-stubs/components/nest/event.pyi +36 -0
- homeassistant-stubs/components/notion/__init__.pyi +0 -1
- homeassistant-stubs/components/number/const.pyi +1 -1
- homeassistant-stubs/components/otbr/__init__.pyi +6 -5
- homeassistant-stubs/components/otbr/config_flow.pyi +7 -1
- homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +8 -4
- homeassistant-stubs/components/otbr/util.pyi +7 -2
- homeassistant-stubs/components/otbr/websocket_api.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +1 -1
- homeassistant-stubs/components/pi_hole/__init__.pyi +0 -1
- homeassistant-stubs/components/powerwall/__init__.pyi +0 -1
- homeassistant-stubs/components/prometheus/__init__.pyi +2 -1
- homeassistant-stubs/components/proximity/__init__.pyi +3 -25
- homeassistant-stubs/components/proximity/config_flow.pyi +0 -1
- homeassistant-stubs/components/proximity/coordinator.pyi +1 -3
- homeassistant-stubs/components/radarr/config_flow.pyi +1 -1
- homeassistant-stubs/components/rainmachine/__init__.pyi +0 -1
- homeassistant-stubs/components/recorder/core.pyi +0 -1
- homeassistant-stubs/components/recorder/migration.pyi +9 -4
- homeassistant-stubs/components/recorder/statistics.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +8 -2
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/ring/__init__.pyi +1 -0
- homeassistant-stubs/components/ring/button.pyi +1 -1
- homeassistant-stubs/components/ring/camera.pyi +4 -4
- homeassistant-stubs/components/ring/config_flow.pyi +1 -0
- homeassistant-stubs/components/ring/coordinator.pyi +3 -2
- homeassistant-stubs/components/ring/entity.pyi +3 -3
- homeassistant-stubs/components/ring/light.pyi +3 -3
- homeassistant-stubs/components/ring/siren.pyi +1 -1
- homeassistant-stubs/components/ring/switch.pyi +3 -3
- homeassistant-stubs/components/roku/__init__.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +0 -1
- homeassistant-stubs/components/sensor/const.pyi +1 -1
- homeassistant-stubs/components/sensor/recorder.pyi +1 -0
- homeassistant-stubs/components/shelly/const.pyi +1 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +11 -3
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -0
- homeassistant-stubs/components/shelly/entity.pyi +2 -0
- homeassistant-stubs/components/shelly/utils.pyi +4 -2
- homeassistant-stubs/components/simplisafe/__init__.pyi +0 -1
- homeassistant-stubs/components/simplisafe/config_flow.pyi +1 -1
- homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -1
- homeassistant-stubs/components/sun/config_flow.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/media_source.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -4
- homeassistant-stubs/components/tailwind/config_flow.pyi +1 -1
- homeassistant-stubs/components/tcp/common.pyi +0 -1
- homeassistant-stubs/components/technove/binary_sensor.pyi +5 -1
- homeassistant-stubs/components/technove/switch.pyi +11 -4
- homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -1
- homeassistant-stubs/components/tile/config_flow.pyi +1 -1
- homeassistant-stubs/components/tradfri/__init__.pyi +0 -1
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -4
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +5 -4
- homeassistant-stubs/components/unifi/sensor.pyi +6 -1
- homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +5 -6
- homeassistant-stubs/components/websocket_api/commands.pyi +3 -2
- homeassistant-stubs/components/websocket_api/http.pyi +6 -1
- homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
- homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -1
- homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +2 -3
- homeassistant-stubs/components/zwave_js/services.pyi +1 -0
- homeassistant-stubs/config_entries.pyi +2 -0
- homeassistant-stubs/const.pyi +7 -2
- homeassistant-stubs/core.pyi +1 -1
- homeassistant-stubs/generated/amazon_polly.pyi +5 -0
- homeassistant-stubs/helpers/aiohttp_client.pyi +4 -0
- homeassistant-stubs/helpers/collection.pyi +4 -1
- homeassistant-stubs/helpers/config_validation.pyi +23 -3
- homeassistant-stubs/helpers/entity_component.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +2 -2
- homeassistant-stubs/helpers/icon.pyi +2 -0
- homeassistant-stubs/helpers/service.pyi +4 -2
- homeassistant-stubs/helpers/trigger_template_entity.pyi +0 -1
- homeassistant-stubs/scripts/auth.pyi +9 -6
- homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -2
- homeassistant-stubs/scripts/macos/__init__.pyi +1 -1
- homeassistant-stubs/util/async_.pyi +2 -1
- homeassistant-stubs/util/executor.pyi +1 -1
- homeassistant-stubs/util/unit_conversion.pyi +0 -17
- homeassistant-stubs/util/yaml/loader.pyi +1 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/RECORD +248 -232
- homeassistant-stubs/components/asterisk_cdr/mailbox.pyi +0 -18
- homeassistant-stubs/components/asterisk_mbox/__init__.pyi +0 -31
- homeassistant-stubs/components/asterisk_mbox/mailbox.pyi +0 -26
- homeassistant-stubs/components/demo/mailbox.pyi +0 -24
- homeassistant-stubs/components/mailbox/__init__.pyi +0 -77
- homeassistant-stubs/components/proximity/helpers.pyi +0 -5
- homeassistant-stubs/components/systemmonitor/repairs.pyi +0 -15
- /homeassistant-stubs/components/{asterisk_cdr → manual}/__init__.pyi +0 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
from . import TechnoVEConfigEntry as TechnoVEConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import TechnoVEDataUpdateCoordinator as TechnoVEDataUpdateCoordinator
|
3
4
|
from .entity import TechnoVEEntity as TechnoVEEntity
|
4
5
|
from _typeshed import Incomplete
|
@@ -8,12 +9,14 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
|
|
8
9
|
from homeassistant.const import EntityCategory as EntityCategory
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
11
13
|
from technove import Station as TechnoVEStation
|
12
14
|
|
13
15
|
@dataclass(frozen=True, kw_only=True)
|
14
16
|
class TechnoVEBinarySensorDescription(BinarySensorEntityDescription):
|
17
|
+
deprecated_version: str | None = ...
|
15
18
|
value_fn: Callable[[TechnoVEStation], bool | None]
|
16
|
-
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., value_fn) -> None: ...
|
19
|
+
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_version=..., value_fn) -> None: ...
|
17
20
|
|
18
21
|
BINARY_SENSORS: Incomplete
|
19
22
|
|
@@ -24,3 +27,4 @@ class TechnoVEBinarySensorEntity(TechnoVEEntity, BinarySensorEntity):
|
|
24
27
|
def __init__(self, coordinator: TechnoVEDataUpdateCoordinator, description: TechnoVEBinarySensorDescription) -> None: ...
|
25
28
|
@property
|
26
29
|
def is_on(self) -> bool | None: ...
|
30
|
+
async def async_added_to_hass(self) -> None: ...
|
@@ -1,22 +1,29 @@
|
|
1
1
|
from . import TechnoVEConfigEntry as TechnoVEConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import TechnoVEDataUpdateCoordinator as TechnoVEDataUpdateCoordinator
|
3
4
|
from .entity import TechnoVEEntity as TechnoVEEntity
|
4
5
|
from .helpers import technove_exception_handler as technove_exception_handler
|
5
6
|
from _typeshed import Incomplete
|
6
|
-
from collections.abc import
|
7
|
+
from collections.abc import Callable as Callable, Coroutine
|
7
8
|
from dataclasses import dataclass
|
8
9
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
9
10
|
from homeassistant.const import EntityCategory as EntityCategory
|
10
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
11
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
-
from technove import Station as TechnoVEStation
|
14
|
+
from technove import Station as TechnoVEStation
|
13
15
|
from typing import Any
|
14
16
|
|
17
|
+
async def _set_charging_enabled(coordinator: TechnoVEDataUpdateCoordinator, enabled: bool) -> None: ...
|
18
|
+
async def _enable_charging(coordinator: TechnoVEDataUpdateCoordinator) -> None: ...
|
19
|
+
async def _disable_charging(coordinator: TechnoVEDataUpdateCoordinator) -> None: ...
|
20
|
+
async def _set_auto_charge(coordinator: TechnoVEDataUpdateCoordinator, enabled: bool) -> None: ...
|
21
|
+
|
15
22
|
@dataclass(frozen=True, kw_only=True)
|
16
23
|
class TechnoVESwitchDescription(SwitchEntityDescription):
|
17
24
|
is_on_fn: Callable[[TechnoVEStation], bool]
|
18
|
-
turn_on_fn: Callable[[
|
19
|
-
turn_off_fn: Callable[[
|
25
|
+
turn_on_fn: Callable[[TechnoVEDataUpdateCoordinator], Coroutine[Any, Any, None]]
|
26
|
+
turn_off_fn: Callable[[TechnoVEDataUpdateCoordinator], Coroutine[Any, Any, None]]
|
20
27
|
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., is_on_fn, turn_on_fn, turn_off_fn) -> None: ...
|
21
28
|
|
22
29
|
SWITCHES: Incomplete
|
@@ -12,5 +12,5 @@ class TTNFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
12
12
|
VERSION: int
|
13
13
|
_reauth_entry: ConfigEntry | None
|
14
14
|
async def async_step_user(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
15
|
-
async def async_step_reauth(self,
|
15
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
16
16
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -16,7 +16,7 @@ class TileFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
16
16
|
_username: Incomplete
|
17
17
|
def __init__(self) -> None: ...
|
18
18
|
async def _async_verify(self, step_id: str, schema: vol.Schema) -> ConfigFlowResult: ...
|
19
|
-
async def async_step_import(self,
|
19
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
20
20
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
21
21
|
async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
22
22
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -10,7 +10,6 @@ from homeassistant.helpers.event import async_track_time_interval as async_track
|
|
10
10
|
from pytradfri.command import Command as Command
|
11
11
|
from pytradfri.device import Device as Device
|
12
12
|
|
13
|
-
CONFIG_SCHEMA: Incomplete
|
14
13
|
PLATFORMS: Incomplete
|
15
14
|
SIGNAL_GW: str
|
16
15
|
TIMEOUT_API: int
|
@@ -1,10 +1,7 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import PLATFORMS as PLATFORMS
|
2
2
|
from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
-
from homeassistant.const import CONF_API_KEY as CONF_API_KEY
|
5
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
7
|
-
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
8
5
|
|
9
6
|
TVTrainConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
|
10
7
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import TVTrainConfigEntry as TVTrainConfigEntry
|
2
|
-
from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_TIME as CONF_TIME, DOMAIN as DOMAIN
|
2
|
+
from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_FROM as CONF_FROM, CONF_TIME as CONF_TIME, CONF_TO as CONF_TO, DOMAIN as DOMAIN
|
3
3
|
from .util import next_departuredate as next_departuredate
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from dataclasses import dataclass
|
@@ -35,11 +35,12 @@ def _get_as_joined(information: list[str] | None) -> str | None: ...
|
|
35
35
|
|
36
36
|
class TVDataUpdateCoordinator(DataUpdateCoordinator[TrainData]):
|
37
37
|
config_entry: TVTrainConfigEntry
|
38
|
+
from_station: StationInfoModel
|
39
|
+
to_station: StationInfoModel
|
38
40
|
_train_api: Incomplete
|
39
|
-
from_station: Incomplete
|
40
|
-
to_station: Incomplete
|
41
41
|
_time: Incomplete
|
42
42
|
_weekdays: Incomplete
|
43
43
|
_filter_product: Incomplete
|
44
|
-
def __init__(self, hass: HomeAssistant
|
44
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
45
|
+
async def _async_setup(self) -> None: ...
|
45
46
|
async def _async_update_data(self) -> TrainData: ...
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
|
7
7
|
from aiounifi.models.api import ApiItemT
|
8
8
|
from aiounifi.models.client import Client
|
9
|
-
from aiounifi.models.device import Device, TypedDeviceUptimeStatsWanMonitor as TypedDeviceUptimeStatsWanMonitor
|
9
|
+
from aiounifi.models.device import Device, TypedDeviceTemperature as TypedDeviceTemperature, TypedDeviceUptimeStatsWanMonitor as TypedDeviceUptimeStatsWanMonitor
|
10
10
|
from aiounifi.models.wlan import Wlan
|
11
11
|
from collections.abc import Callable as Callable
|
12
12
|
from dataclasses import dataclass
|
@@ -32,6 +32,7 @@ def async_device_uptime_value_fn(hub: UnifiHub, device: Device) -> datetime | No
|
|
32
32
|
def async_uptime_value_changed_fn(old: StateType | date | datetime | Decimal, new: datetime | float | str | None) -> bool: ...
|
33
33
|
def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
34
34
|
def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
35
|
+
def async_device_uplink_mac_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
35
36
|
def device_system_stats_supported_fn(stat_index: int, hub: UnifiHub, obj_id: str) -> bool: ...
|
36
37
|
def async_client_is_connected_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
37
38
|
def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str: ...
|
@@ -39,6 +40,10 @@ def async_device_wan_latency_supported_fn(wan: Literal['WAN', 'WAN2'], monitor_t
|
|
39
40
|
def async_device_wan_latency_value_fn(wan: Literal['WAN', 'WAN2'], monitor_target: str, hub: UnifiHub, device: Device) -> int | None: ...
|
40
41
|
def _device_wan_latency_monitor(wan: Literal['WAN', 'WAN2'], monitor_target: str, device: Device) -> TypedDeviceUptimeStatsWanMonitor | None: ...
|
41
42
|
def make_wan_latency_sensors() -> tuple[UnifiSensorEntityDescription, ...]: ...
|
43
|
+
def async_device_temperatures_value_fn(temperature_name: str, hub: UnifiHub, device: Device) -> float: ...
|
44
|
+
def async_device_temperatures_supported_fn(temperature_name: str, hub: UnifiHub, obj_id: str) -> bool: ...
|
45
|
+
def _device_temperature(temperature_name: str, temperatures: list[TypedDeviceTemperature]) -> float | None: ...
|
46
|
+
def make_device_temperatur_sensors() -> tuple[UnifiSensorEntityDescription, ...]: ...
|
42
47
|
|
43
48
|
@dataclass(frozen=True, kw_only=True)
|
44
49
|
class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
|
@@ -23,4 +23,4 @@ class EntityUsage(TypedDict):
|
|
23
23
|
def check_if_used(hass: HomeAssistant, entry: UFPConfigEntry, entities: dict[str, EntityRef]) -> dict[str, EntityUsage]: ...
|
24
24
|
def create_repair_if_used(hass: HomeAssistant, entry: UFPConfigEntry, breaks_in: str, entities: dict[str, EntityRef]) -> None: ...
|
25
25
|
async def async_migrate_data(hass: HomeAssistant, entry: UFPConfigEntry, protect: ProtectApiClient, bootstrap: Bootstrap) -> None: ...
|
26
|
-
def
|
26
|
+
def async_deprecate_hdr(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
|
@@ -3,13 +3,13 @@ from _typeshed import Incomplete
|
|
3
3
|
from enum import IntFlag
|
4
4
|
from functools import cached_property as cached_property
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
-
from homeassistant.const import
|
6
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
8
8
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
9
9
|
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
10
10
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
11
11
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
12
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
12
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
13
13
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
14
14
|
from typing import Any
|
15
15
|
|
@@ -48,10 +48,9 @@ ATTR_TARGET_TEMP_LOW: str
|
|
48
48
|
ATTR_CURRENT_TEMPERATURE: str
|
49
49
|
CONVERTIBLE_ATTRIBUTE: Incomplete
|
50
50
|
_LOGGER: Incomplete
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
SET_OPERATION_MODE_SCHEMA: Incomplete
|
51
|
+
SET_AWAY_MODE_SCHEMA: VolDictType
|
52
|
+
SET_TEMPERATURE_SCHEMA: VolDictType
|
53
|
+
SET_OPERATION_MODE_SCHEMA: VolDictType
|
55
54
|
|
56
55
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
57
56
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -11,6 +11,7 @@ from homeassistant.core import Context as Context, Event as Event, EventStateCha
|
|
11
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, TemplateError as TemplateError, Unauthorized as Unauthorized
|
12
12
|
from homeassistant.helpers import entity as entity, template as template
|
13
13
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
|
+
from homeassistant.helpers.entityfilter import INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA as INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA, convert_include_exclude_filter as convert_include_exclude_filter
|
14
15
|
from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
|
15
16
|
from homeassistant.helpers.json import ExtendedJSONEncoder as ExtendedJSONEncoder, JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
|
16
17
|
from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
|
@@ -33,9 +34,9 @@ async def handle_call_service(hass: HomeAssistant, connection: ActiveConnection,
|
|
33
34
|
def _async_get_allowed_states(hass: HomeAssistant, connection: ActiveConnection) -> list[State]: ...
|
34
35
|
def handle_get_states(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
35
36
|
def _send_handle_get_states_response(connection: ActiveConnection, msg_id: int, serialized_states: list[bytes]) -> None: ...
|
36
|
-
def _forward_entity_changes(send_message: Callable[[str | bytes | dict[str, Any]], None], entity_ids: set[str], user: User, message_id_as_bytes: bytes, event: Event[EventStateChangedData]) -> None: ...
|
37
|
+
def _forward_entity_changes(send_message: Callable[[str | bytes | dict[str, Any]], None], entity_ids: set[str] | None, entity_filter: Callable[[str], bool] | None, user: User, message_id_as_bytes: bytes, event: Event[EventStateChangedData]) -> None: ...
|
37
38
|
def handle_subscribe_entities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
38
|
-
def _send_handle_entities_init_response(connection: ActiveConnection,
|
39
|
+
def _send_handle_entities_init_response(connection: ActiveConnection, message_id_as_bytes: bytes, serialized_states: list[bytes]) -> None: ...
|
39
40
|
async def _async_get_all_descriptions_json(hass: HomeAssistant) -> bytes: ...
|
40
41
|
async def handle_get_services(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
41
42
|
def handle_get_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -8,6 +8,7 @@ from .messages import message_to_json_bytes as message_to_json_bytes
|
|
8
8
|
from .util import describe_request as describe_request
|
9
9
|
from _typeshed import Incomplete
|
10
10
|
from aiohttp import web
|
11
|
+
from aiohttp.http_websocket import WebSocketWriter as WebSocketWriter
|
11
12
|
from collections.abc import Callable as Callable, Coroutine
|
12
13
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
|
13
14
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
@@ -49,7 +50,7 @@ class WebSocketHandler:
|
|
49
50
|
def __repr__(self) -> str: ...
|
50
51
|
@property
|
51
52
|
def description(self) -> str: ...
|
52
|
-
async def _writer(self, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
|
53
|
+
async def _writer(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
|
53
54
|
def _cancel_peak_checker(self) -> None: ...
|
54
55
|
def _send_message(self, message: str | bytes | dict[str, Any]) -> None: ...
|
55
56
|
def _release_ready_future_or_reschedule(self) -> None: ...
|
@@ -57,3 +58,7 @@ class WebSocketHandler:
|
|
57
58
|
def _cancel(self) -> None: ...
|
58
59
|
def _async_handle_hass_stop(self, event: Event) -> None: ...
|
59
60
|
async def async_handle(self) -> web.WebSocketResponse: ...
|
61
|
+
async def _async_handle_auth_phase(self, auth: AuthPhase, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> ActiveConnection: ...
|
62
|
+
def _async_increase_writer_limit(self, writer: WebSocketWriter) -> None: ...
|
63
|
+
async def _async_websocket_command_phase(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
|
64
|
+
async def _async_cleanup_writer_and_close(self, disconnect_warn: str | None, connection: ActiveConnection | None) -> None: ...
|
@@ -4,7 +4,6 @@ from homeassistant.components.lock import CONF_DEFAULT_CODE as CONF_DEFAULT_CODE
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_CODE as CONF_CODE
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
8
7
|
|
9
8
|
YaleConfigEntry = ConfigEntry[YaleDataUpdateCoordinator]
|
10
9
|
|
@@ -6,10 +6,12 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
6
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
7
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
8
|
from typing import Any
|
9
|
+
from yalesmartalarmclient.client import YaleSmartAlarmClient
|
9
10
|
|
10
11
|
class YaleDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
12
|
+
yale: YaleSmartAlarmClient
|
11
13
|
entry: Incomplete
|
12
|
-
yale: Incomplete
|
13
14
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
15
|
+
async def _async_setup(self) -> None: ...
|
14
16
|
async def _async_update_data(self) -> dict[str, Any]: ...
|
15
17
|
def get_updates(self) -> dict[str, Any]: ...
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from homeassistant.components.lock import LockEntity as LockEntity
|
7
7
|
from homeassistant.const import ATTR_CODE as ATTR_CODE
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from typing import Any
|
12
12
|
|
@@ -79,18 +79,17 @@ class ZWaveJSConfigFlow(BaseZwaveJSFlow, ConfigFlow, domain=DOMAIN):
|
|
79
79
|
def flow_manager(self) -> ConfigEntriesFlowManager: ...
|
80
80
|
@staticmethod
|
81
81
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
|
82
|
-
s0_legacy_key: Incomplete
|
83
|
-
usb_path: Incomplete
|
84
|
-
async def async_step_import(self, data: dict[str, Any]) -> ConfigFlowResult: ...
|
85
82
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
86
83
|
ws_address: Incomplete
|
87
84
|
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
88
85
|
async def async_step_zeroconf_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
|
86
|
+
usb_path: Incomplete
|
89
87
|
async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
|
90
88
|
async def async_step_usb_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
91
89
|
async def async_step_manual(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
92
90
|
async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
|
93
91
|
async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
92
|
+
s0_legacy_key: Incomplete
|
94
93
|
s2_access_control_key: Incomplete
|
95
94
|
s2_authenticated_key: Incomplete
|
96
95
|
s2_unauthenticated_key: Incomplete
|
@@ -16,6 +16,7 @@ from zwave_js_server.model.node import Node as ZwaveNode
|
|
16
16
|
|
17
17
|
_LOGGER: Incomplete
|
18
18
|
_NodeOrEndpointType = ZwaveNode | Endpoint
|
19
|
+
TARGET_VALIDATORS: Incomplete
|
19
20
|
|
20
21
|
def parameter_name_does_not_need_bitmask(val: dict[str, int | str | list[str]]) -> dict[str, int | str | list[str]]: ...
|
21
22
|
def check_base_2(val: int) -> int: ...
|
@@ -196,6 +196,7 @@ class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowResult]):
|
|
196
196
|
def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
|
197
197
|
async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> ConfigFlowResult: ...
|
198
198
|
async def _async_init(self, flow_id: str, handler: str, context: dict, data: Any) -> tuple[ConfigFlow, ConfigFlowResult]: ...
|
199
|
+
def _set_pending_import_done(self, flow: ConfigFlow) -> None: ...
|
199
200
|
def async_shutdown(self) -> None: ...
|
200
201
|
async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult], result: ConfigFlowResult) -> ConfigFlowResult: ...
|
201
202
|
async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
|
@@ -233,6 +234,7 @@ class ConfigEntries:
|
|
233
234
|
def async_entry_ids(self) -> list[str]: ...
|
234
235
|
def async_has_entries(self, domain: str, include_ignore: bool = True, include_disabled: bool = True) -> bool: ...
|
235
236
|
def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
|
237
|
+
def async_loaded_entries(self, domain: str) -> list[ConfigEntry]: ...
|
236
238
|
def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
|
237
239
|
async def async_add(self, entry: ConfigEntry) -> None: ...
|
238
240
|
async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
|
homeassistant-stubs/const.pyi
CHANGED
@@ -41,7 +41,6 @@ class Platform(StrEnum):
|
|
41
41
|
LAWN_MOWER = 'lawn_mower'
|
42
42
|
LIGHT = 'light'
|
43
43
|
LOCK = 'lock'
|
44
|
-
MAILBOX = 'mailbox'
|
45
44
|
MEDIA_PLAYER = 'media_player'
|
46
45
|
NOTIFY = 'notify'
|
47
46
|
NUMBER = 'number'
|
@@ -188,6 +187,7 @@ CONF_METHOD: Final[str]
|
|
188
187
|
CONF_MINIMUM: Final[str]
|
189
188
|
CONF_MODE: Final[str]
|
190
189
|
CONF_MODEL: Final[str]
|
190
|
+
CONF_MODEL_ID: Final[str]
|
191
191
|
CONF_MONITORED_CONDITIONS: Final[str]
|
192
192
|
CONF_MONITORED_VARIABLES: Final[str]
|
193
193
|
CONF_NAME: Final[str]
|
@@ -382,6 +382,7 @@ ATTR_CONNECTIONS: Final[str]
|
|
382
382
|
ATTR_DEFAULT_NAME: Final[str]
|
383
383
|
ATTR_MANUFACTURER: Final[str]
|
384
384
|
ATTR_MODEL: Final[str]
|
385
|
+
ATTR_MODEL_ID: Final[str]
|
385
386
|
ATTR_SERIAL_NUMBER: Final[str]
|
386
387
|
ATTR_SUGGESTED_AREA: Final[str]
|
387
388
|
ATTR_SW_VERSION: Final[str]
|
@@ -425,7 +426,11 @@ class UnitOfPower(StrEnum):
|
|
425
426
|
_DEPRECATED_POWER_WATT: Final[Incomplete]
|
426
427
|
_DEPRECATED_POWER_KILO_WATT: Final[Incomplete]
|
427
428
|
_DEPRECATED_POWER_BTU_PER_HOUR: Final[Incomplete]
|
428
|
-
|
429
|
+
|
430
|
+
class UnitOfReactivePower(StrEnum):
|
431
|
+
VOLT_AMPERE_REACTIVE = 'var'
|
432
|
+
|
433
|
+
_DEPRECATED_POWER_VOLT_AMPERE_REACTIVE: Final[Incomplete]
|
429
434
|
|
430
435
|
class UnitOfEnergy(StrEnum):
|
431
436
|
GIGA_JOULE = 'GJ'
|
homeassistant-stubs/core.pyi
CHANGED
@@ -15,7 +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 .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType, VolSchemaType as VolSchemaType
|
17
17
|
from .util import location as location
|
18
|
-
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.async_ import cancelling as cancelling, create_eager_task as create_eager_task, get_scheduled_timer_handles as get_scheduled_timer_handles, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
|
19
19
|
from .util.event_type import EventType as EventType
|
20
20
|
from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
|
21
21
|
from .util.hass_dict import HassDict as HassDict
|
@@ -33,4 +33,8 @@ async def async_aiohttp_proxy_stream(hass: HomeAssistant, request: web.BaseReque
|
|
33
33
|
def _async_register_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
|
34
34
|
def _async_register_default_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
|
35
35
|
def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ...) -> tuple[bool, socket.AddressFamily]: ...
|
36
|
+
|
37
|
+
class HomeAssistantTCPConnector(aiohttp.TCPConnector):
|
38
|
+
_cleanup_closed_period: float
|
39
|
+
|
36
40
|
def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.BaseConnector: ...
|
@@ -3,6 +3,7 @@ import logging
|
|
3
3
|
from . import entity_registry as entity_registry
|
4
4
|
from .entity import Entity as Entity
|
5
5
|
from .entity_component import EntityComponent as EntityComponent
|
6
|
+
from .json import json_bytes as json_bytes
|
6
7
|
from .storage import Store as Store
|
7
8
|
from .typing import ConfigType as ConfigType, VolDictType as VolDictType
|
8
9
|
from _typeshed import Incomplete
|
@@ -29,7 +30,8 @@ class CollectionChange:
|
|
29
30
|
change_type: str
|
30
31
|
item_id: str
|
31
32
|
item: Any
|
32
|
-
|
33
|
+
item_hash: str | None = ...
|
34
|
+
def __init__(self, change_type, item_id, item, item_hash=...) -> None: ...
|
33
35
|
ChangeListener = Callable[[str, str, dict], Awaitable[None]]
|
34
36
|
ChangeSetListener = Callable[[Iterable[CollectionChange]], Awaitable[None]]
|
35
37
|
|
@@ -105,6 +107,7 @@ class StorageCollection(ObservableCollection[_ItemT], metaclass=abc.ABCMeta):
|
|
105
107
|
def _base_data_to_save(self) -> SerializedStorageCollection: ...
|
106
108
|
@abstractmethod
|
107
109
|
def _data_to_save(self) -> _StoreT: ...
|
110
|
+
def _hash_item(self, item: dict) -> str: ...
|
108
111
|
|
109
112
|
class DictStorageCollection(StorageCollection[dict, SerializedStorageCollection], metaclass=abc.ABCMeta):
|
110
113
|
def _create_item(self, item_id: str, data: dict) -> dict: ...
|
@@ -1,14 +1,16 @@
|
|
1
1
|
import re
|
2
|
+
import threading
|
2
3
|
import voluptuous as vol
|
3
4
|
from . import template as template_helper
|
4
5
|
from .frame import get_integration_logger as get_integration_logger
|
5
6
|
from .typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from collections.abc import Callable as Callable, Hashable
|
9
|
+
from contextvars import ContextVar
|
8
10
|
from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
|
9
11
|
from enum import Enum, StrEnum
|
10
12
|
from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
|
11
|
-
from homeassistant.core import async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
13
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
12
14
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
|
13
15
|
from homeassistant.generated import currencies as currencies
|
14
16
|
from homeassistant.generated.countries import COUNTRIES as COUNTRIES
|
@@ -19,6 +21,19 @@ from typing import Any, overload
|
|
19
21
|
|
20
22
|
TIME_PERIOD_ERROR: str
|
21
23
|
|
24
|
+
class MustValidateInExecutor(HomeAssistantError): ...
|
25
|
+
|
26
|
+
class _Hass(threading.local):
|
27
|
+
hass: HomeAssistant | None
|
28
|
+
|
29
|
+
_hass: Incomplete
|
30
|
+
|
31
|
+
def _async_get_hass_or_none() -> HomeAssistant | None: ...
|
32
|
+
|
33
|
+
_validating_async: ContextVar[bool]
|
34
|
+
|
35
|
+
def not_async_friendly(validator: Callable[_P, _R]) -> Callable[_P, _R]: ...
|
36
|
+
|
22
37
|
class UrlProtocolSchema(StrEnum):
|
23
38
|
HTTP = 'http'
|
24
39
|
HTTPS = 'https'
|
@@ -130,6 +145,7 @@ def removed(key: str, default: Any | None = None, raise_if_present: bool | None
|
|
130
145
|
def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
|
131
146
|
def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
|
132
147
|
def custom_serializer(schema: Any) -> Any: ...
|
148
|
+
def _custom_serializer(schema: Any, *, allow_section: bool) -> Any: ...
|
133
149
|
def expand_condition_shorthand(value: Any | None) -> Any: ...
|
134
150
|
def empty_config_schema(domain: str) -> Callable[[dict], dict]: ...
|
135
151
|
def _no_yaml_config_schema(domain: str, issue_base: str, translation_key: str, translation_placeholders: dict[str, str]) -> Callable[[dict], dict]: ...
|
@@ -142,11 +158,12 @@ ENTITY_SERVICE_FIELDS: VolDictType
|
|
142
158
|
TARGET_SERVICE_FIELDS: Incomplete
|
143
159
|
_HAS_ENTITY_SERVICE_FIELD: Incomplete
|
144
160
|
|
145
|
-
def
|
161
|
+
def is_entity_service_schema(validator: VolSchemaType) -> bool: ...
|
162
|
+
def _make_entity_service_schema(schema: dict, extra: int) -> VolSchemaType: ...
|
146
163
|
|
147
164
|
BASE_ENTITY_SCHEMA: Incomplete
|
148
165
|
|
149
|
-
def make_entity_service_schema(schema: dict, *, extra: int = ...) ->
|
166
|
+
def make_entity_service_schema(schema: dict | None, *, extra: int = ...) -> VolSchemaType: ...
|
150
167
|
|
151
168
|
SCRIPT_CONVERSATION_RESPONSE_SCHEMA: Incomplete
|
152
169
|
SCRIPT_VARIABLES_SCHEMA: Incomplete
|
@@ -234,3 +251,6 @@ currency: Incomplete
|
|
234
251
|
historic_currency: Incomplete
|
235
252
|
country: Incomplete
|
236
253
|
language: Incomplete
|
254
|
+
|
255
|
+
async def async_validate(hass: HomeAssistant, validator: Callable[[Any], Any], value: Any) -> Any: ...
|
256
|
+
def _validate_in_executor(hass: HomeAssistant, validator: Callable[[Any], Any], value: Any) -> Any: ...
|
@@ -43,7 +43,7 @@ class EntityComponent(Generic[_EntityT]):
|
|
43
43
|
async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
|
44
44
|
async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
|
45
45
|
def async_register_legacy_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
46
|
-
def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
46
|
+
def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
47
47
|
async def async_setup_platform(self, platform_type: str, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
48
48
|
async def _async_reset(self) -> None: ...
|
49
49
|
async def async_remove_entity(self, entity_id: str) -> None: ...
|
@@ -11,7 +11,7 @@ from contextvars import ContextVar
|
|
11
11
|
from datetime import timedelta
|
12
12
|
from homeassistant import config_entries as config_entries
|
13
13
|
from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
|
14
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState,
|
14
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
15
15
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
16
16
|
from homeassistant.generated import languages as languages
|
17
17
|
from homeassistant.setup import SetupPhases as SetupPhases, async_start_setup as async_start_setup
|
@@ -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]
|
@@ -11,6 +11,8 @@ from typing import Any
|
|
11
11
|
ICON_CACHE: HassKey[_IconsCache]
|
12
12
|
_LOGGER: Incomplete
|
13
13
|
|
14
|
+
def convert_shorthand_service_icon(value: str | dict[str, str | dict[str, str]]) -> dict[str, str | dict[str, str]]: ...
|
15
|
+
def _load_icons_file(icons_file: pathlib.Path) -> dict[str, Any]: ...
|
14
16
|
def _load_icons_files(icons_files: dict[str, pathlib.Path]) -> dict[str, dict[str, Any]]: ...
|
15
17
|
async def _async_get_component_icons(hass: HomeAssistant, components: set[str], integrations: dict[str, Integration]) -> dict[str, Any]: ...
|
16
18
|
|
@@ -3,12 +3,12 @@ from . import area_registry as area_registry, device_registry as device_registry
|
|
3
3
|
from .entity import Entity as Entity
|
4
4
|
from .group import expand_entity_ids as expand_entity_ids
|
5
5
|
from .selector import TargetSelector as TargetSelector
|
6
|
-
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolSchemaType as VolSchemaType
|
6
|
+
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
|
9
9
|
from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
|
10
10
|
from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ACTION as CONF_ACTION, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_TARGET as CONF_TARGET, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
|
11
|
-
from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
11
|
+
from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
|
13
13
|
from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, bind_hass as bind_hass
|
14
14
|
from homeassistant.util.async_ import create_eager_task as create_eager_task
|
@@ -96,3 +96,5 @@ class ReloadServiceHelper:
|
|
96
96
|
_reload_targets_func: Incomplete
|
97
97
|
def __init__(self, service_func: Callable[[ServiceCall], Coroutine[Any, Any, Any]], reload_targets_func: Callable[[ServiceCall], set[_T]]) -> None: ...
|
98
98
|
async def execute_service(self, service_call: ServiceCall) -> None: ...
|
99
|
+
|
100
|
+
def async_register_entity_service(hass: HomeAssistant, domain: str, name: str, *, entities: dict[str, Entity], func: str | Callable[..., Any], job_type: HassJobType | None, required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
|
@@ -46,7 +46,6 @@ class TriggerBaseEntity(Entity):
|
|
46
46
|
def available(self) -> bool: ...
|
47
47
|
@property
|
48
48
|
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
49
|
-
async def async_added_to_hass(self) -> None: ...
|
50
49
|
def _set_unique_id(self, unique_id: str | None) -> None: ...
|
51
50
|
def restore_attributes(self, last_state: State) -> None: ...
|
52
51
|
def _render_templates(self, variables: dict[str, Any]) -> None: ...
|
@@ -1,11 +1,14 @@
|
|
1
|
+
import argparse
|
2
|
+
from collections.abc import Sequence
|
1
3
|
from homeassistant import runner as runner
|
2
4
|
from homeassistant.auth import auth_manager_from_config as auth_manager_from_config
|
5
|
+
from homeassistant.auth.providers import homeassistant as hass_auth
|
3
6
|
from homeassistant.config import get_default_config_dir as get_default_config_dir
|
4
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
8
|
|
6
|
-
def run(args) -> None: ...
|
7
|
-
async def run_command(args) -> None: ...
|
8
|
-
async def list_users(hass, provider, args) -> None: ...
|
9
|
-
async def add_user(hass, provider, args) -> None: ...
|
10
|
-
async def validate_login(hass, provider, args) -> None: ...
|
11
|
-
async def change_password(hass, provider, args) -> None: ...
|
9
|
+
def run(args: Sequence[str] | None) -> None: ...
|
10
|
+
async def run_command(args: argparse.Namespace) -> None: ...
|
11
|
+
async def list_users(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
|
12
|
+
async def add_user(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
|
13
|
+
async def validate_login(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
|
14
|
+
async def change_password(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
|
@@ -3,7 +3,7 @@ from homeassistant import core as core
|
|
3
3
|
from homeassistant.const import EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
4
4
|
from homeassistant.helpers.entityfilter import convert_include_exclude_filter as convert_include_exclude_filter
|
5
5
|
from homeassistant.helpers.event import async_track_state_change as async_track_state_change, async_track_state_change_event as async_track_state_change_event
|
6
|
-
from homeassistant.helpers.json import
|
6
|
+
from homeassistant.helpers.json import JSON_DUMP as JSON_DUMP
|
7
7
|
|
8
8
|
BENCHMARKS: dict[str, Callable]
|
9
9
|
|
@@ -18,4 +18,3 @@ async def state_changed_event_filter_helper(hass): ...
|
|
18
18
|
async def filtering_entity_id(hass): ...
|
19
19
|
async def valid_entity_id(hass): ...
|
20
20
|
async def json_serialize_states(hass): ...
|
21
|
-
def _create_state_changed_event_from_old_new(entity_id, event_time_fired, old_state, new_state): ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import concurrent.futures
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from asyncio import AbstractEventLoop, Future, Task
|
3
|
+
from asyncio import AbstractEventLoop, Future, Task, TimerHandle
|
4
4
|
from collections.abc import Callable as Callable, Coroutine
|
5
5
|
from typing import Any
|
6
6
|
|
@@ -12,3 +12,4 @@ def cancelling(task: Future[Any]) -> bool: ...
|
|
12
12
|
def run_callback_threadsafe(loop: AbstractEventLoop, callback: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> concurrent.futures.Future[_T]: ...
|
13
13
|
async def gather_with_limited_concurrency(limit: int, *tasks: Any, return_exceptions: bool = False) -> Any: ...
|
14
14
|
def shutdown_run_callback_threadsafe(loop: AbstractEventLoop) -> None: ...
|
15
|
+
def get_scheduled_timer_handles(loop: AbstractEventLoop) -> list[TimerHandle]: ...
|