homeassistant-stubs 2025.8.3__py3-none-any.whl → 2025.9.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/auth/models.pyi +3 -1
- homeassistant-stubs/components/airos/binary_sensor.pyi +27 -0
- homeassistant-stubs/components/airos/sensor.pyi +4 -2
- homeassistant-stubs/components/airq/number.pyi +31 -0
- homeassistant-stubs/components/aladdin_connect/__init__.pyi +10 -5
- homeassistant-stubs/components/aladdin_connect/api.pyi +12 -0
- homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +5 -0
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +15 -4
- homeassistant-stubs/components/aladdin_connect/const.pyi +10 -0
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +16 -0
- homeassistant-stubs/components/aladdin_connect/cover.pyi +25 -0
- homeassistant-stubs/components/aladdin_connect/entity.pyi +15 -0
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +25 -0
- homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +2 -0
- homeassistant-stubs/components/amberelectric/const.pyi +0 -1
- homeassistant-stubs/components/amberelectric/services.pyi +2 -1
- homeassistant-stubs/components/ambient_station/entity.pyi +1 -1
- homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +0 -1
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -6
- homeassistant-stubs/components/apcupsd/entity.pyi +11 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +2 -6
- homeassistant-stubs/components/asuswrt/bridge.pyi +10 -8
- homeassistant-stubs/components/asuswrt/helpers.pyi +8 -0
- homeassistant-stubs/components/auth/login_flow.pyi +1 -1
- homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
- homeassistant-stubs/components/awair/const.pyi +1 -0
- homeassistant-stubs/components/awair/sensor.pyi +2 -2
- homeassistant-stubs/components/backup/config.pyi +0 -14
- homeassistant-stubs/components/bayesian/__init__.pyi +6 -4
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +6 -5
- homeassistant-stubs/components/bayesian/config_flow.pyi +69 -0
- homeassistant-stubs/components/bayesian/const.pyi +5 -0
- homeassistant-stubs/components/bayesian/issues.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/const.pyi +0 -1
- homeassistant-stubs/components/bosch_alarm/services.pyi +2 -1
- homeassistant-stubs/components/braviatv/button.pyi +1 -1
- homeassistant-stubs/components/braviatv/coordinator.pyi +1 -0
- homeassistant-stubs/components/braviatv/entity.pyi +1 -1
- homeassistant-stubs/components/climate/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +2 -1
- homeassistant-stubs/components/cloud/subscription.pyi +2 -4
- homeassistant-stubs/components/co2signal/coordinator.pyi +3 -3
- homeassistant-stubs/components/co2signal/helpers.pyi +2 -3
- homeassistant-stubs/components/co2signal/sensor.pyi +3 -3
- homeassistant-stubs/components/config/config_entries.pyi +6 -3
- homeassistant-stubs/components/demo/media_player.pyi +2 -0
- homeassistant-stubs/components/device_automation/condition.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +29 -1
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +30 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -2
- homeassistant-stubs/components/esphome/media_player.pyi +5 -0
- homeassistant-stubs/components/fan/intent.pyi +7 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +0 -1
- homeassistant-stubs/components/fyta/const.pyi +4 -0
- homeassistant-stubs/components/fyta/sensor.pyi +11 -0
- homeassistant-stubs/components/glances/coordinator.pyi +0 -1
- homeassistant-stubs/components/group/config_flow.pyi +2 -0
- homeassistant-stubs/components/habitica/__init__.pyi +6 -2
- homeassistant-stubs/components/habitica/binary_sensor.pyi +13 -4
- homeassistant-stubs/components/habitica/coordinator.pyi +18 -4
- homeassistant-stubs/components/habitica/entity.pyi +10 -1
- homeassistant-stubs/components/habitica/image.pyi +19 -4
- homeassistant-stubs/components/habitica/sensor.pyi +27 -3
- homeassistant-stubs/components/habitica/util.pyi +5 -2
- homeassistant-stubs/components/home_connect/const.pyi +0 -7
- homeassistant-stubs/components/home_connect/services.pyi +1 -14
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +0 -1
- homeassistant-stubs/components/homee/config_flow.pyi +8 -2
- homeassistant-stubs/components/homee/const.pyi +3 -0
- homeassistant-stubs/components/homekit/accessories.pyi +1 -1
- homeassistant-stubs/components/homekit/const.pyi +4 -0
- homeassistant-stubs/components/homekit/type_switches.pyi +11 -1
- homeassistant-stubs/components/homekit/util.pyi +3 -2
- homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -2
- homeassistant-stubs/components/huawei_lte/const.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/notify.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/button.pyi +4 -0
- homeassistant-stubs/components/husqvarna_automower/const.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +10 -0
- homeassistant-stubs/components/husqvarna_automower/event.pyi +35 -0
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -2
- homeassistant-stubs/components/idasen_desk/__init__.pyi +0 -1
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +2 -1
- homeassistant-stubs/components/jewish_calendar/coordinator.pyi +41 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +5 -26
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -1
- homeassistant-stubs/components/knx/scene.pyi +5 -4
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +5 -11
- homeassistant-stubs/components/knx/storage/knx_selector.pyi +57 -6
- homeassistant-stubs/components/knx/storage/serialize.pyi +10 -0
- homeassistant-stubs/components/knx/storage/util.pyi +2 -0
- homeassistant-stubs/components/knx/websocket.pyi +7 -3
- homeassistant-stubs/components/letpot/select.pyi +39 -0
- homeassistant-stubs/components/mastodon/__init__.pyi +1 -2
- homeassistant-stubs/components/mastodon/const.pyi +0 -1
- homeassistant-stubs/components/mastodon/services.pyi +2 -1
- homeassistant-stubs/components/matter/lock.pyi +6 -0
- homeassistant-stubs/components/matter/sensor.pyi +2 -1
- homeassistant-stubs/components/mealie/const.pyi +0 -1
- homeassistant-stubs/components/mealie/services.pyi +2 -2
- homeassistant-stubs/components/media_player/__init__.pyi +4 -0
- homeassistant-stubs/components/media_player/intent.pyi +13 -3
- homeassistant-stubs/components/met_eireann/const.pyi +1 -1
- homeassistant-stubs/components/met_eireann/weather.pyi +4 -0
- homeassistant-stubs/components/miele/const.pyi +1 -0
- homeassistant-stubs/components/miele/coordinator.pyi +2 -3
- homeassistant-stubs/components/miele/entity.pyi +2 -3
- homeassistant-stubs/components/miele/sensor.pyi +25 -6
- homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/modbus/climate.pyi +1 -2
- homeassistant-stubs/components/modbus/const.pyi +2 -0
- homeassistant-stubs/components/modbus/entity.pyi +8 -10
- homeassistant-stubs/components/modbus/light.pyi +0 -1
- homeassistant-stubs/components/modbus/modbus.pyi +9 -11
- homeassistant-stubs/components/modbus/sensor.pyi +1 -3
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -23
- homeassistant-stubs/components/mqtt/config_flow.pyi +8 -2
- homeassistant-stubs/components/mqtt/const.pyi +40 -1
- homeassistant-stubs/components/mqtt/lock.pyi +1 -21
- homeassistant-stubs/components/mqtt/number.pyi +1 -0
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
- homeassistant-stubs/components/music_assistant/actions.pyi +2 -1
- homeassistant-stubs/components/music_assistant/const.pyi +0 -1
- homeassistant-stubs/components/number/__init__.pyi +3 -0
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/open_router/entity.pyi +2 -2
- homeassistant-stubs/components/openai_conversation/entity.pyi +3 -3
- homeassistant-stubs/components/opower/__init__.pyi +1 -0
- homeassistant-stubs/components/opower/repairs.pyi +13 -0
- homeassistant-stubs/components/overseerr/const.pyi +0 -1
- homeassistant-stubs/components/overseerr/services.pyi +2 -1
- homeassistant-stubs/components/person/__init__.pyi +2 -1
- homeassistant-stubs/components/qbus/binary_sensor.pyi +43 -0
- homeassistant-stubs/components/qbus/climate.pyi +1 -1
- homeassistant-stubs/components/qbus/coordinator.pyi +4 -3
- homeassistant-stubs/components/qbus/cover.pyi +1 -1
- homeassistant-stubs/components/qbus/entity.pyi +6 -5
- homeassistant-stubs/components/qbus/light.pyi +1 -1
- homeassistant-stubs/components/qbus/scene.pyi +4 -6
- homeassistant-stubs/components/qbus/sensor.pyi +67 -0
- homeassistant-stubs/components/qbus/switch.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/rest_command/__init__.pyi +1 -1
- homeassistant-stubs/components/romy/coordinator.pyi +0 -1
- homeassistant-stubs/components/russound_rio/media_browser.pyi +8 -0
- homeassistant-stubs/components/russound_rio/media_player.pyi +3 -2
- homeassistant-stubs/components/ruuvitag_ble/sensor.pyi +2 -2
- homeassistant-stubs/components/scene/__init__.pyi +13 -4
- homeassistant-stubs/components/sensibo/select.pyi +0 -5
- homeassistant-stubs/components/sensor/__init__.pyi +3 -0
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/recorder.pyi +1 -1
- homeassistant-stubs/components/sleep_as_android/__init__.pyi +16 -0
- homeassistant-stubs/components/sleep_as_android/config_flow.pyi +2 -0
- homeassistant-stubs/components/sleep_as_android/const.pyi +9 -0
- homeassistant-stubs/components/sleep_as_android/diagnostics.pyi +5 -0
- homeassistant-stubs/components/sleep_as_android/entity.pyi +20 -0
- homeassistant-stubs/components/sleep_as_android/event.pyi +33 -0
- homeassistant-stubs/components/sleep_as_android/sensor.pyi +25 -0
- homeassistant-stubs/components/solarlog/sensor.pyi +11 -1
- homeassistant-stubs/components/speedtestdotnet/coordinator.pyi +0 -1
- homeassistant-stubs/components/stookwijzer/const.pyi +0 -1
- homeassistant-stubs/components/stookwijzer/services.pyi +2 -1
- homeassistant-stubs/components/sun/condition.pyi +2 -2
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/const.pyi +10 -0
- homeassistant-stubs/components/switchbot_cloud/cover.pyi +57 -0
- homeassistant-stubs/components/switchbot_cloud/fan.pyi +22 -1
- homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
- homeassistant-stubs/components/telegram_bot/bot.pyi +4 -1
- homeassistant-stubs/components/telegram_bot/notify.pyi +21 -0
- homeassistant-stubs/components/unifi/switch.pyi +3 -0
- homeassistant-stubs/components/volvo/__init__.pyi +1 -1
- homeassistant-stubs/components/volvo/binary_sensor.pyi +42 -0
- homeassistant-stubs/components/volvo/const.pyi +1 -1
- homeassistant-stubs/components/volvo/coordinator.pyi +5 -0
- homeassistant-stubs/components/volvo/sensor.pyi +2 -2
- homeassistant-stubs/components/webostv/__init__.pyi +2 -2
- homeassistant-stubs/components/webostv/const.pyi +0 -1
- homeassistant-stubs/components/webostv/notify.pyi +2 -2
- homeassistant-stubs/components/wemo/coordinator.pyi +0 -1
- homeassistant-stubs/components/workday/__init__.pyi +6 -8
- homeassistant-stubs/components/workday/binary_sensor.pyi +9 -33
- homeassistant-stubs/components/workday/entity.pyi +34 -0
- homeassistant-stubs/components/workday/util.pyi +14 -0
- homeassistant-stubs/components/zone/condition.pyi +2 -2
- homeassistant-stubs/components/zwave_js/__init__.pyi +5 -5
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +17 -10
- homeassistant-stubs/components/zwave_js/const.pyi +0 -1
- homeassistant-stubs/components/zwave_js/discovery.pyi +7 -51
- homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -11
- homeassistant-stubs/components/zwave_js/entity.pyi +15 -5
- homeassistant-stubs/components/zwave_js/helpers.pyi +0 -7
- homeassistant-stubs/components/zwave_js/migrate.pyi +2 -2
- homeassistant-stubs/components/zwave_js/models.pyi +95 -1
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +5 -4
- homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +2 -2
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +3 -2
- homeassistant-stubs/components/zwave_js/update.pyi +0 -3
- homeassistant-stubs/config_entries.pyi +5 -0
- homeassistant-stubs/const.pyi +9 -5
- homeassistant-stubs/data_entry_flow.pyi +0 -1
- homeassistant-stubs/helpers/automation.pyi +2 -0
- homeassistant-stubs/helpers/condition.pyi +6 -6
- homeassistant-stubs/helpers/config_validation.pyi +3 -0
- homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
- homeassistant-stubs/helpers/device_registry.pyi +1 -1
- homeassistant-stubs/helpers/json.pyi +0 -7
- homeassistant-stubs/helpers/llm.pyi +1 -0
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -1
- homeassistant-stubs/helpers/selector.pyi +2 -1
- homeassistant-stubs/helpers/target.pyi +3 -2
- homeassistant-stubs/helpers/trigger.pyi +6 -6
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/RECORD +220 -195
- homeassistant-stubs/components/linear_garage_door/__init__.pyi +0 -10
- homeassistant-stubs/components/linear_garage_door/config_flow.pyi +0 -25
- homeassistant-stubs/components/linear_garage_door/const.pyi +0 -1
- homeassistant-stubs/components/linear_garage_door/coordinator.pyi +0 -26
- homeassistant-stubs/components/linear_garage_door/cover.pyi +0 -28
- homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +0 -10
- homeassistant-stubs/components/linear_garage_door/entity.pyi +0 -17
- homeassistant-stubs/components/linear_garage_door/light.pyi +0 -23
- homeassistant-stubs/components/mastodon/notify.pyi +0 -24
- {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -16,7 +16,9 @@ class AuthFlowContext(FlowContext, total=False):
|
|
|
16
16
|
credential_only: bool
|
|
17
17
|
ip_address: IPv4Address | IPv6Address
|
|
18
18
|
redirect_uri: str
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
class AuthFlowResult(FlowResult[AuthFlowContext, tuple[str, str]], total=False):
|
|
21
|
+
result: Credentials
|
|
20
22
|
|
|
21
23
|
class Group:
|
|
22
24
|
name: str | None
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from .coordinator import AirOSConfigEntry as AirOSConfigEntry, AirOSData as AirOSData, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
|
|
2
|
+
from .entity import AirOSEntity as AirOSEntity
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
|
|
11
|
+
_LOGGER: Incomplete
|
|
12
|
+
PARALLEL_UPDATES: int
|
|
13
|
+
|
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
|
15
|
+
class AirOSBinarySensorEntityDescription(BinarySensorEntityDescription):
|
|
16
|
+
value_fn: Callable[[AirOSData], bool]
|
|
17
|
+
|
|
18
|
+
BINARY_SENSORS: tuple[AirOSBinarySensorEntityDescription, ...]
|
|
19
|
+
|
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: AirOSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
21
|
+
|
|
22
|
+
class AirOSBinarySensor(AirOSEntity, BinarySensorEntity):
|
|
23
|
+
entity_description: AirOSBinarySensorEntityDescription
|
|
24
|
+
_attr_unique_id: Incomplete
|
|
25
|
+
def __init__(self, coordinator: AirOSDataUpdateCoordinator, description: AirOSBinarySensorEntityDescription) -> None: ...
|
|
26
|
+
@property
|
|
27
|
+
def is_on(self) -> bool: ...
|
|
@@ -4,14 +4,16 @@ from _typeshed import Incomplete
|
|
|
4
4
|
from collections.abc import Callable as Callable
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
7
|
-
from homeassistant.const import PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfDataRate as UnitOfDataRate, UnitOfFrequency as UnitOfFrequency
|
|
7
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfDataRate as UnitOfDataRate, UnitOfFrequency as UnitOfFrequency, UnitOfLength as UnitOfLength, UnitOfTime as UnitOfTime
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
10
|
from homeassistant.helpers.typing import StateType as StateType
|
|
11
11
|
|
|
12
12
|
_LOGGER: Incomplete
|
|
13
|
-
WIRELESS_MODE_OPTIONS: Incomplete
|
|
14
13
|
NETROLE_OPTIONS: Incomplete
|
|
14
|
+
WIRELESS_MODE_OPTIONS: Incomplete
|
|
15
|
+
WIRELESS_ROLE_OPTIONS: Incomplete
|
|
16
|
+
PARALLEL_UPDATES: int
|
|
15
17
|
|
|
16
18
|
@dataclass(frozen=True, kw_only=True)
|
|
17
19
|
class AirOSSensorEntityDescription(SensorEntityDescription):
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from . import AirQConfigEntry as AirQConfigEntry, AirQCoordinator as AirQCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from aioairq.core import AirQ as AirQ
|
|
4
|
+
from collections.abc import Awaitable, Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
|
7
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
11
|
+
|
|
12
|
+
_LOGGER: Incomplete
|
|
13
|
+
|
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
|
15
|
+
class AirQBrightnessDescription(NumberEntityDescription):
|
|
16
|
+
value: Callable[[dict], float]
|
|
17
|
+
set_value: Callable[[AirQ, float], Awaitable[None]]
|
|
18
|
+
|
|
19
|
+
AIRQ_LED_BRIGHTNESS: Incomplete
|
|
20
|
+
|
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: AirQConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
22
|
+
|
|
23
|
+
class AirQLEDBrightness(CoordinatorEntity[AirQCoordinator], NumberEntity):
|
|
24
|
+
_attr_has_entity_name: bool
|
|
25
|
+
entity_description: AirQBrightnessDescription
|
|
26
|
+
_attr_device_info: Incomplete
|
|
27
|
+
_attr_unique_id: Incomplete
|
|
28
|
+
def __init__(self, coordinator: AirQCoordinator, description: AirQBrightnessDescription) -> None: ...
|
|
29
|
+
@property
|
|
30
|
+
def native_value(self) -> float: ...
|
|
31
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
from
|
|
1
|
+
from . import api as api
|
|
2
|
+
from .const import CONFIG_FLOW_MINOR_VERSION as CONFIG_FLOW_MINOR_VERSION, CONFIG_FLOW_VERSION as CONFIG_FLOW_VERSION, DOMAIN as DOMAIN
|
|
3
|
+
from .coordinator import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
|
|
4
|
+
from homeassistant.const import Platform as Platform
|
|
2
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry_oauth2_flow as config_entry_oauth2_flow
|
|
3
7
|
|
|
4
|
-
|
|
8
|
+
PLATFORMS: list[Platform]
|
|
5
9
|
|
|
6
|
-
async def async_setup_entry(hass: HomeAssistant,
|
|
7
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
|
8
|
-
async def
|
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry) -> bool: ...
|
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry) -> bool: ...
|
|
12
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry) -> bool: ...
|
|
13
|
+
def remove_stale_devices(hass: HomeAssistant, config_entry: AladdinConnectConfigEntry) -> None: ...
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aiohttp import ClientSession as ClientSession
|
|
3
|
+
from genie_partner_sdk.auth import Auth
|
|
4
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
|
5
|
+
|
|
6
|
+
API_URL: str
|
|
7
|
+
API_KEY: str
|
|
8
|
+
|
|
9
|
+
class AsyncConfigEntryAuth(Auth):
|
|
10
|
+
_oauth_session: Incomplete
|
|
11
|
+
def __init__(self, websession: ClientSession, oauth_session: config_entry_oauth2_flow.OAuth2Session) -> None: ...
|
|
12
|
+
async def async_get_access_token(self) -> str: ...
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from .const import OAUTH2_AUTHORIZE as OAUTH2_AUTHORIZE, OAUTH2_TOKEN as OAUTH2_TOKEN
|
|
2
|
+
from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
4
|
+
|
|
5
|
+
async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
from
|
|
1
|
+
import logging
|
|
2
|
+
from .const import CONFIG_FLOW_MINOR_VERSION as CONFIG_FLOW_MINOR_VERSION, CONFIG_FLOW_VERSION as CONFIG_FLOW_VERSION, DOMAIN as DOMAIN
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
|
|
5
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
|
6
|
+
from typing import Any
|
|
3
7
|
|
|
4
|
-
class
|
|
5
|
-
|
|
8
|
+
class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
|
9
|
+
DOMAIN = DOMAIN
|
|
10
|
+
VERSION = CONFIG_FLOW_VERSION
|
|
11
|
+
MINOR_VERSION = CONFIG_FLOW_MINOR_VERSION
|
|
12
|
+
async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
13
|
+
async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
14
|
+
async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
|
|
15
|
+
@property
|
|
16
|
+
def logger(self) -> logging.Logger: ...
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from homeassistant.components.cover import CoverEntityFeature as CoverEntityFeature
|
|
3
|
+
from typing import Final
|
|
4
|
+
|
|
5
|
+
DOMAIN: str
|
|
6
|
+
CONFIG_FLOW_VERSION: int
|
|
7
|
+
CONFIG_FLOW_MINOR_VERSION: int
|
|
8
|
+
OAUTH2_AUTHORIZE: str
|
|
9
|
+
OAUTH2_TOKEN: str
|
|
10
|
+
SUPPORTED_FEATURES: Final[Incomplete]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from genie_partner_sdk.client import AladdinConnectClient as AladdinConnectClient
|
|
3
|
+
from genie_partner_sdk.model import GarageDoor
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
|
7
|
+
|
|
8
|
+
_LOGGER: Incomplete
|
|
9
|
+
type AladdinConnectConfigEntry = ConfigEntry[dict[str, AladdinConnectCoordinator]]
|
|
10
|
+
SCAN_INTERVAL: Incomplete
|
|
11
|
+
|
|
12
|
+
class AladdinConnectCoordinator(DataUpdateCoordinator[GarageDoor]):
|
|
13
|
+
client: Incomplete
|
|
14
|
+
data: Incomplete
|
|
15
|
+
def __init__(self, hass: HomeAssistant, entry: AladdinConnectConfigEntry, client: AladdinConnectClient, garage_door: GarageDoor) -> None: ...
|
|
16
|
+
async def _async_update_data(self) -> GarageDoor: ...
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from .const import SUPPORTED_FEATURES as SUPPORTED_FEATURES
|
|
2
|
+
from .coordinator import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
|
|
3
|
+
from .entity import AladdinConnectEntity as AladdinConnectEntity
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
11
|
+
|
|
12
|
+
class AladdinCoverEntity(AladdinConnectEntity, CoverEntity):
|
|
13
|
+
_attr_device_class: Incomplete
|
|
14
|
+
_attr_supported_features = SUPPORTED_FEATURES
|
|
15
|
+
_attr_name: Incomplete
|
|
16
|
+
_attr_unique_id: Incomplete
|
|
17
|
+
def __init__(self, coordinator: AladdinConnectCoordinator) -> None: ...
|
|
18
|
+
async def async_open_cover(self, **kwargs: Any) -> None: ...
|
|
19
|
+
async def async_close_cover(self, **kwargs: Any) -> None: ...
|
|
20
|
+
@property
|
|
21
|
+
def is_closed(self) -> bool | None: ...
|
|
22
|
+
@property
|
|
23
|
+
def is_closing(self) -> bool | None: ...
|
|
24
|
+
@property
|
|
25
|
+
def is_opening(self) -> bool | None: ...
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from .coordinator import AladdinConnectCoordinator as AladdinConnectCoordinator
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from genie_partner_sdk.client import AladdinConnectClient as AladdinConnectClient
|
|
5
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
6
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
7
|
+
|
|
8
|
+
class AladdinConnectEntity(CoordinatorEntity[AladdinConnectCoordinator]):
|
|
9
|
+
_attr_has_entity_name: bool
|
|
10
|
+
_attr_device_info: Incomplete
|
|
11
|
+
_device_id: Incomplete
|
|
12
|
+
_number: Incomplete
|
|
13
|
+
def __init__(self, coordinator: AladdinConnectCoordinator) -> None: ...
|
|
14
|
+
@property
|
|
15
|
+
def client(self) -> AladdinConnectClient: ...
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from .coordinator import AladdinConnectConfigEntry as AladdinConnectConfigEntry, AladdinConnectCoordinator as AladdinConnectCoordinator
|
|
2
|
+
from .entity import AladdinConnectEntity as AladdinConnectEntity
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from genie_partner_sdk.model import GarageDoor as GarageDoor
|
|
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
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
+
|
|
12
|
+
@dataclass(frozen=True, kw_only=True)
|
|
13
|
+
class AladdinConnectSensorEntityDescription(SensorEntityDescription):
|
|
14
|
+
value_fn: Callable[[GarageDoor], float | None]
|
|
15
|
+
|
|
16
|
+
SENSOR_TYPES: tuple[AladdinConnectSensorEntityDescription, ...]
|
|
17
|
+
|
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, entry: AladdinConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
19
|
+
|
|
20
|
+
class AladdinConnectSensor(AladdinConnectEntity, SensorEntity):
|
|
21
|
+
entity_description: AladdinConnectSensorEntityDescription
|
|
22
|
+
_attr_unique_id: Incomplete
|
|
23
|
+
def __init__(self, coordinator: AladdinConnectCoordinator, entity_description: AladdinConnectSensorEntityDescription) -> None: ...
|
|
24
|
+
@property
|
|
25
|
+
def native_value(self) -> float | None: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .const import COUNTRY_DOMAINS as COUNTRY_DOMAINS, DOMAIN as DOMAIN, _LOGGER as _LOGGER
|
|
1
|
+
from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, COUNTRY_DOMAINS as COUNTRY_DOMAINS, DOMAIN as DOMAIN, _LOGGER as _LOGGER
|
|
2
2
|
from .coordinator import AmazonConfigEntry as AmazonConfigEntry, AmazonDevicesCoordinator as AmazonDevicesCoordinator
|
|
3
3
|
from .services import async_setup_services as async_setup_services
|
|
4
4
|
from _typeshed import Incomplete
|
|
@@ -8,6 +8,7 @@ from homeassistant.helpers import aiohttp_client as aiohttp_client
|
|
|
8
8
|
from typing import Any
|
|
9
9
|
|
|
10
10
|
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
|
11
|
+
STEP_RECONFIGURE: Incomplete
|
|
11
12
|
|
|
12
13
|
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
|
|
13
14
|
|
|
@@ -17,3 +18,4 @@ class AmazonDevicesConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
17
18
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
18
19
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
|
19
20
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
21
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from .const import ATTR_CHANNEL_TYPE as ATTR_CHANNEL_TYPE,
|
|
1
|
+
from .const import ATTR_CHANNEL_TYPE as ATTR_CHANNEL_TYPE, CONTROLLED_LOAD_CHANNEL as CONTROLLED_LOAD_CHANNEL, DOMAIN as DOMAIN, FEED_IN_CHANNEL as FEED_IN_CHANNEL, GENERAL_CHANNEL as GENERAL_CHANNEL, SERVICE_GET_FORECASTS as SERVICE_GET_FORECASTS
|
|
2
2
|
from .coordinator import AmberConfigEntry as AmberConfigEntry
|
|
3
3
|
from .helpers import format_cents_to_dollars as format_cents_to_dollars, normalize_descriptor as normalize_descriptor
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
6
|
+
from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
|
7
8
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
8
9
|
from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
|
|
@@ -2,7 +2,7 @@ from . import AmbientStation as AmbientStation
|
|
|
2
2
|
from .const import ATTR_LAST_DATA as ATTR_LAST_DATA, DOMAIN as DOMAIN, TYPE_SOLARRADIATION as TYPE_SOLARRADIATION, TYPE_SOLARRADIATION_LX as TYPE_SOLARRADIATION_LX
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.core import callback as callback
|
|
5
|
-
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
5
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
|
6
6
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
7
7
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
|
8
8
|
|
|
@@ -11,7 +11,6 @@ type AndroidIPCamConfigEntry = ConfigEntry[AndroidIPCamDataUpdateCoordinator]
|
|
|
11
11
|
|
|
12
12
|
class AndroidIPCamDataUpdateCoordinator(DataUpdateCoordinator[None]):
|
|
13
13
|
config_entry: AndroidIPCamConfigEntry
|
|
14
|
-
hass: Incomplete
|
|
15
14
|
cam: Incomplete
|
|
16
15
|
def __init__(self, hass: HomeAssistant, config_entry: AndroidIPCamConfigEntry, cam: PyDroidIPCam) -> None: ...
|
|
17
16
|
async def _async_update_data(self) -> None: ...
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from .coordinator import APCUPSdConfigEntry as APCUPSdConfigEntry, APCUPSdCoordinator as APCUPSdCoordinator
|
|
2
|
+
from .entity import APCUPSdEntity as APCUPSdEntity
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
|
4
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
6
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
6
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
7
7
|
from typing import Final
|
|
8
8
|
|
|
9
9
|
PARALLEL_UPDATES: int
|
|
@@ -12,11 +12,7 @@ _VALUE_ONLINE_MASK: Final[int]
|
|
|
12
12
|
|
|
13
13
|
async def async_setup_entry(hass: HomeAssistant, config_entry: APCUPSdConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
14
14
|
|
|
15
|
-
class OnlineStatus(
|
|
16
|
-
_attr_has_entity_name: bool
|
|
17
|
-
entity_description: Incomplete
|
|
18
|
-
_attr_unique_id: Incomplete
|
|
19
|
-
_attr_device_info: Incomplete
|
|
15
|
+
class OnlineStatus(APCUPSdEntity, BinarySensorEntity):
|
|
20
16
|
def __init__(self, coordinator: APCUPSdCoordinator, description: BinarySensorEntityDescription) -> None: ...
|
|
21
17
|
@property
|
|
22
18
|
def is_on(self) -> bool | None: ...
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from .coordinator import APCUPSdCoordinator as APCUPSdCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
|
4
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
5
|
+
|
|
6
|
+
class APCUPSdEntity(CoordinatorEntity[APCUPSdCoordinator]):
|
|
7
|
+
_attr_has_entity_name: bool
|
|
8
|
+
entity_description: Incomplete
|
|
9
|
+
_attr_unique_id: Incomplete
|
|
10
|
+
_attr_device_info: Incomplete
|
|
11
|
+
def __init__(self, coordinator: APCUPSdCoordinator, description: EntityDescription) -> None: ...
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from .const import LAST_S_TEST as LAST_S_TEST
|
|
2
2
|
from .coordinator import APCUPSdConfigEntry as APCUPSdConfigEntry, APCUPSdCoordinator as APCUPSdCoordinator
|
|
3
|
+
from .entity import APCUPSdEntity as APCUPSdEntity
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
9
9
|
|
|
10
10
|
PARALLEL_UPDATES: int
|
|
11
11
|
_LOGGER: Incomplete
|
|
@@ -15,11 +15,7 @@ INFERRED_UNITS: Incomplete
|
|
|
15
15
|
async def async_setup_entry(hass: HomeAssistant, config_entry: APCUPSdConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
16
16
|
def infer_unit(value: str) -> tuple[str, str | None]: ...
|
|
17
17
|
|
|
18
|
-
class APCUPSdSensor(
|
|
19
|
-
_attr_has_entity_name: bool
|
|
20
|
-
entity_description: Incomplete
|
|
21
|
-
_attr_unique_id: Incomplete
|
|
22
|
-
_attr_device_info: Incomplete
|
|
18
|
+
class APCUPSdSensor(APCUPSdEntity, SensorEntity):
|
|
23
19
|
def __init__(self, coordinator: APCUPSdCoordinator, description: SensorEntityDescription) -> None: ...
|
|
24
20
|
@callback
|
|
25
21
|
def _handle_coordinator_update(self) -> None: ...
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import abc
|
|
2
|
-
from .const import CONF_DNSMASQ as CONF_DNSMASQ, CONF_INTERFACE as CONF_INTERFACE, CONF_REQUIRE_IP as CONF_REQUIRE_IP, CONF_SSH_KEY as CONF_SSH_KEY, DEFAULT_DNSMASQ as DEFAULT_DNSMASQ, DEFAULT_INTERFACE as DEFAULT_INTERFACE, KEY_METHOD as KEY_METHOD, KEY_SENSORS as KEY_SENSORS, PROTOCOL_HTTP as PROTOCOL_HTTP, PROTOCOL_HTTPS as PROTOCOL_HTTPS, PROTOCOL_TELNET as PROTOCOL_TELNET, SENSORS_BYTES as SENSORS_BYTES,
|
|
2
|
+
from .const import CONF_DNSMASQ as CONF_DNSMASQ, CONF_INTERFACE as CONF_INTERFACE, CONF_REQUIRE_IP as CONF_REQUIRE_IP, CONF_SSH_KEY as CONF_SSH_KEY, DEFAULT_DNSMASQ as DEFAULT_DNSMASQ, DEFAULT_INTERFACE as DEFAULT_INTERFACE, KEY_METHOD as KEY_METHOD, KEY_SENSORS as KEY_SENSORS, PROTOCOL_HTTP as PROTOCOL_HTTP, PROTOCOL_HTTPS as PROTOCOL_HTTPS, PROTOCOL_TELNET as PROTOCOL_TELNET, SENSORS_BYTES as SENSORS_BYTES, SENSORS_LOAD_AVG as SENSORS_LOAD_AVG, SENSORS_MEMORY as SENSORS_MEMORY, SENSORS_RATES as SENSORS_RATES, SENSORS_TEMPERATURES_LEGACY as SENSORS_TEMPERATURES_LEGACY, SENSORS_UPTIME as SENSORS_UPTIME
|
|
3
|
+
from .helpers import clean_dict as clean_dict, translate_to_legacy as translate_to_legacy
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from abc import ABC, abstractmethod
|
|
5
6
|
from aioasuswrt.asuswrt import AsusWrt as AsusWrtLegacy
|
|
6
7
|
from aiohttp import ClientSession as ClientSession
|
|
8
|
+
from asusrouter import AsusRouter
|
|
9
|
+
from asusrouter.modules.client import AsusClient as AsusClient
|
|
10
|
+
from asusrouter.modules.data import AsusData
|
|
7
11
|
from collections.abc import Awaitable, Callable, Coroutine
|
|
8
12
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODE as CONF_MODE, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
|
9
13
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
-
from homeassistant.helpers.aiohttp_client import
|
|
14
|
+
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
|
11
15
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
12
16
|
from homeassistant.helpers.update_coordinator import UpdateFailed as UpdateFailed
|
|
13
|
-
from pyasuswrt import AsusWrtHttp
|
|
14
17
|
from typing import Any, NamedTuple
|
|
15
18
|
|
|
16
19
|
SENSORS_TYPE_BYTES: str
|
|
@@ -87,10 +90,10 @@ class AsusWrtLegacyBridge(AsusWrtBridge):
|
|
|
87
90
|
async def _get_temperatures(self) -> Any: ...
|
|
88
91
|
|
|
89
92
|
class AsusWrtHttpBridge(AsusWrtBridge):
|
|
90
|
-
_api:
|
|
93
|
+
_api: Incomplete
|
|
91
94
|
def __init__(self, conf: dict[str, Any], session: ClientSession) -> None: ...
|
|
92
95
|
@staticmethod
|
|
93
|
-
def _get_api(conf: dict[str, Any], session: ClientSession) ->
|
|
96
|
+
def _get_api(conf: dict[str, Any], session: ClientSession) -> AsusRouter: ...
|
|
94
97
|
@property
|
|
95
98
|
def is_connected(self) -> bool: ...
|
|
96
99
|
_label_mac: Incomplete
|
|
@@ -98,11 +101,10 @@ class AsusWrtHttpBridge(AsusWrtBridge):
|
|
|
98
101
|
_model: Incomplete
|
|
99
102
|
async def async_connect(self) -> None: ...
|
|
100
103
|
async def async_disconnect(self) -> None: ...
|
|
104
|
+
async def _get_data(self, datatype: AsusData, force: bool = False) -> dict[str, Any]: ...
|
|
105
|
+
async def _get_sensors(self, datatype: AsusData) -> list[str]: ...
|
|
101
106
|
async def async_get_connected_devices(self) -> dict[str, WrtDevice]: ...
|
|
102
107
|
async def async_get_available_sensors(self) -> dict[str, dict[str, Any]]: ...
|
|
103
|
-
async def _get_available_cpu_sensors(self) -> list[str]: ...
|
|
104
|
-
async def _get_available_temperature_sensors(self) -> list[str]: ...
|
|
105
|
-
async def _get_loadavg_sensors_availability(self) -> list[str]: ...
|
|
106
108
|
async def _get_bytes(self) -> Any: ...
|
|
107
109
|
async def _get_rates(self) -> Any: ...
|
|
108
110
|
async def _get_load_avg(self) -> Any: ...
|
|
@@ -32,7 +32,7 @@ class AuthProvidersView(HomeAssistantView):
|
|
|
32
32
|
requires_auth: bool
|
|
33
33
|
async def get(self, request: web.Request) -> web.Response: ...
|
|
34
34
|
|
|
35
|
-
def _prepare_result_json(result: AuthFlowResult) ->
|
|
35
|
+
def _prepare_result_json(result: AuthFlowResult) -> dict[str, Any]: ...
|
|
36
36
|
|
|
37
37
|
class LoginFlowBaseView(HomeAssistantView):
|
|
38
38
|
requires_auth: bool
|
|
@@ -23,4 +23,4 @@ def async_setup(hass: HomeAssistant) -> None: ...
|
|
|
23
23
|
def websocket_setup_mfa(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
24
24
|
@callback
|
|
25
25
|
def websocket_depose_mfa(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
26
|
-
def _prepare_result_json(result: data_entry_flow.FlowResult) ->
|
|
26
|
+
def _prepare_result_json(result: data_entry_flow.FlowResult) -> dict[str, Any]: ...
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
from .const import API_CO2 as API_CO2, API_DEW_POINT as API_DEW_POINT, API_DUST as API_DUST, API_HUMID as API_HUMID, API_LUX as API_LUX, API_PM10 as API_PM10, API_PM25 as API_PM25, API_SCORE as API_SCORE, API_SPL_A as API_SPL_A, API_TEMP as API_TEMP, API_VOC as API_VOC, ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
|
|
1
|
+
from .const import API_ABS_HUMID as API_ABS_HUMID, API_CO2 as API_CO2, API_DEW_POINT as API_DEW_POINT, API_DUST as API_DUST, API_HUMID as API_HUMID, API_LUX as API_LUX, API_PM10 as API_PM10, API_PM25 as API_PM25, API_SCORE as API_SCORE, API_SPL_A as API_SPL_A, API_TEMP as API_TEMP, API_VOC as API_VOC, ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import AwairConfigEntry as AwairConfigEntry, AwairDataUpdateCoordinator as AwairDataUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
|
-
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_SW_VERSION as ATTR_SW_VERSION, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
|
|
7
|
+
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_SW_VERSION as ATTR_SW_VERSION, CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
9
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
@@ -90,13 +90,11 @@ class AgentRetentionConfig(BaseRetentionConfig): ...
|
|
|
90
90
|
class StoredBackupSchedule(TypedDict):
|
|
91
91
|
days: list[Day]
|
|
92
92
|
recurrence: ScheduleRecurrence
|
|
93
|
-
state: ScheduleState
|
|
94
93
|
time: str | None
|
|
95
94
|
|
|
96
95
|
class ScheduleParametersDict(TypedDict, total=False):
|
|
97
96
|
days: list[Day]
|
|
98
97
|
recurrence: ScheduleRecurrence
|
|
99
|
-
state: ScheduleState
|
|
100
98
|
time: dt.time | None
|
|
101
99
|
|
|
102
100
|
class Day(StrEnum):
|
|
@@ -113,22 +111,10 @@ class ScheduleRecurrence(StrEnum):
|
|
|
113
111
|
DAILY = 'daily'
|
|
114
112
|
CUSTOM_DAYS = 'custom_days'
|
|
115
113
|
|
|
116
|
-
class ScheduleState(StrEnum):
|
|
117
|
-
NEVER = 'never'
|
|
118
|
-
DAILY = 'daily'
|
|
119
|
-
MONDAY = 'mon'
|
|
120
|
-
TUESDAY = 'tue'
|
|
121
|
-
WEDNESDAY = 'wed'
|
|
122
|
-
THURSDAY = 'thu'
|
|
123
|
-
FRIDAY = 'fri'
|
|
124
|
-
SATURDAY = 'sat'
|
|
125
|
-
SUNDAY = 'sun'
|
|
126
|
-
|
|
127
114
|
@dataclass(kw_only=True)
|
|
128
115
|
class BackupSchedule:
|
|
129
116
|
days: list[Day] = field(default_factory=list)
|
|
130
117
|
recurrence: ScheduleRecurrence = ...
|
|
131
|
-
state: ScheduleState = ...
|
|
132
118
|
time: dt.time | None = ...
|
|
133
119
|
cron_event: CronSim | None = field(init=False, default=None)
|
|
134
120
|
next_automatic_backup: datetime | None = field(init=False, default=None)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
from
|
|
2
|
-
from homeassistant.
|
|
1
|
+
from .const import PLATFORMS as PLATFORMS
|
|
2
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
6
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
7
|
+
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
from . import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
|
2
|
-
from .const import ATTR_OBSERVATIONS as ATTR_OBSERVATIONS, ATTR_OCCURRED_OBSERVATION_ENTITIES as ATTR_OCCURRED_OBSERVATION_ENTITIES, ATTR_PROBABILITY as ATTR_PROBABILITY, ATTR_PROBABILITY_THRESHOLD as ATTR_PROBABILITY_THRESHOLD, CONF_NUMERIC_STATE as CONF_NUMERIC_STATE, CONF_OBSERVATIONS as CONF_OBSERVATIONS, CONF_PRIOR as CONF_PRIOR, CONF_PROBABILITY_THRESHOLD as CONF_PROBABILITY_THRESHOLD, CONF_P_GIVEN_F as CONF_P_GIVEN_F, CONF_P_GIVEN_T as CONF_P_GIVEN_T, CONF_TEMPLATE as CONF_TEMPLATE, CONF_TO_STATE as CONF_TO_STATE, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PROBABILITY_THRESHOLD as DEFAULT_PROBABILITY_THRESHOLD
|
|
1
|
+
from .const import ATTR_OBSERVATIONS as ATTR_OBSERVATIONS, ATTR_OCCURRED_OBSERVATION_ENTITIES as ATTR_OCCURRED_OBSERVATION_ENTITIES, ATTR_PROBABILITY as ATTR_PROBABILITY, ATTR_PROBABILITY_THRESHOLD as ATTR_PROBABILITY_THRESHOLD, CONF_NUMERIC_STATE as CONF_NUMERIC_STATE, CONF_OBSERVATIONS as CONF_OBSERVATIONS, CONF_PRIOR as CONF_PRIOR, CONF_PROBABILITY_THRESHOLD as CONF_PROBABILITY_THRESHOLD, CONF_P_GIVEN_F as CONF_P_GIVEN_F, CONF_P_GIVEN_T as CONF_P_GIVEN_T, CONF_TEMPLATE as CONF_TEMPLATE, CONF_TO_STATE as CONF_TO_STATE, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PROBABILITY_THRESHOLD as DEFAULT_PROBABILITY_THRESHOLD, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
|
3
2
|
from .helpers import Observation as Observation
|
|
4
3
|
from .issues import raise_mirrored_entries as raise_mirrored_entries, raise_no_prob_given_false as raise_no_prob_given_false
|
|
5
4
|
from _typeshed import Incomplete
|
|
6
5
|
from collections import OrderedDict
|
|
7
6
|
from collections.abc import Callable as Callable
|
|
8
7
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
|
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
9
|
from homeassistant.const import CONF_ABOVE as CONF_ABOVE, CONF_BELOW as CONF_BELOW, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_STATE as CONF_STATE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
|
10
10
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
|
11
11
|
from homeassistant.exceptions import ConditionError as ConditionError, TemplateError as TemplateError
|
|
12
12
|
from homeassistant.helpers import condition as condition
|
|
13
|
-
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
|
13
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
|
|
14
14
|
from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, TrackTemplateResultInfo as TrackTemplateResultInfo, async_track_state_change_event as async_track_state_change_event, async_track_template_result as async_track_template_result
|
|
15
15
|
from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
|
|
16
16
|
from homeassistant.helpers.template import Template as Template, result_as_boolean as result_as_boolean
|
|
@@ -20,11 +20,11 @@ from uuid import UUID
|
|
|
20
20
|
|
|
21
21
|
_LOGGER: Incomplete
|
|
22
22
|
|
|
23
|
-
def
|
|
23
|
+
def above_greater_than_below(config: dict[str, Any]) -> dict[str, Any]: ...
|
|
24
24
|
|
|
25
25
|
NUMERIC_STATE_SCHEMA: Incomplete
|
|
26
26
|
|
|
27
|
-
def
|
|
27
|
+
def no_overlapping(configs: list[dict]) -> list[dict]: ...
|
|
28
28
|
|
|
29
29
|
STATE_SCHEMA: Incomplete
|
|
30
30
|
TEMPLATE_SCHEMA: Incomplete
|
|
@@ -32,6 +32,7 @@ PLATFORM_SCHEMA: Incomplete
|
|
|
32
32
|
|
|
33
33
|
def update_probability(prior: float, prob_given_true: float, prob_given_false: float) -> float: ...
|
|
34
34
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
|
35
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
|
35
36
|
|
|
36
37
|
class BayesianBinarySensor(BinarySensorEntity):
|
|
37
38
|
_attr_should_poll: bool
|