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
@@ -44,7 +44,7 @@ class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
44
44
|
async def _async_create_or_error(self, user_input: dict[str, Any], importing: bool) -> tuple[dict[str, str] | None, ConfigFlowResult | None]: ...
|
45
45
|
async def async_step_discovered_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
46
46
|
async def async_step_manual_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
47
|
-
async def async_step_import(self,
|
47
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
48
48
|
def _url_already_configured(self, url: str) -> bool: ...
|
49
49
|
|
50
50
|
class InvalidAuth(HomeAssistantError): ...
|
@@ -21,6 +21,6 @@ class Enigma2ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
21
21
|
OPTIONS_KEYS: Incomplete
|
22
22
|
async def validate_user_input(self, user_input: dict[str, Any]) -> dict[str, str] | None: ...
|
23
23
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
24
|
-
async def async_step_import(self,
|
24
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
25
25
|
@staticmethod
|
26
26
|
def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
2
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioesphomeapi import ClimateAction, ClimateFanMode, ClimateInfo, ClimateMode, ClimatePreset, ClimateState, ClimateSwingMode, EntityInfo as EntityInfo
|
@@ -2,7 +2,7 @@ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryDa
|
|
2
2
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioesphomeapi import EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
|
5
|
-
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
5
|
+
from collections.abc import Awaitable as Awaitable, Callable as Callable, Coroutine
|
6
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -10,10 +10,8 @@ from homeassistant.helpers import entity_platform as entity_platform
|
|
10
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
11
11
|
from homeassistant.helpers.entity import Entity as Entity
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from typing import Any, Concatenate, Generic,
|
13
|
+
from typing import Any, Concatenate, Generic, TypeVar
|
14
14
|
|
15
|
-
_R = TypeVar('_R')
|
16
|
-
_P = ParamSpec('_P')
|
17
15
|
_InfoT = TypeVar('_InfoT', bound=EntityInfo)
|
18
16
|
_EntityT = TypeVar('_EntityT', bound='EsphomeEntity[Any,Any]')
|
19
17
|
_StateT = TypeVar('_StateT', bound=EntityState)
|
@@ -21,6 +19,7 @@ _StateT = TypeVar('_StateT', bound=EntityState)
|
|
21
19
|
def async_static_info_updated(hass: HomeAssistant, entry_data: RuntimeEntryData, platform: entity_platform.EntityPlatform, async_add_entities: AddEntitiesCallback, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT], infos: list[EntityInfo]) -> None: ...
|
22
20
|
async def platform_async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddEntitiesCallback, *, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT]) -> None: ...
|
23
21
|
def esphome_state_property(func: Callable[[_EntityT], _R]) -> Callable[[_EntityT], _R | None]: ...
|
22
|
+
def esphome_float_state_property(func: Callable[[_EntityT], float | None]) -> Callable[[_EntityT], float | None]: ...
|
24
23
|
def convert_api_error_ha_error(func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
|
25
24
|
|
26
25
|
ICON_SCHEMA: Incomplete
|
@@ -32,6 +31,7 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
|
|
32
31
|
_state: _StateT
|
33
32
|
_has_state: bool
|
34
33
|
_entry_data: Incomplete
|
34
|
+
_states: Incomplete
|
35
35
|
_device_info: Incomplete
|
36
36
|
_key: Incomplete
|
37
37
|
_state_type: Incomplete
|
@@ -4,6 +4,7 @@ from .dashboard import async_get_dashboard as async_get_dashboard
|
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioesphomeapi import APIClient as APIClient, APIVersion, DeviceInfo, EntityInfo as EntityInfo, EntityState as EntityState, UserService
|
6
6
|
from bleak_esphome.backend.device import ESPHomeBluetoothDevice as ESPHomeBluetoothDevice
|
7
|
+
from collections import defaultdict
|
7
8
|
from collections.abc import Callable as Callable, Iterable
|
8
9
|
from dataclasses import dataclass
|
9
10
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -32,7 +33,7 @@ class RuntimeEntryData:
|
|
32
33
|
title: str
|
33
34
|
client: APIClient
|
34
35
|
store: ESPHomeStorage
|
35
|
-
state:
|
36
|
+
state: defaultdict[type[EntityState], dict[int, EntityState]] = ...
|
36
37
|
stale_state: set[tuple[type[EntityState], int]] = ...
|
37
38
|
info: dict[type[EntityInfo], dict[int, EntityInfo]] = ...
|
38
39
|
services: dict[int, UserService] = ...
|
@@ -46,6 +46,7 @@ class ESPHomeManager:
|
|
46
46
|
def _send_home_assistant_state(self, entity_id: str, attribute: str | None, state: State | None) -> None: ...
|
47
47
|
def _send_home_assistant_state_event(self, attribute: str | None, event: Event[EventStateChangedData]) -> None: ...
|
48
48
|
def async_on_state_subscription(self, entity_id: str, attribute: str | None = None) -> None: ...
|
49
|
+
def async_on_state_request(self, entity_id: str, attribute: str | None = None) -> None: ...
|
49
50
|
def _handle_pipeline_finished(self) -> None: ...
|
50
51
|
async def _handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings, wake_word_phrase: str | None) -> int | None: ...
|
51
52
|
async def _handle_pipeline_stop(self) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
2
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioesphomeapi import EntityInfo as EntityInfo, MediaPlayerEntityState, MediaPlayerInfo, MediaPlayerState as EspMediaPlayerState
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error,
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
2
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioesphomeapi import EntityInfo as EntityInfo, NumberInfo, NumberMode as EsphomeNumberMode, NumberState
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import EsphomeEntity as EsphomeEntity,
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
|
2
2
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioesphomeapi import EntityInfo as EntityInfo, SensorInfo, SensorState, SensorStateClass as EsphomeSensorStateClass, TextSensorInfo, TextSensorState
|
@@ -22,7 +22,7 @@ class FeedReaderConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
22
22
|
def show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None, description_placeholders: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
23
23
|
def abort_on_import_error(self, url: str, error: str) -> ConfigFlowResult: ...
|
24
24
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
|
-
async def async_step_import(self,
|
25
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
26
26
|
async def async_step_reconfigure(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
27
27
|
async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
28
28
|
|
@@ -14,4 +14,5 @@ class FileSizeCoordinator(DataUpdateCoordinator[dict[str, int | float | datetime
|
|
14
14
|
def __init__(self, hass: HomeAssistant, unresolved_path: str) -> None: ...
|
15
15
|
def _get_full_path(self) -> pathlib.Path: ...
|
16
16
|
def _update(self) -> os.stat_result: ...
|
17
|
+
async def _async_setup(self) -> None: ...
|
17
18
|
async def _async_update_data(self) -> dict[str, float | int | datetime]: ...
|
@@ -22,4 +22,4 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
|
|
22
22
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
23
|
async def async_step_creation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
24
24
|
async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
|
25
|
-
async def async_step_import(self,
|
25
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import FritzBoxDeviceEntity as FritzBoxDeviceEntity, FritzboxDataUpdateCoordinator as FritzboxDataUpdateCoordinator
|
2
|
-
from .const import COLOR_MODE as COLOR_MODE,
|
2
|
+
from .const import COLOR_MODE as COLOR_MODE, LOGGER as LOGGER
|
3
3
|
from .coordinator import FritzboxConfigEntry as FritzboxConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
|
@@ -7,25 +7,22 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
7
7
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
8
|
from typing import Any
|
9
9
|
|
10
|
-
SUPPORTED_COLOR_MODES: Incomplete
|
11
|
-
|
12
10
|
async def async_setup_entry(hass: HomeAssistant, entry: FritzboxConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
11
|
|
14
12
|
class FritzboxLight(FritzBoxDeviceEntity, LightEntity):
|
15
13
|
_supported_hs: Incomplete
|
14
|
+
_attr_supported_color_modes: Incomplete
|
16
15
|
def __init__(self, coordinator: FritzboxDataUpdateCoordinator, ain: str) -> None: ...
|
17
16
|
@property
|
18
17
|
def is_on(self) -> bool: ...
|
19
18
|
@property
|
20
19
|
def brightness(self) -> int: ...
|
21
20
|
@property
|
22
|
-
def hs_color(self) -> tuple[float, float]
|
21
|
+
def hs_color(self) -> tuple[float, float]: ...
|
23
22
|
@property
|
24
|
-
def color_temp_kelvin(self) -> int
|
23
|
+
def color_temp_kelvin(self) -> int: ...
|
25
24
|
@property
|
26
25
|
def color_mode(self) -> ColorMode: ...
|
27
|
-
@property
|
28
|
-
def supported_color_modes(self) -> set[ColorMode]: ...
|
29
26
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
30
27
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
31
28
|
_attr_max_color_temp_kelvin: Incomplete
|
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Callable as Callable
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
|
-
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE,
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfReactivePower as UnitOfReactivePower, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
11
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from .const import API_TIMEOUT as API_TIMEOUT, CONF_EUROPE as CONF_EUROPE, FGLAIR_APP_ID as FGLAIR_APP_ID, FGLAIR_APP_SECRET as FGLAIR_APP_SECRET
|
2
|
+
from .coordinator import FGLairCoordinator as FGLairCoordinator
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
7
|
+
|
8
|
+
PLATFORMS: list[Platform]
|
9
|
+
FGLairConfigEntry = ConfigEntry[FGLairCoordinator]
|
10
|
+
|
11
|
+
async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool: ...
|
12
|
+
async def async_unload_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool: ...
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from . import FGLairConfigEntry as FGLairConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import FGLairCoordinator as FGLairCoordinator
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC as FujitsuHVAC
|
6
|
+
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
|
7
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
HA_TO_FUJI_FAN: Incomplete
|
15
|
+
FUJI_TO_HA_FAN: Incomplete
|
16
|
+
HA_TO_FUJI_HVAC: Incomplete
|
17
|
+
FUJI_TO_HA_HVAC: Incomplete
|
18
|
+
HA_TO_FUJI_SWING: Incomplete
|
19
|
+
FUJI_TO_HA_SWING: Incomplete
|
20
|
+
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
22
|
+
|
23
|
+
class FGLairDevice(CoordinatorEntity[FGLairCoordinator], ClimateEntity):
|
24
|
+
_attr_temperature_unit: Incomplete
|
25
|
+
_attr_precision = PRECISION_HALVES
|
26
|
+
_attr_target_temperature_step: float
|
27
|
+
_attr_has_entity_name: bool
|
28
|
+
_attr_name: Incomplete
|
29
|
+
_enable_turn_on_off_backwards_compatibility: bool
|
30
|
+
_attr_unique_id: Incomplete
|
31
|
+
_attr_device_info: Incomplete
|
32
|
+
_attr_supported_features: Incomplete
|
33
|
+
def __init__(self, coordinator: FGLairCoordinator, device: FujitsuHVAC) -> None: ...
|
34
|
+
@property
|
35
|
+
def device(self) -> FujitsuHVAC: ...
|
36
|
+
@property
|
37
|
+
def available(self) -> bool: ...
|
38
|
+
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
39
|
+
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
40
|
+
async def async_set_swing_mode(self, swing_mode: str) -> None: ...
|
41
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
42
|
+
_attr_fan_mode: Incomplete
|
43
|
+
_attr_fan_modes: Incomplete
|
44
|
+
_attr_hvac_mode: Incomplete
|
45
|
+
_attr_hvac_modes: Incomplete
|
46
|
+
_attr_swing_mode: Incomplete
|
47
|
+
_attr_swing_modes: Incomplete
|
48
|
+
_attr_min_temp: Incomplete
|
49
|
+
_attr_max_temp: Incomplete
|
50
|
+
_attr_current_temperature: Incomplete
|
51
|
+
_attr_target_temperature: Incomplete
|
52
|
+
def _set_attr(self) -> None: ...
|
53
|
+
def _handle_coordinator_update(self) -> None: ...
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from .const import API_TIMEOUT as API_TIMEOUT, CONF_EUROPE as CONF_EUROPE, DOMAIN as DOMAIN, FGLAIR_APP_ID as FGLAIR_APP_ID, FGLAIR_APP_SECRET as FGLAIR_APP_SECRET
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
6
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
STEP_USER_DATA_SCHEMA: Incomplete
|
11
|
+
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
12
|
+
|
13
|
+
class FGLairConfigFlow(ConfigFlow, domain=DOMAIN):
|
14
|
+
_reauth_entry: ConfigEntry | None
|
15
|
+
async def _async_validate_credentials(self, user_input: dict[str, Any]) -> dict[str, str]: ...
|
16
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
18
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from .const import API_REFRESH as API_REFRESH
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from ayla_iot_unofficial import AylaApi as AylaApi
|
4
|
+
from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
|
11
|
+
class FGLairCoordinator(DataUpdateCoordinator[dict[str, FujitsuHVAC]]):
|
12
|
+
api: Incomplete
|
13
|
+
def __init__(self, hass: HomeAssistant, api: AylaApi) -> None: ...
|
14
|
+
async def _async_setup(self) -> None: ...
|
15
|
+
async def _async_update_data(self) -> dict[str, FujitsuHVAC]: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from .const import CONF_EXPIRATION as CONF_EXPIRATION
|
2
|
+
from .coordinator import FytaCoordinator as FytaCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.util.dt import async_get_time_zone as async_get_time_zone
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
PLATFORMS: Incomplete
|
11
|
+
FytaConfigEntry = ConfigEntry[FytaCoordinator]
|
12
|
+
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry) -> bool: ...
|
14
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
15
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
@@ -0,0 +1,22 @@
|
|
1
|
+
from . import FytaConfigEntry as FytaConfigEntry
|
2
|
+
from .const import CONF_EXPIRATION as CONF_EXPIRATION, DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Mapping
|
5
|
+
from fyta_cli.fyta_models import Credentials as Credentials
|
6
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
7
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
8
|
+
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
DATA_SCHEMA: Incomplete
|
13
|
+
|
14
|
+
class FytaConfigFlow(ConfigFlow, domain=DOMAIN):
|
15
|
+
credentials: Credentials
|
16
|
+
_entry: FytaConfigEntry | None
|
17
|
+
VERSION: int
|
18
|
+
MINOR_VERSION: int
|
19
|
+
async def async_auth(self, user_input: Mapping[str, Any]) -> dict[str, str]: ...
|
20
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
21
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
22
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from . import FytaConfigEntry as FytaConfigEntry
|
2
|
+
from .const import CONF_EXPIRATION as CONF_EXPIRATION
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from fyta_cli.fyta_connector import FytaConnector as FytaConnector
|
5
|
+
from fyta_cli.fyta_models import Plant
|
6
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
10
|
+
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
|
13
|
+
class FytaCoordinator(DataUpdateCoordinator[dict[int, Plant]]):
|
14
|
+
config_entry: FytaConfigEntry
|
15
|
+
fyta: Incomplete
|
16
|
+
def __init__(self, hass: HomeAssistant, fyta: FytaConnector) -> None: ...
|
17
|
+
async def _async_update_data(self) -> dict[int, Plant]: ...
|
18
|
+
async def renew_authentication(self) -> bool: ...
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from . import FytaConfigEntry as FytaConfigEntry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
TO_REDACT: Incomplete
|
9
|
+
|
10
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: FytaConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import FytaCoordinator as FytaCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from fyta_cli.fyta_models import Plant as Plant
|
5
|
+
from homeassistant.components.sensor import SensorEntityDescription as SensorEntityDescription
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
8
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
9
|
+
|
10
|
+
class FytaPlantEntity(CoordinatorEntity[FytaCoordinator]):
|
11
|
+
_attr_has_entity_name: bool
|
12
|
+
plant_id: Incomplete
|
13
|
+
_attr_unique_id: Incomplete
|
14
|
+
_attr_device_info: Incomplete
|
15
|
+
entity_description: Incomplete
|
16
|
+
def __init__(self, coordinator: FytaCoordinator, entry: ConfigEntry, description: SensorEntityDescription, plant_id: int) -> None: ...
|
17
|
+
@property
|
18
|
+
def plant(self) -> Plant: ...
|
19
|
+
@property
|
20
|
+
def available(self) -> bool: ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from . import FytaConfigEntry as FytaConfigEntry
|
2
|
+
from .coordinator import FytaCoordinator as FytaCoordinator
|
3
|
+
from .entity import FytaPlantEntity as FytaPlantEntity
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from datetime import datetime
|
7
|
+
from fyta_cli.fyta_models import Plant as Plant
|
8
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfConductivity as UnitOfConductivity, UnitOfTemperature as UnitOfTemperature
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
from homeassistant.helpers.typing import StateType as StateType
|
13
|
+
from typing import Final
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class FytaSensorEntityDescription(SensorEntityDescription):
|
17
|
+
value_fn: Callable[[Plant], StateType | datetime]
|
18
|
+
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=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
|
19
|
+
|
20
|
+
PLANT_STATUS_LIST: list[str]
|
21
|
+
PLANT_MEASUREMENT_STATUS_LIST: list[str]
|
22
|
+
SENSORS: Final[list[FytaSensorEntityDescription]]
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
25
|
+
|
26
|
+
class FytaPlantSensor(FytaPlantEntity, SensorEntity):
|
27
|
+
entity_description: FytaSensorEntityDescription
|
28
|
+
@property
|
29
|
+
def native_value(self) -> StateType | datetime: ...
|
@@ -23,9 +23,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
|
|
23
23
|
def logger(self) -> logging.Logger: ...
|
24
24
|
@property
|
25
25
|
def extra_authorize_data(self) -> dict[str, Any]: ...
|
26
|
-
flow_impl: Incomplete
|
27
26
|
external_data: Incomplete
|
28
|
-
async def async_step_import(self, info: dict[str, Any]) -> ConfigFlowResult: ...
|
29
27
|
async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
28
|
async def async_step_creation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
31
29
|
async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
|
@@ -10,5 +10,4 @@ class GPSDConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
10
10
|
VERSION: int
|
11
11
|
@staticmethod
|
12
12
|
def test_connection(host: str, port: int) -> bool: ...
|
13
|
-
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
14
13
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -3,15 +3,14 @@ from .const import DOMAIN as DOMAIN
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
6
|
+
from datetime import datetime
|
6
7
|
from gps3.agps3threaded import AGPS3mechanism as AGPS3mechanism
|
7
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
8
|
-
from homeassistant.
|
9
|
-
from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_MODE as ATTR_MODE, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, EntityCategory as EntityCategory
|
9
|
+
from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_MODE as ATTR_MODE, ATTR_TIME as ATTR_TIME, EntityCategory as EntityCategory, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
11
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from homeassistant.helpers.
|
14
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
13
|
+
from homeassistant.helpers.typing import StateType as StateType
|
15
14
|
from typing import Any
|
16
15
|
|
17
16
|
_LOGGER: Incomplete
|
@@ -24,14 +23,12 @@ _MODE_VALUES: Incomplete
|
|
24
23
|
|
25
24
|
@dataclass(frozen=True, kw_only=True)
|
26
25
|
class GpsdSensorDescription(SensorEntityDescription):
|
27
|
-
value_fn: Callable[[AGPS3mechanism],
|
26
|
+
value_fn: Callable[[AGPS3mechanism], StateType | datetime]
|
28
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=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
|
29
28
|
|
30
29
|
SENSOR_TYPES: tuple[GpsdSensorDescription, ...]
|
31
|
-
PLATFORM_SCHEMA: Incomplete
|
32
30
|
|
33
31
|
async def async_setup_entry(hass: HomeAssistant, config_entry: GPSDConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
34
|
-
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
35
32
|
|
36
33
|
class GpsdSensor(SensorEntity):
|
37
34
|
_attr_has_entity_name: bool
|
@@ -41,6 +38,6 @@ class GpsdSensor(SensorEntity):
|
|
41
38
|
agps_thread: Incomplete
|
42
39
|
def __init__(self, agps_thread: AGPS3mechanism, unique_id: str, description: GpsdSensorDescription) -> None: ...
|
43
40
|
@property
|
44
|
-
def native_value(self) ->
|
41
|
+
def native_value(self) -> StateType | datetime: ...
|
45
42
|
@property
|
46
|
-
def extra_state_attributes(self) -> dict[str, Any]: ...
|
43
|
+
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
@@ -1,10 +1,15 @@
|
|
1
|
-
from .const import RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
|
1
|
+
from .const import FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
|
2
|
+
from _typeshed import Incomplete
|
2
3
|
from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
|
3
|
-
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
|
4
|
+
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
|
5
|
+
from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, guess_firmware_type as guess_firmware_type
|
4
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
|
5
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
8
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
7
9
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
8
10
|
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
|
9
13
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
10
14
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
15
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
@@ -1,31 +1,53 @@
|
|
1
|
-
|
1
|
+
import abc
|
2
|
+
from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
|
3
|
+
from .hardware import BOARD_NAME as BOARD_NAME
|
2
4
|
from _typeshed import Incomplete
|
5
|
+
from abc import ABC, abstractmethod
|
3
6
|
from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_yellow_settings as async_get_yellow_settings, async_reboot_host as async_reboot_host, async_set_yellow_settings as async_set_yellow_settings
|
4
|
-
from homeassistant.components.homeassistant_hardware import
|
5
|
-
from homeassistant.
|
7
|
+
from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
|
8
|
+
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
|
6
10
|
from homeassistant.core import callback as callback
|
7
|
-
from homeassistant.helpers import selector as selector
|
11
|
+
from homeassistant.helpers import discovery_flow as discovery_flow, selector as selector
|
8
12
|
from typing import Any
|
9
13
|
|
10
14
|
_LOGGER: Incomplete
|
11
15
|
STEP_HW_SETTINGS_SCHEMA: Incomplete
|
12
16
|
|
13
|
-
class HomeAssistantYellowConfigFlow(
|
17
|
+
class HomeAssistantYellowConfigFlow(BaseFirmwareConfigFlow, domain=DOMAIN):
|
14
18
|
VERSION: int
|
19
|
+
MINOR_VERSION: int
|
20
|
+
_device: Incomplete
|
21
|
+
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
15
22
|
@staticmethod
|
16
|
-
def async_get_options_flow(config_entry: ConfigEntry) ->
|
23
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
17
24
|
async def async_step_system(self, data: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
|
+
def _async_flow_finished(self) -> ConfigFlowResult: ...
|
18
26
|
|
19
|
-
class
|
27
|
+
class BaseHomeAssistantYellowOptionsFlow(OptionsFlow, ABC, metaclass=abc.ABCMeta):
|
20
28
|
_hw_settings: dict[str, bool] | None
|
21
|
-
|
29
|
+
@abstractmethod
|
22
30
|
async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
|
31
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
32
|
+
async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
33
|
async def async_step_hardware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
24
34
|
async def async_step_reboot_menu(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
35
|
async def async_step_reboot_now(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
36
|
async def async_step_reboot_later(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
37
|
+
|
38
|
+
class HomeAssistantYellowMultiPanOptionsFlowHandler(BaseHomeAssistantYellowOptionsFlow, MultiprotocolOptionsFlowHandler):
|
39
|
+
async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
|
27
40
|
async def async_step_multipan_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
28
|
-
async def _async_serial_port_settings(self) ->
|
41
|
+
async def _async_serial_port_settings(self) -> MultiprotocolSerialPortSettings: ...
|
29
42
|
async def _async_zha_physical_discovery(self) -> dict[str, Any]: ...
|
30
43
|
def _zha_name(self) -> str: ...
|
31
44
|
def _hardware_name(self) -> str: ...
|
45
|
+
async def async_step_flashing_complete(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
46
|
+
|
47
|
+
class HomeAssistantYellowOptionsFlowHandler(BaseHomeAssistantYellowOptionsFlow, BaseFirmwareOptionsFlow):
|
48
|
+
_hardware_name: Incomplete
|
49
|
+
_device: Incomplete
|
50
|
+
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
51
|
+
async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
|
52
|
+
async def async_step_firmware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
53
|
+
def _async_flow_finished(self) -> ConfigFlowResult: ...
|
@@ -46,7 +46,7 @@ class HomeKitConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
46
46
|
async def async_step_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
47
47
|
async def _async_add_entries_for_accessory_mode_entities(self, last_assigned_port: int) -> None: ...
|
48
48
|
async def async_step_accessory(self, accessory_input: dict[str, Any]) -> ConfigFlowResult: ...
|
49
|
-
async def async_step_import(self,
|
49
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
50
50
|
def _async_current_names(self) -> set[str]: ...
|
51
51
|
def _async_available_name(self, requested_name: str) -> str: ...
|
52
52
|
def _async_is_unique_name_port(self, user_input: dict[str, Any]) -> bool: ...
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.components.sensor import DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.const import ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE,
|
9
|
+
from homeassistant.const import ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfReactivePower as UnitOfReactivePower, UnitOfVolume as UnitOfVolume
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
11
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|