homeassistant-stubs 2025.8.2__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 +3 -2
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +5 -2
- homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +1 -1
- homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
- homeassistant-stubs/components/amberelectric/const.pyi +1 -1
- homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -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/nanoleaf/config_flow.pyi +1 -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 +8 -1
- 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/withings/diagnostics.pyi +4 -0
- 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/config_flow.pyi +6 -0
- 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/sensor.pyi +7 -4
- 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.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/RECORD +228 -203
- 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.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.8.2.dist-info → homeassistant_stubs-2025.9.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,44 +1,24 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import datetime as dt
|
|
3
3
|
from .const import DOMAIN as DOMAIN
|
|
4
|
+
from .coordinator import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarUpdateCoordinator as JewishCalendarUpdateCoordinator
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from abc import abstractmethod
|
|
6
|
-
from
|
|
7
|
-
from hdate import HDateInfo, Location as Location, Zmanim
|
|
8
|
-
from hdate.translator import Language as Language
|
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
|
+
from hdate import Zmanim as Zmanim
|
|
10
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, callback as callback
|
|
11
9
|
from homeassistant.helpers import event as event
|
|
12
10
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
13
|
-
from homeassistant.helpers.entity import
|
|
11
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
|
12
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
|
|
17
|
-
|
|
18
|
-
@dataclass
|
|
19
|
-
class JewishCalendarDataResults:
|
|
20
|
-
dateinfo: HDateInfo
|
|
21
|
-
zmanim: Zmanim
|
|
22
|
-
|
|
23
|
-
@dataclass
|
|
24
|
-
class JewishCalendarData:
|
|
25
|
-
language: Language
|
|
26
|
-
diaspora: bool
|
|
27
|
-
location: Location
|
|
28
|
-
candle_lighting_offset: int
|
|
29
|
-
havdalah_offset: int
|
|
30
|
-
results: JewishCalendarDataResults | None = ...
|
|
31
|
-
|
|
32
|
-
class JewishCalendarEntity(Entity, metaclass=abc.ABCMeta):
|
|
14
|
+
class JewishCalendarEntity(CoordinatorEntity[JewishCalendarUpdateCoordinator], metaclass=abc.ABCMeta):
|
|
33
15
|
_attr_has_entity_name: bool
|
|
34
16
|
_attr_should_poll: bool
|
|
35
17
|
_update_unsub: CALLBACK_TYPE | None
|
|
36
18
|
entity_description: Incomplete
|
|
37
19
|
_attr_unique_id: Incomplete
|
|
38
20
|
_attr_device_info: Incomplete
|
|
39
|
-
data: Incomplete
|
|
40
21
|
def __init__(self, config_entry: JewishCalendarConfigEntry, description: EntityDescription) -> None: ...
|
|
41
|
-
def make_zmanim(self, date: dt.date) -> Zmanim: ...
|
|
42
22
|
async def async_added_to_hass(self) -> None: ...
|
|
43
23
|
async def async_will_remove_from_hass(self) -> None: ...
|
|
44
24
|
@abstractmethod
|
|
@@ -46,4 +26,3 @@ class JewishCalendarEntity(Entity, metaclass=abc.ABCMeta):
|
|
|
46
26
|
def _schedule_update(self) -> None: ...
|
|
47
27
|
@callback
|
|
48
28
|
def _update(self, now: dt.datetime | None = None) -> None: ...
|
|
49
|
-
def create_results(self, now: dt.datetime | None = None) -> None: ...
|
|
@@ -38,7 +38,7 @@ class JewishCalendarBaseSensor(JewishCalendarEntity, SensorEntity):
|
|
|
38
38
|
_attr_entity_category: Incomplete
|
|
39
39
|
entity_description: JewishCalendarBaseSensorDescription
|
|
40
40
|
def _update_times(self, zmanim: Zmanim) -> list[dt.datetime | None]: ...
|
|
41
|
-
def get_dateinfo(self
|
|
41
|
+
def get_dateinfo(self) -> HDateInfo: ...
|
|
42
42
|
|
|
43
43
|
class JewishCalendarSensor(JewishCalendarBaseSensor):
|
|
44
44
|
entity_description: JewishCalendarSensorDescription
|
|
@@ -4,19 +4,20 @@ from .knx_module import KNXModule as KNXModule
|
|
|
4
4
|
from .schema import SceneSchema as SceneSchema
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from homeassistant import config_entries as config_entries
|
|
7
|
-
from homeassistant.components.scene import
|
|
7
|
+
from homeassistant.components.scene import BaseScene as BaseScene
|
|
8
8
|
from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
12
12
|
from typing import Any
|
|
13
|
-
from xknx.devices import Scene as XknxScene
|
|
13
|
+
from xknx.devices import Device as XknxDevice, Scene as XknxScene
|
|
14
14
|
|
|
15
15
|
async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
16
16
|
|
|
17
|
-
class KNXScene(KnxYamlEntity,
|
|
17
|
+
class KNXScene(KnxYamlEntity, BaseScene):
|
|
18
18
|
_device: XknxScene
|
|
19
19
|
_attr_entity_category: Incomplete
|
|
20
20
|
_attr_unique_id: Incomplete
|
|
21
21
|
def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
|
|
22
|
-
async def
|
|
22
|
+
async def _async_activate(self, **kwargs: Any) -> None: ...
|
|
23
|
+
def after_update_callback(self, device: XknxDevice) -> None: ...
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from ..const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, CoverConf as CoverConf, DOMAIN as DOMAIN, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI
|
|
2
|
-
from ..validation import sync_state_validator as sync_state_validator
|
|
3
2
|
from .const import CONF_COLOR as CONF_COLOR, CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DATA as CONF_DATA, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH
|
|
4
|
-
from .knx_selector import GASelector as GASelector, GroupSelect as GroupSelect
|
|
3
|
+
from .knx_selector import AllSerializeFirst as AllSerializeFirst, GASelector as GASelector, GroupSelect as GroupSelect, GroupSelectOption as GroupSelectOption, KNXSectionFlat as KNXSectionFlat, SyncStateSelector as SyncStateSelector
|
|
5
4
|
from _typeshed import Incomplete
|
|
6
5
|
from enum import StrEnum
|
|
7
6
|
from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
|
|
@@ -10,23 +9,18 @@ from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATE
|
|
|
10
9
|
from homeassistant.helpers.typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
|
11
10
|
|
|
12
11
|
BASE_ENTITY_SCHEMA: Incomplete
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
BINARY_SENSOR_KNX_SCHEMA: Incomplete
|
|
13
|
+
COVER_KNX_SCHEMA: Incomplete
|
|
15
14
|
|
|
16
15
|
class LightColorMode(StrEnum):
|
|
17
16
|
RGB = '232.600'
|
|
18
17
|
RGBW = '251.600'
|
|
19
18
|
XYY = '242.600'
|
|
20
19
|
|
|
21
|
-
class LightColorModeSchema(StrEnum):
|
|
22
|
-
DEFAULT = 'default'
|
|
23
|
-
INDIVIDUAL = 'individual'
|
|
24
|
-
HSV = 'hsv'
|
|
25
|
-
|
|
26
20
|
_hs_color_inclusion_msg: str
|
|
27
21
|
LIGHT_KNX_SCHEMA: Incomplete
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
SWITCH_KNX_SCHEMA: Incomplete
|
|
23
|
+
KNX_SCHEMA_FOR_PLATFORM: Incomplete
|
|
30
24
|
ENTITY_STORE_DATA_SCHEMA: VolSchemaType
|
|
31
25
|
CREATE_ENTITY_BASE_SCHEMA: VolDictType
|
|
32
26
|
UPDATE_ENTITY_BASE_SCHEMA: Incomplete
|
|
@@ -1,25 +1,76 @@
|
|
|
1
1
|
import voluptuous as vol
|
|
2
|
-
from ..validation import ga_validator as ga_validator, maybe_ga_validator as maybe_ga_validator
|
|
2
|
+
from ..validation import ga_validator as ga_validator, maybe_ga_validator as maybe_ga_validator, sync_state_validator as sync_state_validator
|
|
3
3
|
from .const import CONF_DPT as CONF_DPT, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_WRITE as CONF_GA_WRITE
|
|
4
|
+
from .util import dpt_string_to_dict as dpt_string_to_dict
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Hashable, Iterable
|
|
6
7
|
from enum import Enum
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
9
|
-
class
|
|
10
|
+
class AllSerializeFirst(vol.All): ...
|
|
11
|
+
|
|
12
|
+
class KNXSelectorBase:
|
|
13
|
+
schema: vol.Schema | vol.Any | vol.All
|
|
14
|
+
selector_type: str
|
|
15
|
+
serialize_subschema: bool
|
|
16
|
+
def __call__(self, data: Any) -> Any: ...
|
|
17
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
18
|
+
|
|
19
|
+
class KNXSectionFlat(KNXSelectorBase):
|
|
20
|
+
selector_type: str
|
|
21
|
+
schema: Incomplete
|
|
22
|
+
collapsible: Incomplete
|
|
23
|
+
def __init__(self, collapsible: bool = False) -> None: ...
|
|
24
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
25
|
+
|
|
26
|
+
class KNXSection(KNXSelectorBase):
|
|
27
|
+
selector_type: str
|
|
28
|
+
serialize_subschema: bool
|
|
29
|
+
collapsible: Incomplete
|
|
30
|
+
schema: Incomplete
|
|
31
|
+
def __init__(self, schema: dict[str | vol.Marker, vol.Schemable], collapsible: bool = True) -> None: ...
|
|
32
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
33
|
+
|
|
34
|
+
class GroupSelectOption(KNXSelectorBase):
|
|
35
|
+
selector_type: str
|
|
36
|
+
serialize_subschema: bool
|
|
37
|
+
translation_key: Incomplete
|
|
38
|
+
schema: Incomplete
|
|
39
|
+
def __init__(self, schema: vol.Schemable, translation_key: str) -> None: ...
|
|
40
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
41
|
+
|
|
42
|
+
class GroupSelectSchema(vol.Any):
|
|
10
43
|
def _exec(self, funcs: Iterable, v: Any, path: list[Hashable] | None = None) -> Any: ...
|
|
11
44
|
|
|
12
|
-
class
|
|
13
|
-
|
|
45
|
+
class GroupSelect(KNXSelectorBase):
|
|
46
|
+
selector_type: str
|
|
47
|
+
serialize_subschema: bool
|
|
48
|
+
collapsible: Incomplete
|
|
49
|
+
schema: Incomplete
|
|
50
|
+
def __init__(self, *options: GroupSelectOption, collapsible: bool = True) -> None: ...
|
|
51
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
52
|
+
|
|
53
|
+
class GASelector(KNXSelectorBase):
|
|
54
|
+
selector_type: str
|
|
14
55
|
write: Incomplete
|
|
15
56
|
state: Incomplete
|
|
16
57
|
passive: Incomplete
|
|
17
58
|
write_required: Incomplete
|
|
18
59
|
state_required: Incomplete
|
|
19
60
|
dpt: Incomplete
|
|
20
|
-
|
|
21
|
-
|
|
61
|
+
valid_dpt: Incomplete
|
|
62
|
+
schema: Incomplete
|
|
63
|
+
def __init__(self, write: bool = True, state: bool = True, passive: bool = True, write_required: bool = False, state_required: bool = False, dpt: type[Enum] | None = None, valid_dpt: str | Iterable[str] | None = None) -> None: ...
|
|
64
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
22
65
|
def build_schema(self) -> vol.Schema: ...
|
|
23
66
|
def _add_group_addresses(self, schema: dict[vol.Marker, Any]) -> None: ...
|
|
24
67
|
def _add_passive(self, schema: dict[vol.Marker, Any]) -> None: ...
|
|
25
68
|
def _add_dpt(self, schema: dict[vol.Marker, Any]) -> None: ...
|
|
69
|
+
|
|
70
|
+
class SyncStateSelector(KNXSelectorBase):
|
|
71
|
+
schema: Incomplete
|
|
72
|
+
selector_type: str
|
|
73
|
+
allow_false: Incomplete
|
|
74
|
+
def __init__(self, allow_false: bool = False) -> None: ...
|
|
75
|
+
def serialize(self) -> dict[str, Any]: ...
|
|
76
|
+
def __call__(self, data: Any) -> Any: ...
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import voluptuous as vol
|
|
2
|
+
from .entity_store_schema import KNX_SCHEMA_FOR_PLATFORM as KNX_SCHEMA_FOR_PLATFORM
|
|
3
|
+
from .knx_selector import AllSerializeFirst as AllSerializeFirst, GroupSelectSchema as GroupSelectSchema, KNXSelectorBase as KNXSelectorBase
|
|
4
|
+
from homeassistant.const import Platform as Platform
|
|
5
|
+
from homeassistant.helpers import selector as selector
|
|
6
|
+
from typing import Any
|
|
7
|
+
from voluptuous_serialize import UnsupportedType as UnsupportedType
|
|
8
|
+
|
|
9
|
+
def knx_serializer(schema: vol.Schema) -> dict[str, Any] | list[dict[str, Any]] | UnsupportedType: ...
|
|
10
|
+
def get_serialized_schema(platform: Platform) -> dict[str, Any] | list[dict[str, Any]] | None: ...
|
|
@@ -2,7 +2,9 @@ from .const import CONF_DPT as CONF_DPT, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CON
|
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
4
4
|
from typing import Any
|
|
5
|
+
from xknx.typing import DPTMainSubDict
|
|
5
6
|
|
|
7
|
+
def dpt_string_to_dict(dpt: str) -> DPTMainSubDict: ...
|
|
6
8
|
def nested_get(dic: ConfigType, *keys: str, default: Any | None = None) -> Any: ...
|
|
7
9
|
|
|
8
10
|
class ConfigExtractor:
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY
|
|
1
|
+
from .const import DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI
|
|
2
2
|
from .knx_module import KNXModule as KNXModule
|
|
3
3
|
from .storage.config_store import ConfigStoreException as ConfigStoreException
|
|
4
4
|
from .storage.const import CONF_DATA as CONF_DATA
|
|
5
5
|
from .storage.entity_store_schema import CREATE_ENTITY_BASE_SCHEMA as CREATE_ENTITY_BASE_SCHEMA, UPDATE_ENTITY_BASE_SCHEMA as UPDATE_ENTITY_BASE_SCHEMA
|
|
6
6
|
from .storage.entity_store_validation import EntityStoreValidationException as EntityStoreValidationException, EntityStoreValidationSuccess as EntityStoreValidationSuccess, validate_entity_data as validate_entity_data
|
|
7
|
+
from .storage.serialize import get_serialized_schema as get_serialized_schema
|
|
7
8
|
from .telegrams import SIGNAL_KNX_TELEGRAM as SIGNAL_KNX_TELEGRAM, TelegramDict as TelegramDict
|
|
8
9
|
from collections.abc import Awaitable, Callable
|
|
9
10
|
from homeassistant.components import panel_custom as panel_custom, websocket_api as websocket_api
|
|
10
11
|
from homeassistant.components.http import StaticPathConfig as StaticPathConfig
|
|
11
|
-
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM
|
|
12
|
+
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
|
|
12
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
13
14
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
14
15
|
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED
|
|
@@ -28,7 +29,7 @@ def provide_knx(func: KnxWebSocketCommandHandler) -> websocket_api.const.WebSock
|
|
|
28
29
|
@websocket_api.require_admin
|
|
29
30
|
@provide_knx
|
|
30
31
|
@callback
|
|
31
|
-
def
|
|
32
|
+
def ws_get_base_data(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
|
32
33
|
@websocket_api.require_admin
|
|
33
34
|
@websocket_api.async_response
|
|
34
35
|
@provide_knx
|
|
@@ -57,6 +58,9 @@ def ws_subscribe_telegram(hass: HomeAssistant, connection: websocket_api.ActiveC
|
|
|
57
58
|
def ws_validate_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
|
58
59
|
@websocket_api.require_admin
|
|
59
60
|
@websocket_api.async_response
|
|
61
|
+
async def ws_get_schema(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
|
62
|
+
@websocket_api.require_admin
|
|
63
|
+
@websocket_api.async_response
|
|
60
64
|
@provide_knx
|
|
61
65
|
async def ws_create_entity(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
|
62
66
|
@websocket_api.require_admin
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from .coordinator import LetPotConfigEntry as LetPotConfigEntry, LetPotDeviceCoordinator as LetPotDeviceCoordinator
|
|
2
|
+
from .entity import LetPotEntity as LetPotEntity, LetPotEntityDescription as LetPotEntityDescription, exception_handler as exception_handler
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable, Coroutine
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from enum import StrEnum
|
|
7
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
+
from letpot.deviceclient import LetPotDeviceClient as LetPotDeviceClient
|
|
12
|
+
from typing import Any
|
|
13
|
+
|
|
14
|
+
PARALLEL_UPDATES: int
|
|
15
|
+
|
|
16
|
+
class LightBrightnessLowHigh(StrEnum):
|
|
17
|
+
LOW = 'low'
|
|
18
|
+
HIGH = 'high'
|
|
19
|
+
|
|
20
|
+
def _get_brightness_low_high_value(coordinator: LetPotDeviceCoordinator) -> str | None: ...
|
|
21
|
+
async def _set_brightness_low_high_value(device_client: LetPotDeviceClient, serial: str, option: str) -> None: ...
|
|
22
|
+
|
|
23
|
+
@dataclass(frozen=True, kw_only=True)
|
|
24
|
+
class LetPotSelectEntityDescription(LetPotEntityDescription, SelectEntityDescription):
|
|
25
|
+
value_fn: Callable[[LetPotDeviceCoordinator], str | None]
|
|
26
|
+
set_value_fn: Callable[[LetPotDeviceClient, str, str], Coroutine[Any, Any, None]]
|
|
27
|
+
|
|
28
|
+
SELECTORS: tuple[LetPotSelectEntityDescription, ...]
|
|
29
|
+
|
|
30
|
+
async def async_setup_entry(hass: HomeAssistant, entry: LetPotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
31
|
+
|
|
32
|
+
class LetPotSelectEntity(LetPotEntity, SelectEntity):
|
|
33
|
+
entity_description: LetPotSelectEntityDescription
|
|
34
|
+
_attr_unique_id: Incomplete
|
|
35
|
+
def __init__(self, coordinator: LetPotDeviceCoordinator, description: LetPotSelectEntityDescription) -> None: ...
|
|
36
|
+
@property
|
|
37
|
+
def current_option(self) -> str | None: ...
|
|
38
|
+
@exception_handler
|
|
39
|
+
async def async_select_option(self, option: str) -> None: ...
|
|
@@ -3,10 +3,9 @@ from .coordinator import MastodonConfigEntry as MastodonConfigEntry, MastodonCoo
|
|
|
3
3
|
from .services import setup_services as setup_services
|
|
4
4
|
from .utils import construct_mastodon_username as construct_mastodon_username, create_mastodon_client as create_mastodon_client
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
|
-
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET,
|
|
6
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, Platform as Platform
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
8
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
9
|
-
from homeassistant.helpers import discovery as discovery
|
|
10
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
11
10
|
from homeassistant.util import slugify as slugify
|
|
12
11
|
from mastodon.Mastodon import Account as Account, Instance as Instance, InstanceV2 as InstanceV2, Mastodon as Mastodon
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
from .const import
|
|
1
|
+
from .const import ATTR_CONTENT_WARNING as ATTR_CONTENT_WARNING, ATTR_MEDIA as ATTR_MEDIA, ATTR_MEDIA_DESCRIPTION as ATTR_MEDIA_DESCRIPTION, ATTR_MEDIA_WARNING as ATTR_MEDIA_WARNING, ATTR_STATUS as ATTR_STATUS, ATTR_VISIBILITY as ATTR_VISIBILITY, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import MastodonConfigEntry as MastodonConfigEntry
|
|
3
3
|
from .utils import get_media_type as get_media_type
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from enum import StrEnum
|
|
6
6
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
7
|
+
from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID
|
|
7
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse
|
|
8
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
9
10
|
from mastodon import Mastodon as Mastodon
|
|
@@ -9,8 +9,10 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
|
9
9
|
from homeassistant.const import ATTR_CODE as ATTR_CODE, Platform as Platform
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
+
from matter_server.common.models import EventType, MatterNodeEvent as MatterNodeEvent
|
|
12
13
|
from typing import Any
|
|
13
14
|
|
|
15
|
+
DOOR_LOCK_OPERATION_SOURCE: Incomplete
|
|
14
16
|
DoorLockFeature: Incomplete
|
|
15
17
|
|
|
16
18
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
@@ -19,6 +21,10 @@ class MatterLock(MatterEntity, LockEntity):
|
|
|
19
21
|
_feature_map: int | None
|
|
20
22
|
_optimistic_timer: asyncio.TimerHandle | None
|
|
21
23
|
_platform_translation_key: str
|
|
24
|
+
_attr_changed_by: str
|
|
25
|
+
async def async_added_to_hass(self) -> None: ...
|
|
26
|
+
@callback
|
|
27
|
+
def _on_matter_node_event(self, event: EventType, node_event: MatterNodeEvent) -> None: ...
|
|
22
28
|
@property
|
|
23
29
|
def code_format(self) -> str | None: ...
|
|
24
30
|
_attr_is_locking: bool
|
|
@@ -7,13 +7,14 @@ from chip.clusters.Types import Nullable as Nullable
|
|
|
7
7
|
from dataclasses import dataclass, field
|
|
8
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
10
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
|
10
|
+
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
13
|
from homeassistant.util import slugify as slugify
|
|
14
14
|
|
|
15
15
|
AIR_QUALITY_MAP: Incomplete
|
|
16
16
|
CONTAMINATION_STATE_MAP: Incomplete
|
|
17
|
+
EVE_CLUSTER_WEATHER_MAP: Incomplete
|
|
17
18
|
OPERATIONAL_STATE_MAP: Incomplete
|
|
18
19
|
RVC_OPERATIONAL_STATE_MAP: Incomplete
|
|
19
20
|
BOOST_STATE_MAP: Incomplete
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from .const import
|
|
1
|
+
from .const import ATTR_END_DATE as ATTR_END_DATE, ATTR_ENTRY_TYPE as ATTR_ENTRY_TYPE, ATTR_INCLUDE_TAGS as ATTR_INCLUDE_TAGS, ATTR_NOTE_TEXT as ATTR_NOTE_TEXT, ATTR_NOTE_TITLE as ATTR_NOTE_TITLE, ATTR_RECIPE_ID as ATTR_RECIPE_ID, ATTR_RESULT_LIMIT as ATTR_RESULT_LIMIT, ATTR_SEARCH_TERMS as ATTR_SEARCH_TERMS, ATTR_START_DATE as ATTR_START_DATE, ATTR_URL as ATTR_URL, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import MealieConfigEntry as MealieConfigEntry
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
5
|
-
from homeassistant.const import ATTR_DATE as ATTR_DATE
|
|
5
|
+
from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATE as ATTR_DATE
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
8
8
|
|
|
@@ -39,6 +39,7 @@ CACHE_MAXSIZE: Final[str]
|
|
|
39
39
|
CACHE_LOCK: Final[str]
|
|
40
40
|
CACHE_URL: Final[str]
|
|
41
41
|
CACHE_CONTENT: Final[str]
|
|
42
|
+
ATTR_MEDIA: str
|
|
42
43
|
|
|
43
44
|
class MediaPlayerEnqueue(StrEnum):
|
|
44
45
|
ADD = 'add'
|
|
@@ -56,6 +57,9 @@ _DEPRECATED_DEVICE_CLASS_TV: Incomplete
|
|
|
56
57
|
_DEPRECATED_DEVICE_CLASS_SPEAKER: Incomplete
|
|
57
58
|
_DEPRECATED_DEVICE_CLASS_RECEIVER: Incomplete
|
|
58
59
|
DEVICE_CLASSES: Incomplete
|
|
60
|
+
|
|
61
|
+
def _promote_media_fields(data: dict[str, Any]) -> dict[str, Any]: ...
|
|
62
|
+
|
|
59
63
|
MEDIA_PLAYER_PLAY_MEDIA_SCHEMA: Incomplete
|
|
60
64
|
MEDIA_PLAYER_BROWSE_MEDIA_SCHEMA: Incomplete
|
|
61
65
|
ATTR_TO_PROPERTY: Incomplete
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
from . import
|
|
2
|
-
from .
|
|
1
|
+
from . import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity
|
|
2
|
+
from .browse_media import SearchMedia as SearchMedia
|
|
3
|
+
from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from collections.abc import Iterable
|
|
5
6
|
from dataclasses import dataclass, field
|
|
6
|
-
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET
|
|
7
|
+
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_PLAYING as STATE_PLAYING
|
|
7
8
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
|
|
8
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
9
10
|
from homeassistant.helpers import intent as intent
|
|
11
|
+
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
|
10
12
|
|
|
11
13
|
INTENT_MEDIA_PAUSE: str
|
|
12
14
|
INTENT_MEDIA_UNPAUSE: str
|
|
13
15
|
INTENT_MEDIA_NEXT: str
|
|
14
16
|
INTENT_MEDIA_PREVIOUS: str
|
|
15
17
|
INTENT_SET_VOLUME: str
|
|
18
|
+
INTENT_SET_VOLUME_RELATIVE: str
|
|
16
19
|
INTENT_MEDIA_SEARCH_AND_PLAY: str
|
|
17
20
|
_LOGGER: Incomplete
|
|
18
21
|
|
|
@@ -43,3 +46,10 @@ class MediaSearchAndPlayHandler(intent.IntentHandler):
|
|
|
43
46
|
slot_schema: Incomplete
|
|
44
47
|
platforms: Incomplete
|
|
45
48
|
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
|
49
|
+
|
|
50
|
+
class MediaSetVolumeRelativeHandler(intent.IntentHandler):
|
|
51
|
+
description: str
|
|
52
|
+
intent_type = INTENT_SET_VOLUME_RELATIVE
|
|
53
|
+
slot_schema: Incomplete
|
|
54
|
+
platforms: Incomplete
|
|
55
|
+
async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
|
-
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING
|
|
2
|
+
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING
|
|
3
3
|
|
|
4
4
|
DEFAULT_NAME: str
|
|
5
5
|
DOMAIN: str
|
|
@@ -39,6 +39,10 @@ class MetEireannWeather(SingleCoordinatorWeatherEntity[DataUpdateCoordinator[Met
|
|
|
39
39
|
def native_wind_speed(self) -> float | None: ...
|
|
40
40
|
@property
|
|
41
41
|
def wind_bearing(self) -> float | None: ...
|
|
42
|
+
@property
|
|
43
|
+
def native_wind_gust_speed(self) -> float | None: ...
|
|
44
|
+
@property
|
|
45
|
+
def cloud_coverage(self) -> float | None: ...
|
|
42
46
|
def _forecast(self, hourly: bool) -> list[Forecast]: ...
|
|
43
47
|
@callback
|
|
44
48
|
def _async_forecast_daily(self) -> list[Forecast]: ...
|
|
@@ -123,6 +123,7 @@ OVEN_PROGRAM_ID: dict[int, str]
|
|
|
123
123
|
DISH_WARMER_PROGRAM_ID: dict[int, str]
|
|
124
124
|
ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str]
|
|
125
125
|
COFFEE_SYSTEM_PROGRAM_ID: dict[int, str]
|
|
126
|
+
COFFEE_SYSTEM_PROFILE: dict[range, str]
|
|
126
127
|
STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str]
|
|
127
128
|
STATE_PROGRAM_ID: dict[int, dict[int, str]]
|
|
128
129
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
|
2
1
|
from .const import DOMAIN as DOMAIN
|
|
3
2
|
from _typeshed import Incomplete
|
|
4
3
|
from collections.abc import Callable as Callable
|
|
@@ -6,7 +5,7 @@ from dataclasses import dataclass
|
|
|
6
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
7
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
|
9
|
-
from pymiele import MieleAction, MieleDevice
|
|
8
|
+
from pymiele import MieleAPI as MieleAPI, MieleAction, MieleDevice
|
|
10
9
|
|
|
11
10
|
_LOGGER: Incomplete
|
|
12
11
|
type MieleConfigEntry = ConfigEntry[MieleDataUpdateCoordinator]
|
|
@@ -22,7 +21,7 @@ class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
|
|
|
22
21
|
known_devices: set[str]
|
|
23
22
|
devices: dict[str, MieleDevice]
|
|
24
23
|
api: Incomplete
|
|
25
|
-
def __init__(self, hass: HomeAssistant, config_entry: MieleConfigEntry, api:
|
|
24
|
+
def __init__(self, hass: HomeAssistant, config_entry: MieleConfigEntry, api: MieleAPI) -> None: ...
|
|
26
25
|
async def _async_update_data(self) -> MieleCoordinatorData: ...
|
|
27
26
|
def async_add_devices(self, added_devices: set[str]) -> tuple[set[str], set[str]]: ...
|
|
28
27
|
async def callback_update_data(self, devices_json: dict[str, dict]) -> None: ...
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
|
2
1
|
from .const import DEVICE_TYPE_TAGS as DEVICE_TYPE_TAGS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, MieleAppliance as MieleAppliance, StateStatus as StateStatus
|
|
3
2
|
from .coordinator import MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
|
4
3
|
from _typeshed import Incomplete
|
|
5
4
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
6
5
|
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
|
7
6
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
8
|
-
from pymiele import MieleAction as MieleAction, MieleDevice as MieleDevice
|
|
7
|
+
from pymiele import MieleAPI as MieleAPI, MieleAction as MieleAction, MieleDevice as MieleDevice
|
|
9
8
|
|
|
10
9
|
class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
|
|
11
10
|
_attr_has_entity_name: bool
|
|
@@ -21,6 +20,6 @@ class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
|
|
|
21
20
|
@property
|
|
22
21
|
def action(self) -> MieleAction: ...
|
|
23
22
|
@property
|
|
24
|
-
def api(self) ->
|
|
23
|
+
def api(self) -> MieleAPI: ...
|
|
25
24
|
@property
|
|
26
25
|
def available(self) -> bool: ...
|
|
@@ -1,29 +1,33 @@
|
|
|
1
|
-
from .const import DISABLED_TEMP_ENTITIES as DISABLED_TEMP_ENTITIES, DOMAIN as DOMAIN, MieleAppliance as MieleAppliance, PlatePowerStep as PlatePowerStep, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
|
|
1
|
+
from .const import COFFEE_SYSTEM_PROFILE as COFFEE_SYSTEM_PROFILE, DISABLED_TEMP_ENTITIES as DISABLED_TEMP_ENTITIES, DOMAIN as DOMAIN, MieleAppliance as MieleAppliance, PlatePowerStep as PlatePowerStep, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
|
|
2
2
|
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
|
3
3
|
from .entity import MieleEntity as MieleEntity
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from collections.abc import Callable as Callable
|
|
5
|
+
from collections.abc import Callable as Callable, Mapping
|
|
6
6
|
from dataclasses import dataclass
|
|
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, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfEnergy as UnitOfEnergy, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
|
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfEnergy as UnitOfEnergy, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
11
|
from homeassistant.helpers.typing import StateType as StateType
|
|
12
12
|
from pymiele import MieleDevice as MieleDevice, MieleTemperature as MieleTemperature
|
|
13
|
-
from typing import Final
|
|
13
|
+
from typing import Any, Final
|
|
14
14
|
|
|
15
15
|
PARALLEL_UPDATES: int
|
|
16
16
|
_LOGGER: Incomplete
|
|
17
17
|
DEFAULT_PLATE_COUNT: int
|
|
18
18
|
PLATE_COUNT: Incomplete
|
|
19
|
+
ATTRIBUTE_PROFILE: str
|
|
19
20
|
|
|
20
21
|
def _get_plate_count(tech_type: str) -> int: ...
|
|
21
22
|
def _convert_duration(value_list: list[int]) -> int | None: ...
|
|
22
23
|
def _convert_temperature(value_list: list[MieleTemperature], index: int) -> float | None: ...
|
|
24
|
+
def _get_coffee_profile(value: MieleDevice) -> str | None: ...
|
|
23
25
|
|
|
24
26
|
@dataclass(frozen=True, kw_only=True)
|
|
25
27
|
class MieleSensorDescription(SensorEntityDescription):
|
|
26
28
|
value_fn: Callable[[MieleDevice], StateType]
|
|
29
|
+
end_value_fn: Callable[[StateType], StateType] | None = ...
|
|
30
|
+
extra_attributes: dict[str, Callable[[MieleDevice], StateType]] | None = ...
|
|
27
31
|
zone: int | None = ...
|
|
28
32
|
unique_id_fn: Callable[[str, MieleSensorDescription], str] | None = ...
|
|
29
33
|
|
|
@@ -44,6 +48,15 @@ class MieleSensor(MieleEntity, SensorEntity):
|
|
|
44
48
|
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
|
|
45
49
|
@property
|
|
46
50
|
def native_value(self) -> StateType: ...
|
|
51
|
+
@property
|
|
52
|
+
def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
|
|
53
|
+
|
|
54
|
+
class MieleRestorableSensor(MieleSensor, RestoreSensor):
|
|
55
|
+
_last_value: StateType
|
|
56
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
|
|
57
|
+
async def async_added_to_hass(self) -> None: ...
|
|
58
|
+
@property
|
|
59
|
+
def native_value(self) -> StateType: ...
|
|
47
60
|
|
|
48
61
|
class MielePlateSensor(MieleSensor):
|
|
49
62
|
entity_description: MieleSensorDescription
|
|
@@ -66,7 +79,13 @@ class MielePhaseSensor(MieleSensor):
|
|
|
66
79
|
def options(self) -> list[str]: ...
|
|
67
80
|
|
|
68
81
|
class MieleProgramIdSensor(MieleSensor):
|
|
82
|
+
_unrecorded_attributes: Incomplete
|
|
69
83
|
@property
|
|
70
84
|
def native_value(self) -> StateType: ...
|
|
71
85
|
@property
|
|
72
86
|
def options(self) -> list[str]: ...
|
|
87
|
+
|
|
88
|
+
class MieleTimeSensor(MieleRestorableSensor):
|
|
89
|
+
_last_value: Incomplete
|
|
90
|
+
@callback
|
|
91
|
+
def _handle_coordinator_update(self) -> None: ...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from . import get_hub as get_hub
|
|
2
|
-
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT
|
|
2
|
+
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, _LOGGER as _LOGGER
|
|
3
3
|
from .entity import BasePlatform as BasePlatform
|
|
4
4
|
from .modbus import ModbusHub as ModbusHub
|
|
5
5
|
from _typeshed import Incomplete
|
|
@@ -12,7 +12,6 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
|
12
12
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
|
13
13
|
from typing import Any
|
|
14
14
|
|
|
15
|
-
_LOGGER: Incomplete
|
|
16
15
|
PARALLEL_UPDATES: int
|
|
17
16
|
|
|
18
17
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|