homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/bootstrap.pyi +20 -4
- homeassistant-stubs/components/aftership/const.pyi +0 -1
- homeassistant-stubs/components/aftership/sensor.pyi +2 -2
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa/config.pyi +2 -0
- homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
- homeassistant-stubs/components/androidtv/entity.pyi +30 -0
- homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
- homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
- homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
- homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
- homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
- homeassistant-stubs/components/apple_tv/const.pyi +4 -0
- homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
- homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
- homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
- homeassistant-stubs/components/asuswrt/router.pyi +1 -1
- homeassistant-stubs/components/auth/__init__.pyi +2 -2
- homeassistant-stubs/components/automation/__init__.pyi +2 -1
- homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/backup/manager.pyi +5 -3
- homeassistant-stubs/components/backup/websocket.pyi +4 -2
- homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
- homeassistant-stubs/components/blue_current/entity.pyi +5 -2
- homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
- homeassistant-stubs/components/bluetooth/match.pyi +3 -0
- homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
- homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
- homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
- homeassistant-stubs/components/brother/sensor.pyi +3 -3
- homeassistant-stubs/components/camera/media_source.pyi +1 -0
- homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
- homeassistant-stubs/components/climate/__init__.pyi +3 -1
- homeassistant-stubs/components/cloud/const.pyi +2 -0
- homeassistant-stubs/components/cloud/google_config.pyi +7 -5
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/prefs.pyi +6 -2
- homeassistant-stubs/components/cloud/tts.pyi +3 -2
- homeassistant-stubs/components/config/area_registry.pyi +1 -1
- homeassistant-stubs/components/config/auth.pyi +2 -2
- homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
- homeassistant-stubs/components/config/automation.pyi +2 -2
- homeassistant-stubs/components/config/config_entries.pyi +5 -4
- homeassistant-stubs/components/config/core.pyi +2 -2
- homeassistant-stubs/components/config/device_registry.pyi +1 -1
- homeassistant-stubs/components/config/entity_registry.pyi +1 -1
- homeassistant-stubs/components/config/floor_registry.pyi +12 -0
- homeassistant-stubs/components/config/label_registry.pyi +12 -0
- homeassistant-stubs/components/config/scene.pyi +2 -2
- homeassistant-stubs/components/config/script.pyi +2 -2
- homeassistant-stubs/components/cover/intent.pyi +2 -2
- homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
- homeassistant-stubs/components/crownstone/light.pyi +1 -1
- homeassistant-stubs/components/demo/fan.pyi +1 -0
- homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
- homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
- homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +5 -5
- homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
- homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
- homeassistant-stubs/components/ecovacs/image.pyi +2 -2
- homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +3 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
- homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
- homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
- homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
- homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
- homeassistant-stubs/components/esphome/camera.pyi +2 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
- homeassistant-stubs/components/esphome/manager.pyi +6 -7
- homeassistant-stubs/components/esphome/sensor.pyi +4 -2
- homeassistant-stubs/components/esphome/update.pyi +0 -1
- homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
- homeassistant-stubs/components/filesize/sensor.pyi +0 -1
- homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
- homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
- homeassistant-stubs/components/fritz/common.pyi +2 -1
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
- homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
- homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
- homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
- homeassistant-stubs/components/group/__init__.pyi +1 -1
- homeassistant-stubs/components/group/light.pyi +3 -3
- homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
- homeassistant-stubs/components/hardware/hardware.pyi +2 -2
- homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
- homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
- homeassistant-stubs/components/homekit/__init__.pyi +1 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -1
- homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
- homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
- homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
- homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
- homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
- homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
- homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
- homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
- homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
- homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
- homeassistant-stubs/components/image/__init__.pyi +13 -3
- homeassistant-stubs/components/image/media_source.pyi +18 -0
- homeassistant-stubs/components/imap/coordinator.pyi +8 -0
- homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
- homeassistant-stubs/components/intent/__init__.pyi +1 -0
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/schema.pyi +3 -18
- homeassistant-stubs/components/knx/validation.pyi +19 -0
- homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
- homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
- homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
- homeassistant-stubs/components/light/__init__.pyi +3 -0
- homeassistant-stubs/components/local_todo/todo.pyi +3 -1
- homeassistant-stubs/components/logbook/__init__.pyi +1 -1
- homeassistant-stubs/components/logbook/helpers.pyi +2 -2
- homeassistant-stubs/components/logbook/models.pyi +2 -2
- homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
- homeassistant-stubs/components/matter/light.pyi +6 -5
- homeassistant-stubs/components/media_player/intent.pyi +11 -0
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +1 -0
- homeassistant-stubs/components/modbus/validators.pyi +4 -4
- homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
- homeassistant-stubs/components/mqtt/climate.pyi +1 -8
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/event.pyi +1 -1
- homeassistant-stubs/components/mqtt/image.pyi +1 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
- homeassistant-stubs/components/mqtt/models.pyi +10 -0
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
- homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
- homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
- homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
- homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
- homeassistant-stubs/components/myuplink/number.pyi +30 -0
- homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
- homeassistant-stubs/components/myuplink/switch.pyi +29 -0
- homeassistant-stubs/components/myuplink/update.pyi +20 -0
- homeassistant-stubs/components/notion/__init__.pyi +10 -6
- homeassistant-stubs/components/notion/config_flow.pyi +11 -3
- homeassistant-stubs/components/notion/const.pyi +2 -0
- homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
- homeassistant-stubs/components/notion/model.pyi +1 -1
- homeassistant-stubs/components/notion/util.pyi +7 -0
- homeassistant-stubs/components/rainmachine/util.pyi +1 -1
- homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/core.pyi +1 -0
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
- homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
- homeassistant-stubs/components/sensor/recorder.pyi +0 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/shelly/button.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +1 -3
- homeassistant-stubs/components/shelly/entity.pyi +1 -2
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +4 -5
- homeassistant-stubs/components/shelly/utils.pyi +2 -0
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
- homeassistant-stubs/components/statistics/sensor.pyi +4 -1
- homeassistant-stubs/components/system_health/__init__.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
- homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
- homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
- homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
- homeassistant-stubs/components/technove/helpers.pyi +9 -0
- homeassistant-stubs/components/technove/switch.pyi +33 -0
- homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
- homeassistant-stubs/components/tedee/sensor.pyi +1 -1
- homeassistant-stubs/components/tibber/sensor.pyi +3 -4
- homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
- homeassistant-stubs/components/tplink/light.pyi +1 -0
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
- homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/button.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
- homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
- homeassistant-stubs/components/unifi/entity.pyi +13 -13
- homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
- homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
- homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
- homeassistant-stubs/components/unifi/image.pyi +4 -4
- homeassistant-stubs/components/unifi/sensor.pyi +14 -14
- homeassistant-stubs/components/unifi/switch.pyi +14 -14
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
- homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
- homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
- homeassistant-stubs/components/usb/__init__.pyi +1 -1
- homeassistant-stubs/components/vacuum/intent.pyi +8 -0
- homeassistant-stubs/components/vallox/__init__.pyi +5 -23
- homeassistant-stubs/components/vallox/fan.pyi +1 -1
- homeassistant-stubs/components/valve/intent.pyi +6 -0
- homeassistant-stubs/components/wake_word/models.pyi +4 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
- homeassistant-stubs/components/websocket_api/http.pyi +1 -0
- homeassistant-stubs/components/wiz/light.pyi +3 -2
- homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
- homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
- homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
- homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
- homeassistant-stubs/config.pyi +4 -2
- homeassistant-stubs/config_entries.pyi +38 -22
- homeassistant-stubs/core.pyi +8 -7
- homeassistant-stubs/data_entry_flow.pyi +1 -0
- homeassistant-stubs/helpers/area_registry.pyi +9 -4
- homeassistant-stubs/helpers/collection.pyi +19 -0
- homeassistant-stubs/helpers/config_validation.pyi +4 -0
- homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
- homeassistant-stubs/helpers/debounce.pyi +3 -1
- homeassistant-stubs/helpers/device_registry.pyi +13 -6
- homeassistant-stubs/helpers/entity.pyi +4 -2
- homeassistant-stubs/helpers/entity_component.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +7 -3
- homeassistant-stubs/helpers/entity_registry.pyi +10 -4
- homeassistant-stubs/helpers/event.pyi +28 -2
- homeassistant-stubs/helpers/floor_registry.pyi +59 -0
- homeassistant-stubs/helpers/icon.pyi +1 -1
- homeassistant-stubs/helpers/integration_platform.pyi +12 -8
- homeassistant-stubs/helpers/intent.pyi +8 -2
- homeassistant-stubs/helpers/json.pyi +1 -0
- homeassistant-stubs/helpers/label_registry.pyi +59 -0
- homeassistant-stubs/helpers/redact.pyi +13 -0
- homeassistant-stubs/helpers/service.pyi +1 -0
- homeassistant-stubs/helpers/storage.pyi +7 -3
- homeassistant-stubs/helpers/template.pyi +7 -0
- homeassistant-stubs/helpers/translation.pyi +18 -4
- homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
- homeassistant-stubs/loader.pyi +24 -11
- homeassistant-stubs/setup.pyi +9 -3
- homeassistant-stubs/util/async_.pyi +3 -3
- homeassistant-stubs/util/file.pyi +2 -2
- homeassistant-stubs/util/yaml/loader.pyi +3 -0
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/RECORD +275 -239
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/WHEEL +0 -0
@@ -7,7 +7,7 @@ from homeassistant import config_entries as config_entries, data_entry_flow as d
|
|
7
7
|
from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info
|
8
8
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
|
9
9
|
from homeassistant.core import callback as callback
|
10
|
-
from homeassistant.data_entry_flow import
|
10
|
+
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
11
11
|
from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
|
12
12
|
from typing import Any
|
13
13
|
|
@@ -30,7 +30,9 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
|
|
30
30
|
_hvac_modes: Incomplete
|
31
31
|
_hvac_presets: Incomplete
|
32
32
|
_unit_value: Incomplete
|
33
|
+
_last_hvac_mode_id_before_off: Incomplete
|
33
34
|
_current_mode: Incomplete
|
35
|
+
_supports_resume: Incomplete
|
34
36
|
_setpoint_values: Incomplete
|
35
37
|
_operating_state: Incomplete
|
36
38
|
_current_temp: Incomplete
|
@@ -78,6 +80,8 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
|
|
78
80
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
79
81
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
80
82
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
83
|
+
async def async_turn_off(self) -> None: ...
|
84
|
+
async def async_turn_on(self) -> None: ...
|
81
85
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
82
86
|
|
83
87
|
class DynamicCurrentTempClimate(ZWaveClimate):
|
@@ -73,7 +73,6 @@ class ZWaveListSensor(ZwaveSensor):
|
|
73
73
|
|
74
74
|
class ZWaveConfigParameterSensor(ZWaveListSensor):
|
75
75
|
_attr_entity_category: Incomplete
|
76
|
-
_primary_value: Incomplete
|
77
76
|
_attr_name: Incomplete
|
78
77
|
def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
|
79
78
|
@property
|
homeassistant-stubs/config.pyi
CHANGED
@@ -69,6 +69,7 @@ def _no_duplicate_auth_mfa_module(configs: Sequence[dict[str, Any]]) -> Sequence
|
|
69
69
|
def _filter_bad_internal_external_urls(conf: dict) -> dict: ...
|
70
70
|
|
71
71
|
PACKAGES_CONFIG_SCHEMA: Incomplete
|
72
|
+
PACKAGE_DEFINITION_SCHEMA: Incomplete
|
72
73
|
CUSTOMIZE_DICT_SCHEMA: Incomplete
|
73
74
|
CUSTOMIZE_CONFIG_SCHEMA: Incomplete
|
74
75
|
|
@@ -97,10 +98,11 @@ def humanize_error(hass: HomeAssistant, validation_error: vol.Invalid, domain: s
|
|
97
98
|
def format_homeassistant_error(hass: HomeAssistant, exc: HomeAssistantError, domain: str, config: dict, link: str | None = None) -> str: ...
|
98
99
|
def format_schema_error(hass: HomeAssistant, exc: vol.Invalid, domain: str, config: dict, link: str | None = None) -> str: ...
|
99
100
|
async def async_process_ha_core_config(hass: HomeAssistant, config: dict) -> None: ...
|
100
|
-
def _log_pkg_error(hass: HomeAssistant, package: str, component: str, config: dict, message: str) -> None: ...
|
101
|
+
def _log_pkg_error(hass: HomeAssistant, package: str, component: str | None, config: dict, message: str) -> None: ...
|
101
102
|
def _identify_config_schema(module: ComponentProtocol) -> str | None: ...
|
103
|
+
def _validate_package_definition(name: str, conf: Any) -> None: ...
|
102
104
|
def _recursive_merge(conf: dict[str, Any], package: dict[str, Any]) -> str | None: ...
|
103
|
-
async def merge_packages_config(hass: HomeAssistant, config: dict, packages: dict[str, Any], _log_pkg_error: Callable[[HomeAssistant, str, str, dict, str], None] = ...) -> dict: ...
|
105
|
+
async def merge_packages_config(hass: HomeAssistant, config: dict, packages: dict[str, Any], _log_pkg_error: Callable[[HomeAssistant, str, str | None, dict, str], None] = ...) -> dict: ...
|
104
106
|
def _get_log_message_and_stack_print_pref(hass: HomeAssistant, domain: str, platform_exception: ConfigExceptionInfo) -> tuple[str | None, bool, dict[str, str]]: ...
|
105
107
|
async def async_process_component_and_handle_errors(hass: HomeAssistant, config: ConfigType, integration: Integration, raise_on_failure: bool = False) -> ConfigType | None: ...
|
106
108
|
def async_drop_config_annotations(integration_config_info: IntegrationConfigInfo, integration: Integration) -> ConfigType | None: ...
|
@@ -16,22 +16,27 @@ from .helpers.debounce import Debouncer as Debouncer
|
|
16
16
|
from .helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
17
17
|
from .helpers.event import RANDOM_MICROSECOND_MAX as RANDOM_MICROSECOND_MAX, RANDOM_MICROSECOND_MIN as RANDOM_MICROSECOND_MIN, async_call_later as async_call_later
|
18
18
|
from .helpers.frame import report as report
|
19
|
+
from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
|
19
20
|
from .helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
|
20
21
|
from .helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
21
22
|
from .loader import async_suggest_report_issue as async_suggest_report_issue
|
22
23
|
from .setup import DATA_SETUP_DONE as DATA_SETUP_DONE, async_process_deps_reqs as async_process_deps_reqs, async_setup_component as async_setup_component
|
24
|
+
from .util.async_ import create_eager_task as create_eager_task
|
23
25
|
from .util.decorator import Registry as Registry
|
24
26
|
from _typeshed import Incomplete
|
25
27
|
from collections import UserDict
|
26
28
|
from collections.abc import Callable, Coroutine, Generator, Iterable, Mapping, ValuesView
|
27
29
|
from contextvars import ContextVar
|
28
30
|
from enum import Enum, StrEnum
|
31
|
+
from functools import cached_property as cached_property
|
32
|
+
from types import MappingProxyType
|
29
33
|
from typing import Any, Self, TypeVar
|
30
34
|
|
31
35
|
_LOGGER: Incomplete
|
32
36
|
SOURCE_BLUETOOTH: str
|
33
37
|
SOURCE_DHCP: str
|
34
38
|
SOURCE_DISCOVERY: str
|
39
|
+
SOURCE_HARDWARE: str
|
35
40
|
SOURCE_HASSIO: str
|
36
41
|
SOURCE_HOMEKIT: str
|
37
42
|
SOURCE_IMPORT: str
|
@@ -95,27 +100,28 @@ class UnknownEntry(ConfigError): ...
|
|
95
100
|
class OperationNotAllowed(ConfigError): ...
|
96
101
|
|
97
102
|
UpdateListenerType: Incomplete
|
103
|
+
FROZEN_CONFIG_ENTRY_ATTRS: Incomplete
|
104
|
+
UPDATE_ENTRY_CONFIG_ENTRY_ATTRS: Incomplete
|
98
105
|
|
99
106
|
class ConfigEntry:
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
pref_disable_new_entities:
|
109
|
-
pref_disable_polling:
|
107
|
+
entry_id: str
|
108
|
+
domain: str
|
109
|
+
title: str
|
110
|
+
data: MappingProxyType[str, Any]
|
111
|
+
options: MappingProxyType[str, Any]
|
112
|
+
unique_id: str | None
|
113
|
+
state: ConfigEntryState
|
114
|
+
reason: str | None
|
115
|
+
pref_disable_new_entities: bool
|
116
|
+
pref_disable_polling: bool
|
117
|
+
version: int
|
118
|
+
minor_version: int
|
110
119
|
source: Incomplete
|
111
|
-
state: Incomplete
|
112
|
-
unique_id: Incomplete
|
113
120
|
disabled_by: Incomplete
|
114
121
|
supports_unload: Incomplete
|
115
122
|
supports_remove_device: Incomplete
|
116
123
|
_supports_options: Incomplete
|
117
124
|
update_listeners: Incomplete
|
118
|
-
reason: Incomplete
|
119
125
|
_async_cancel_retry_setup: Incomplete
|
120
126
|
_on_unload: Incomplete
|
121
127
|
reload_lock: Incomplete
|
@@ -127,12 +133,16 @@ class ConfigEntry:
|
|
127
133
|
_setup_again_job: Incomplete
|
128
134
|
def __init__(self, *, version: int, minor_version: int, domain: str, title: str, data: Mapping[str, Any], source: str, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, options: Mapping[str, Any] | None = None, unique_id: str | None = None, entry_id: str | None = None, state: ConfigEntryState = ..., disabled_by: ConfigEntryDisabler | None = None) -> None: ...
|
129
135
|
def __repr__(self) -> str: ...
|
136
|
+
def __setattr__(self, key: str, value: Any) -> None: ...
|
130
137
|
@property
|
131
138
|
def supports_options(self) -> bool: ...
|
139
|
+
def clear_cache(self) -> None: ...
|
140
|
+
@cached_property
|
141
|
+
def as_json_fragment(self) -> json_fragment: ...
|
132
142
|
async def async_setup(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> None: ...
|
133
143
|
async def _async_setup_again(self, hass: HomeAssistant, *_: Any) -> None: ...
|
134
144
|
def _async_get_setup_again_job(self, hass: HomeAssistant) -> HassJob: ...
|
135
|
-
|
145
|
+
def async_shutdown(self) -> None: ...
|
136
146
|
def async_cancel_retry_setup(self) -> None: ...
|
137
147
|
async def async_unload(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> bool: ...
|
138
148
|
async def async_remove(self, hass: HomeAssistant) -> None: ...
|
@@ -145,23 +155,25 @@ class ConfigEntry:
|
|
145
155
|
def async_start_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
|
146
156
|
async def _async_init_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
|
147
157
|
def async_get_active_flows(self, hass: HomeAssistant, sources: set[str]) -> Generator[FlowResult, None, None]: ...
|
148
|
-
def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None) -> asyncio.Task[_R]: ...
|
149
|
-
def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
|
158
|
+
def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
|
159
|
+
def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
|
150
160
|
|
151
161
|
current_entry: ContextVar[ConfigEntry | None]
|
152
162
|
|
163
|
+
class FlowCancelledError(Exception): ...
|
164
|
+
|
153
165
|
class ConfigEntriesFlowManager(data_entry_flow.FlowManager):
|
154
166
|
config_entries: Incomplete
|
155
167
|
_hass_config: Incomplete
|
156
168
|
_pending_import_flows: Incomplete
|
157
|
-
|
169
|
+
_initialize_futures: Incomplete
|
158
170
|
_discovery_debouncer: Incomplete
|
159
171
|
def __init__(self, hass: HomeAssistant, config_entries: ConfigEntries, hass_config: ConfigType) -> None: ...
|
160
172
|
async def async_wait_import_flow_initialized(self, handler: str) -> None: ...
|
161
173
|
def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
|
162
174
|
async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> FlowResult: ...
|
163
175
|
async def _async_init(self, flow_id: str, handler: str, context: dict, data: Any) -> tuple[data_entry_flow.FlowHandler, FlowResult]: ...
|
164
|
-
|
176
|
+
def async_shutdown(self) -> None: ...
|
165
177
|
async def async_finish_flow(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
|
166
178
|
async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
|
167
179
|
async def async_post_init(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> None: ...
|
@@ -174,8 +186,10 @@ class ConfigEntryItems(UserDict[str, ConfigEntry]):
|
|
174
186
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
175
187
|
def values(self) -> ValuesView[ConfigEntry]: ...
|
176
188
|
def __setitem__(self, entry_id: str, entry: ConfigEntry) -> None: ...
|
189
|
+
def _index_entry(self, entry: ConfigEntry) -> None: ...
|
177
190
|
def _unindex_entry(self, entry_id: str) -> None: ...
|
178
191
|
def __delitem__(self, entry_id: str) -> None: ...
|
192
|
+
def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None: ...
|
179
193
|
def get_entries_for_domain(self, domain: str) -> list[ConfigEntry]: ...
|
180
194
|
def get_entry_by_domain_and_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
|
181
195
|
|
@@ -189,17 +203,18 @@ class ConfigEntries:
|
|
189
203
|
def __init__(self, hass: HomeAssistant, hass_config: ConfigType) -> None: ...
|
190
204
|
def async_domains(self, include_ignore: bool = False, include_disabled: bool = False) -> list[str]: ...
|
191
205
|
def async_get_entry(self, entry_id: str) -> ConfigEntry | None: ...
|
192
|
-
def async_entries(self, domain: str | None = None) -> list[ConfigEntry]: ...
|
206
|
+
def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
|
193
207
|
def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
|
194
208
|
async def async_add(self, entry: ConfigEntry) -> None: ...
|
195
209
|
async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
|
196
|
-
|
210
|
+
def _async_shutdown(self, event: Event) -> None: ...
|
197
211
|
async def async_initialize(self) -> None: ...
|
198
212
|
async def async_setup(self, entry_id: str) -> bool: ...
|
199
213
|
async def async_unload(self, entry_id: str) -> bool: ...
|
214
|
+
def async_schedule_reload(self, entry_id: str) -> None: ...
|
200
215
|
async def async_reload(self, entry_id: str) -> bool: ...
|
201
216
|
async def async_set_disabled_by(self, entry_id: str, disabled_by: ConfigEntryDisabler | None) -> bool: ...
|
202
|
-
def async_update_entry(self, entry: ConfigEntry, *,
|
217
|
+
def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
|
203
218
|
def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
|
204
219
|
async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
|
205
220
|
async def async_forward_entry_setup(self, entry: ConfigEntry, domain: Platform | str) -> bool: ...
|
@@ -272,11 +287,12 @@ class EntityRegistryDisabledHandler:
|
|
272
287
|
_remove_call_later: Incomplete
|
273
288
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
274
289
|
def async_setup(self) -> None: ...
|
275
|
-
|
290
|
+
def _handle_entry_updated(self, event: Event) -> None: ...
|
276
291
|
async def _handle_reload(self, _now: Any) -> None: ...
|
277
292
|
|
278
293
|
def _handle_entry_updated_filter(event: Event) -> bool: ...
|
279
294
|
async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
|
280
295
|
async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
|
296
|
+
async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
|
281
297
|
async def _load_integration(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> None: ...
|
282
298
|
async def _async_get_flow_handler(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> type[ConfigFlow]: ...
|
homeassistant-stubs/core.pyi
CHANGED
@@ -14,7 +14,7 @@ from .helpers.entity import StateInfo as StateInfo
|
|
14
14
|
from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
|
15
15
|
from .helpers.storage import Store as Store
|
16
16
|
from .util import location as location
|
17
|
-
from .util.async_ import cancelling as cancelling, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
|
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
18
|
from .util.json import JsonObjectType as JsonObjectType
|
19
19
|
from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
|
20
20
|
from .util.timeout import TimeoutManager as TimeoutManager
|
@@ -157,8 +157,8 @@ class HomeAssistant:
|
|
157
157
|
@overload
|
158
158
|
def async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any) -> asyncio.Future[_R] | None: ...
|
159
159
|
def create_task(self, target: Coroutine[Any, Any, Any], name: str | None = None) -> None: ...
|
160
|
-
def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None) -> asyncio.Task[_R]: ...
|
161
|
-
def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
|
160
|
+
def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
|
161
|
+
def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
|
162
162
|
def async_add_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
|
163
163
|
@overload
|
164
164
|
def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any) -> asyncio.Future[_R] | None: ...
|
@@ -208,7 +208,7 @@ class Event:
|
|
208
208
|
origin: Incomplete
|
209
209
|
time_fired: Incomplete
|
210
210
|
context: Incomplete
|
211
|
-
def __init__(self, event_type: str, data:
|
211
|
+
def __init__(self, event_type: str, data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., time_fired: datetime.datetime | None = None, context: Context | None = None) -> None: ...
|
212
212
|
@cached_property
|
213
213
|
def time_fired_timestamp(self) -> float: ...
|
214
214
|
@cached_property
|
@@ -227,7 +227,8 @@ class _OneTimeListener:
|
|
227
227
|
hass: HomeAssistant
|
228
228
|
listener: Callable[[Event], Coroutine[Any, Any, None] | None]
|
229
229
|
remove: CALLBACK_TYPE | None = ...
|
230
|
-
def
|
230
|
+
def __call__(self, event: Event) -> None: ...
|
231
|
+
def __repr__(self) -> str: ...
|
231
232
|
def __init__(self, hass, listener, remove) -> None: ...
|
232
233
|
|
233
234
|
class EventBus:
|
@@ -239,8 +240,8 @@ class EventBus:
|
|
239
240
|
def async_listeners(self) -> dict[str, int]: ...
|
240
241
|
@property
|
241
242
|
def listeners(self) -> dict[str, int]: ...
|
242
|
-
def fire(self, event_type: str, event_data:
|
243
|
-
def async_fire(self, event_type: str, event_data:
|
243
|
+
def fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
|
244
|
+
def async_fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: datetime.datetime | None = None) -> None: ...
|
244
245
|
def listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
|
245
246
|
def async_listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None], event_filter: Callable[[Event], bool] | None = None, run_immediately: bool = False) -> CALLBACK_TYPE: ...
|
246
247
|
def _async_listen_filterable_job(self, event_type: str, filterable_job: _FilterableJobType) -> CALLBACK_TYPE: ...
|
@@ -22,12 +22,14 @@ class EventAreaRegistryUpdatedData(TypedDict):
|
|
22
22
|
@dataclasses.dataclass(frozen=True, kw_only=True, slots=True)
|
23
23
|
class AreaEntry:
|
24
24
|
aliases: set[str]
|
25
|
+
floor_id: str | None
|
25
26
|
icon: str | None
|
26
27
|
id: str
|
28
|
+
labels: set[str] = ...
|
27
29
|
name: str
|
28
30
|
normalized_name: str
|
29
31
|
picture: str | None
|
30
|
-
def __init__(self, *, aliases, icon, id, name, normalized_name, picture) -> None: ...
|
32
|
+
def __init__(self, *, aliases, floor_id, icon, id, labels, name, normalized_name, picture) -> None: ...
|
31
33
|
|
32
34
|
class AreaRegistryItems(UserDict[str, AreaEntry]):
|
33
35
|
_normalized_names: Incomplete
|
@@ -50,15 +52,18 @@ class AreaRegistry:
|
|
50
52
|
def async_get_area_by_name(self, name: str) -> AreaEntry | None: ...
|
51
53
|
def async_list_areas(self) -> Iterable[AreaEntry]: ...
|
52
54
|
def async_get_or_create(self, name: str) -> AreaEntry: ...
|
53
|
-
def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, picture: str | None = None) -> AreaEntry: ...
|
55
|
+
def async_create(self, name: str, *, aliases: set[str] | None = None, floor_id: str | None = None, icon: str | None = None, labels: set[str] | None = None, picture: str | None = None) -> AreaEntry: ...
|
54
56
|
def async_delete(self, area_id: str) -> None: ...
|
55
|
-
def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
|
56
|
-
def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
|
57
|
+
def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
|
58
|
+
def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
|
57
59
|
async def async_load(self) -> None: ...
|
58
60
|
def async_schedule_save(self) -> None: ...
|
59
61
|
def _data_to_save(self) -> dict[str, list[dict[str, Any]]]: ...
|
60
62
|
def _generate_area_id(self, name: str) -> str: ...
|
63
|
+
def _async_setup_cleanup(self) -> None: ...
|
61
64
|
|
62
65
|
def async_get(hass: HomeAssistant) -> AreaRegistry: ...
|
63
66
|
async def async_load(hass: HomeAssistant) -> None: ...
|
67
|
+
def async_entries_for_floor(registry: AreaRegistry, floor_id: str) -> list[AreaEntry]: ...
|
68
|
+
def async_entries_for_label(registry: AreaRegistry, label_id: str) -> list[AreaEntry]: ...
|
64
69
|
def normalize_area_name(area_name: str) -> str: ...
|
@@ -119,6 +119,25 @@ class IDLessCollection(YamlCollection):
|
|
119
119
|
counter: int
|
120
120
|
async def async_load(self, data: list[dict]) -> None: ...
|
121
121
|
|
122
|
+
_GROUP_BY_KEY: Incomplete
|
123
|
+
|
124
|
+
@dataclass(slots=True, frozen=True)
|
125
|
+
class _CollectionLifeCycle(Generic[_EntityT]):
|
126
|
+
domain: str
|
127
|
+
platform: str
|
128
|
+
entity_component: EntityComponent[_EntityT]
|
129
|
+
collection: StorageCollection | YamlCollection
|
130
|
+
entity_class: type[CollectionEntity]
|
131
|
+
ent_reg: entity_registry.EntityRegistry
|
132
|
+
entities: dict[str, CollectionEntity]
|
133
|
+
def async_setup(self) -> None: ...
|
134
|
+
def _entity_removed(self, item_id: str) -> None: ...
|
135
|
+
def _add_entity(self, change_set: CollectionChangeSet) -> CollectionEntity: ...
|
136
|
+
async def _remove_entity(self, change_set: CollectionChangeSet) -> None: ...
|
137
|
+
async def _update_entity(self, change_set: CollectionChangeSet) -> None: ...
|
138
|
+
async def _collection_changed(self, change_sets: Iterable[CollectionChangeSet]) -> None: ...
|
139
|
+
def __init__(self, domain, platform, entity_component, collection, entity_class, ent_reg, entities) -> None: ...
|
140
|
+
|
122
141
|
def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
|
123
142
|
|
124
143
|
class StorageCollectionWebsocket(Generic[_StorageCollectionT]):
|
@@ -66,6 +66,10 @@ def entities_domain(domain: str | list[str]) -> Callable[[str | list], list[str]
|
|
66
66
|
def enum(enumClass: type[Enum]) -> vol.All: ...
|
67
67
|
def icon(value: Any) -> str: ...
|
68
68
|
|
69
|
+
_COLOR_HEX: Incomplete
|
70
|
+
|
71
|
+
def color_hex(value: Any) -> str: ...
|
72
|
+
|
69
73
|
_TIME_PERIOD_DICT_KEYS: Incomplete
|
70
74
|
time_period_dict: Incomplete
|
71
75
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from aiohttp import web as web
|
3
|
-
from homeassistant import
|
3
|
+
from homeassistant import data_entry_flow as data_entry_flow
|
4
4
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
5
5
|
from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
|
6
6
|
from typing import Any
|
@@ -12,6 +12,7 @@ class _BaseFlowManagerView(HomeAssistantView):
|
|
12
12
|
|
13
13
|
class FlowManagerIndexView(_BaseFlowManagerView):
|
14
14
|
async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
|
15
|
+
def get_context(self, data: dict[str, Any]) -> dict[str, Any]: ...
|
15
16
|
|
16
17
|
class FlowManagerResourceView(_BaseFlowManagerView):
|
17
18
|
async def get(self, request: web.Request, flow_id: str) -> web.Response: ...
|
@@ -22,9 +22,11 @@ class Debouncer(Generic[_R_co]):
|
|
22
22
|
def function(self) -> Callable[[], _R_co] | None: ...
|
23
23
|
@function.setter
|
24
24
|
def function(self, function: Callable[[], _R_co]) -> None: ...
|
25
|
+
def async_schedule_call(self) -> None: ...
|
26
|
+
def _async_schedule_or_call_now(self) -> bool: ...
|
25
27
|
async def async_call(self) -> None: ...
|
26
28
|
async def _handle_timer_finish(self) -> None: ...
|
27
|
-
|
29
|
+
def async_shutdown(self) -> None: ...
|
28
30
|
def async_cancel(self) -> None: ...
|
29
31
|
def _on_debounce(self) -> None: ...
|
30
32
|
def _schedule_timer(self) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from . import entity_registry as entity_registry, storage as storage
|
1
|
+
from . import entity_registry as entity_registry, storage as storage, translation as translation
|
2
2
|
from .debounce import Debouncer as Debouncer
|
3
3
|
from .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
|
4
4
|
from .frame import report as report
|
@@ -6,13 +6,14 @@ from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find
|
|
6
6
|
from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from collections import UserDict
|
9
|
-
from collections.abc import ValuesView
|
9
|
+
from collections.abc import Mapping, ValuesView
|
10
10
|
from enum import StrEnum
|
11
11
|
from homeassistant.backports.functools import cached_property as cached_property
|
12
12
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
13
13
|
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
14
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
14
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback, get_release_channel as get_release_channel
|
15
15
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
16
|
+
from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
|
16
17
|
from homeassistant.util.json import format_unserializable_data as format_unserializable_data
|
17
18
|
from typing import Any, Literal, TypeVar, TypedDict
|
18
19
|
from yarl import URL
|
@@ -57,6 +58,8 @@ class DeviceInfo(TypedDict, total=False):
|
|
57
58
|
suggested_area: str | None
|
58
59
|
sw_version: str | None
|
59
60
|
hw_version: str | None
|
61
|
+
translation_key: str | None
|
62
|
+
translation_placeholders: Mapping[str, str] | None
|
60
63
|
via_device: tuple[str, str]
|
61
64
|
|
62
65
|
DEVICE_INFO_TYPES: Incomplete
|
@@ -94,6 +97,7 @@ class DeviceEntry:
|
|
94
97
|
hw_version: str | None
|
95
98
|
id: str
|
96
99
|
identifiers: set[tuple[str, str]]
|
100
|
+
labels: set[str]
|
97
101
|
manufacturer: str | None
|
98
102
|
model: str | None
|
99
103
|
name_by_user: str | None
|
@@ -108,7 +112,7 @@ class DeviceEntry:
|
|
108
112
|
@property
|
109
113
|
def dict_repr(self) -> dict[str, Any]: ...
|
110
114
|
def json_repr(self) -> bytes | None: ...
|
111
|
-
def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
|
115
|
+
def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
|
112
116
|
def __lt__(self, other): ...
|
113
117
|
def __le__(self, other): ...
|
114
118
|
def __gt__(self, other): ...
|
@@ -152,8 +156,9 @@ class DeviceRegistry:
|
|
152
156
|
def async_get(self, device_id: str) -> DeviceEntry | None: ...
|
153
157
|
def async_get_device(self, identifiers: set[tuple[str, str]] | None = None, connections: set[tuple[str, str]] | None = None) -> DeviceEntry | None: ...
|
154
158
|
def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
|
155
|
-
def
|
156
|
-
def
|
159
|
+
def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
|
160
|
+
def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
|
161
|
+
def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
|
157
162
|
def async_remove_device(self, device_id: str) -> None: ...
|
158
163
|
async def async_load(self) -> None: ...
|
159
164
|
def async_schedule_save(self) -> None: ...
|
@@ -161,10 +166,12 @@ class DeviceRegistry:
|
|
161
166
|
def async_clear_config_entry(self, config_entry_id: str) -> None: ...
|
162
167
|
def async_purge_expired_orphaned_devices(self) -> None: ...
|
163
168
|
def async_clear_area_id(self, area_id: str) -> None: ...
|
169
|
+
def async_clear_label_id(self, label_id: str) -> None: ...
|
164
170
|
|
165
171
|
def async_get(hass: HomeAssistant) -> DeviceRegistry: ...
|
166
172
|
async def async_load(hass: HomeAssistant) -> None: ...
|
167
173
|
def async_entries_for_area(registry: DeviceRegistry, area_id: str) -> list[DeviceEntry]: ...
|
174
|
+
def async_entries_for_label(registry: DeviceRegistry, label_id: str) -> list[DeviceEntry]: ...
|
168
175
|
def async_entries_for_config_entry(registry: DeviceRegistry, config_entry_id: str) -> list[DeviceEntry]: ...
|
169
176
|
def async_config_entry_disabled_by_changed(registry: DeviceRegistry, config_entry: ConfigEntry) -> None: ...
|
170
177
|
def async_cleanup(hass: HomeAssistant, dev_reg: DeviceRegistry, ent_reg: entity_registry.EntityRegistry) -> None: ...
|
@@ -99,6 +99,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
99
99
|
_update_staged: bool
|
100
100
|
parallel_updates: asyncio.Semaphore | None
|
101
101
|
registry_entry: er.RegistryEntry | None
|
102
|
+
_removed_from_registry: bool
|
102
103
|
device_entry: dr.DeviceEntry | None
|
103
104
|
_on_remove: list[CALLBACK_TYPE] | None
|
104
105
|
_unsub_device_updates: CALLBACK_TYPE | None
|
@@ -111,7 +112,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
111
112
|
_state_info: StateInfo
|
112
113
|
__capabilities_updated_at: deque[float]
|
113
114
|
__capabilities_updated_at_reported: bool
|
114
|
-
|
115
|
+
__remove_future: asyncio.Future[None] | None
|
115
116
|
_attr_assumed_state: bool
|
116
117
|
_attr_attribution: str | None
|
117
118
|
_attr_available: bool
|
@@ -223,7 +224,8 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
223
224
|
def async_registry_entry_updated(self) -> None: ...
|
224
225
|
async def async_internal_added_to_hass(self) -> None: ...
|
225
226
|
async def async_internal_will_remove_from_hass(self) -> None: ...
|
226
|
-
|
227
|
+
def _async_registry_updated(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
|
228
|
+
async def _async_process_registry_update_or_remove(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
|
227
229
|
def _async_unsubscribe_device_updates(self) -> None: ...
|
228
230
|
def _async_device_registry_updated(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
|
229
231
|
def _async_subscribe_device_updates(self) -> None: ...
|
@@ -49,4 +49,4 @@ class EntityComponent(Generic[_EntityT]):
|
|
49
49
|
async def async_remove_entity(self, entity_id: str) -> None: ...
|
50
50
|
async def async_prepare_reload(self, *, skip_reset: bool = False) -> ConfigType | None: ...
|
51
51
|
def _async_init_entity_platform(self, platform_type: str, platform: ModuleType | None, scan_interval: timedelta | None = None, entity_namespace: str | None = None) -> EntityPlatform: ...
|
52
|
-
|
52
|
+
def _async_shutdown(self, event: Event) -> None: ...
|
@@ -7,7 +7,7 @@ from .event import async_call_later as async_call_later, async_track_time_interv
|
|
7
7
|
from .issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
8
8
|
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED
|
9
9
|
from _typeshed import Incomplete
|
10
|
-
from collections.abc import Awaitable, Callable as Callable, Iterable
|
10
|
+
from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
|
11
11
|
from contextvars import ContextVar
|
12
12
|
from datetime import datetime, timedelta
|
13
13
|
from homeassistant import config_entries as config_entries
|
@@ -16,6 +16,7 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as Core
|
|
16
16
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
17
17
|
from homeassistant.generated import languages as languages
|
18
18
|
from homeassistant.setup import async_start_setup as async_start_setup
|
19
|
+
from homeassistant.util.async_ import create_eager_task as create_eager_task
|
19
20
|
from logging import Logger
|
20
21
|
from typing import Any, Protocol
|
21
22
|
|
@@ -66,17 +67,20 @@ class EntityPlatform:
|
|
66
67
|
def __repr__(self) -> str: ...
|
67
68
|
def _get_parallel_updates_semaphore(self, entity_has_sync_update: bool) -> asyncio.Semaphore | None: ...
|
68
69
|
async def async_setup(self, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
69
|
-
|
70
|
+
def async_shutdown(self) -> None: ...
|
70
71
|
def async_cancel_retry_setup(self) -> None: ...
|
71
72
|
async def async_setup_entry(self, config_entry: config_entries.ConfigEntry) -> bool: ...
|
72
|
-
async def _async_setup_platform(self,
|
73
|
+
async def _async_setup_platform(self, async_create_setup_awaitable: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
|
73
74
|
async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, Any]: ...
|
74
75
|
async def async_load_translations(self) -> None: ...
|
75
76
|
def _schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
76
77
|
def _async_schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
77
78
|
def _async_schedule_add_entities_for_entry(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
78
79
|
def add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
80
|
+
async def _async_add_and_update_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
|
81
|
+
async def _async_add_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
|
79
82
|
async def async_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
83
|
+
def _async_handle_interval_callback(self, now: datetime) -> None: ...
|
80
84
|
def _entity_id_already_exists(self, entity_id: str) -> tuple[bool, bool]: ...
|
81
85
|
async def _async_add_entity(self, entity: Entity, update_before_add: bool, entity_registry: EntityRegistry) -> None: ...
|
82
86
|
async def async_reset(self) -> None: ...
|
@@ -76,6 +76,7 @@ class RegistryEntry:
|
|
76
76
|
icon: str | None
|
77
77
|
id: str
|
78
78
|
has_entity_name: bool
|
79
|
+
labels: set[str]
|
79
80
|
name: str | None
|
80
81
|
options: ReadOnlyEntityOptionsType
|
81
82
|
original_device_class: str | None
|
@@ -96,7 +97,7 @@ class RegistryEntry:
|
|
96
97
|
def extended_dict(self) -> dict[str, Any]: ...
|
97
98
|
def partial_json_repr(self) -> bytes | None: ...
|
98
99
|
def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
|
99
|
-
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
|
100
|
+
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
|
100
101
|
def __lt__(self, other): ...
|
101
102
|
def __le__(self, other): ...
|
102
103
|
def __gt__(self, other): ...
|
@@ -125,15 +126,18 @@ class EntityRegistryItems(UserDict[str, RegistryEntry]):
|
|
125
126
|
_index: Incomplete
|
126
127
|
_config_entry_id_index: Incomplete
|
127
128
|
_device_id_index: Incomplete
|
129
|
+
_area_id_index: Incomplete
|
128
130
|
def __init__(self) -> None: ...
|
129
131
|
def values(self) -> ValuesView[RegistryEntry]: ...
|
130
132
|
def __setitem__(self, key: str, entry: RegistryEntry) -> None: ...
|
133
|
+
def _unindex_entry_value(self, key: str, value: str, index: dict[str, dict[str, Literal[True]]]) -> None: ...
|
131
134
|
def _unindex_entry(self, key: str) -> None: ...
|
132
135
|
def __delitem__(self, key: str) -> None: ...
|
133
136
|
def get_entity_id(self, key: tuple[str, str, str]) -> str | None: ...
|
134
137
|
def get_entry(self, key: str) -> RegistryEntry | None: ...
|
135
|
-
def get_entries_for_device_id(self, device_id: str) -> list[RegistryEntry]: ...
|
138
|
+
def get_entries_for_device_id(self, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
|
136
139
|
def get_entries_for_config_entry_id(self, config_entry_id: str) -> list[RegistryEntry]: ...
|
140
|
+
def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
|
137
141
|
|
138
142
|
class EntityRegistry:
|
139
143
|
deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
|
@@ -151,13 +155,14 @@ class EntityRegistry:
|
|
151
155
|
def async_get_or_create(self, domain: str, platform: str, unique_id: str, *, known_object_ids: Iterable[str] | None = None, suggested_object_id: str | None = None, disabled_by: RegistryEntryDisabler | None = None, hidden_by: RegistryEntryHider | None = None, get_initial_options: Callable[[], EntityOptionsType | None] | None = None, capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry: ConfigEntry | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., entity_category: EntityCategory | UndefinedType | None = ..., has_entity_name: bool | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | None | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
152
156
|
def async_remove(self, entity_id: str) -> None: ...
|
153
157
|
def async_device_modified(self, event: Event) -> None: ...
|
154
|
-
def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
155
|
-
def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
158
|
+
def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
159
|
+
def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
156
160
|
def async_update_entity_platform(self, entity_id: str, new_platform: str, *, new_config_entry_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., new_device_id: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
157
161
|
def async_update_entity_options(self, entity_id: str, domain: str, options: Mapping[str, Any] | None) -> RegistryEntry: ...
|
158
162
|
async def async_load(self) -> None: ...
|
159
163
|
def async_schedule_save(self) -> None: ...
|
160
164
|
def _data_to_save(self) -> dict[str, Any]: ...
|
165
|
+
def async_clear_label_id(self, label_id: str) -> None: ...
|
161
166
|
def async_clear_config_entry(self, config_entry_id: str) -> None: ...
|
162
167
|
def async_purge_expired_orphaned_entities(self) -> None: ...
|
163
168
|
def async_clear_area_id(self, area_id: str) -> None: ...
|
@@ -166,6 +171,7 @@ def async_get(hass: HomeAssistant) -> EntityRegistry: ...
|
|
166
171
|
async def async_load(hass: HomeAssistant) -> None: ...
|
167
172
|
def async_entries_for_device(registry: EntityRegistry, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
|
168
173
|
def async_entries_for_area(registry: EntityRegistry, area_id: str) -> list[RegistryEntry]: ...
|
174
|
+
def async_entries_for_label(registry: EntityRegistry, label_id: str) -> list[RegistryEntry]: ...
|
169
175
|
def async_entries_for_config_entry(registry: EntityRegistry, config_entry_id: str) -> list[RegistryEntry]: ...
|
170
176
|
def async_config_entry_disabled_by_changed(registry: EntityRegistry, config_entry: ConfigEntry) -> None: ...
|
171
177
|
def _async_setup_cleanup(hass: HomeAssistant, registry: EntityRegistry) -> None: ...
|