homeassistant-stubs 2025.9.4__py3-none-any.whl → 2025.10.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.
Potentially problematic release.
This version of homeassistant-stubs might be problematic. Click here for more details.
- homeassistant-stubs/components/acaia/coordinator.pyi +1 -0
- homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
- homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
- homeassistant-stubs/components/accuweather/const.pyi +1 -0
- homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
- homeassistant-stubs/components/accuweather/weather.pyi +5 -2
- homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airos/config_flow.pyi +1 -1
- homeassistant-stubs/components/airos/coordinator.pyi +4 -4
- homeassistant-stubs/components/airos/sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/select.pyi +1 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +2 -0
- homeassistant-stubs/components/analytics/__init__.pyi +4 -21
- homeassistant-stubs/components/analytics/analytics.pyi +42 -5
- homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
- homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
- homeassistant-stubs/components/androidtv/services.pyi +16 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +7 -4
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/asuswrt/bridge.pyi +8 -0
- homeassistant-stubs/components/blue_current/__init__.pyi +11 -5
- homeassistant-stubs/components/blue_current/const.pyi +6 -0
- homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
- homeassistant-stubs/components/bluetooth/api.pyi +5 -2
- homeassistant-stubs/components/bluetooth/manager.pyi +7 -1
- homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
- homeassistant-stubs/components/brother/__init__.pyi +4 -2
- homeassistant-stubs/components/brother/config_flow.pyi +5 -2
- homeassistant-stubs/components/brother/const.pyi +4 -0
- homeassistant-stubs/components/bthome/sensor.pyi +1 -1
- homeassistant-stubs/components/camera/__init__.pyi +1 -1
- homeassistant-stubs/components/camera/prefs.pyi +3 -1
- homeassistant-stubs/components/cloud/http_api.pyi +2 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +2 -1
- homeassistant-stubs/components/comelit/sensor.pyi +1 -1
- homeassistant-stubs/components/compit/__init__.pyi +11 -0
- homeassistant-stubs/components/compit/climate.pyi +63 -0
- homeassistant-stubs/components/compit/config_flow.pyi +17 -0
- homeassistant-stubs/components/compit/const.pyi +2 -0
- homeassistant-stubs/components/compit/coordinator.pyi +16 -0
- homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
- homeassistant-stubs/components/droplet/__init__.pyi +10 -0
- homeassistant-stubs/components/droplet/config_flow.pyi +13 -0
- homeassistant-stubs/components/droplet/const.pyi +7 -0
- homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
- homeassistant-stubs/components/droplet/sensor.pyi +37 -0
- homeassistant-stubs/components/ecovacs/number.pyi +4 -1
- homeassistant-stubs/components/elkm1/config_flow.pyi +2 -0
- homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
- homeassistant-stubs/components/energy/sensor.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
- homeassistant-stubs/components/esphome/climate.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +8 -4
- homeassistant-stubs/components/esphome/lock.pyi +1 -1
- homeassistant-stubs/components/esphome/select.pyi +4 -3
- homeassistant-stubs/components/fritz/sensor.pyi +2 -1
- homeassistant-stubs/components/frontend/__init__.pyi +5 -2
- homeassistant-stubs/components/geocaching/entity.pyi +14 -0
- homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
- homeassistant-stubs/components/go2rtc/__init__.pyi +3 -0
- homeassistant-stubs/components/google/__init__.pyi +0 -1
- homeassistant-stubs/components/google/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
- homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
- homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
- homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/habitica/const.pyi +1 -0
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -1
- homeassistant-stubs/components/habitica/util.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +7 -2
- homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
- homeassistant-stubs/components/home_connect/application_credentials.pyi +0 -1
- homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +38 -11
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
- homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
- homeassistant-stubs/components/homee/button.pyi +3 -1
- homeassistant-stubs/components/homee/climate.pyi +3 -1
- homeassistant-stubs/components/homee/cover.pyi +3 -1
- homeassistant-stubs/components/homee/event.pyi +3 -1
- homeassistant-stubs/components/homee/fan.pyi +3 -1
- homeassistant-stubs/components/homee/helpers.pyi +6 -0
- homeassistant-stubs/components/homee/light.pyi +2 -0
- homeassistant-stubs/components/homee/lock.pyi +4 -2
- homeassistant-stubs/components/homee/number.pyi +3 -1
- homeassistant-stubs/components/homee/select.pyi +3 -1
- homeassistant-stubs/components/homee/sensor.pyi +2 -2
- homeassistant-stubs/components/homee/siren.pyi +4 -1
- homeassistant-stubs/components/homee/switch.pyi +4 -2
- homeassistant-stubs/components/homee/valve.pyi +3 -1
- homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
- homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +1 -0
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/image_upload/const.pyi +1 -0
- homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
- homeassistant-stubs/components/immich/media_source.pyi +2 -2
- homeassistant-stubs/components/integration/__init__.pyi +0 -1
- homeassistant-stubs/components/integration/config_flow.pyi +1 -0
- homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
- homeassistant-stubs/components/letpot/number.pyi +34 -0
- homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +9 -0
- homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
- homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
- homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +21 -0
- homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +34 -0
- homeassistant-stubs/components/litterrobot/select.pyi +1 -1
- homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
- homeassistant-stubs/components/logbook/helpers.pyi +4 -3
- homeassistant-stubs/components/mastodon/const.pyi +1 -0
- homeassistant-stubs/components/mastodon/services.pyi +1 -1
- homeassistant-stubs/components/matter/models.pyi +1 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -0
- homeassistant-stubs/components/mcp_server/session.pyi +2 -2
- homeassistant-stubs/components/media_source/__init__.pyi +2 -10
- homeassistant-stubs/components/media_source/helper.pyi +16 -0
- homeassistant-stubs/components/media_source/http.pyi +13 -0
- homeassistant-stubs/components/media_source/local_source.pyi +19 -11
- homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
- homeassistant-stubs/components/miele/const.pyi +193 -17
- homeassistant-stubs/components/miele/sensor.pyi +12 -3
- homeassistant-stubs/components/miele/vacuum.pyi +1 -2
- homeassistant-stubs/components/min_max/sensor.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/climate.pyi +2 -2
- homeassistant-stubs/components/modbus/const.pyi +1 -0
- homeassistant-stubs/components/modbus/cover.pyi +2 -2
- homeassistant-stubs/components/modbus/entity.pyi +4 -4
- homeassistant-stubs/components/modbus/fan.pyi +2 -2
- homeassistant-stubs/components/modbus/light.pyi +2 -2
- homeassistant-stubs/components/modbus/modbus.pyi +1 -2
- homeassistant-stubs/components/modbus/sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/switch.pyi +2 -2
- homeassistant-stubs/components/modbus/validators.pyi +1 -1
- homeassistant-stubs/components/motionmount/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +61 -60
- homeassistant-stubs/components/mqtt/const.pyi +6 -0
- homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
- homeassistant-stubs/components/mqtt/entity.pyi +2 -2
- homeassistant-stubs/components/mqtt/image.pyi +1 -5
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
- homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/music_assistant/__init__.pyi +2 -1
- homeassistant-stubs/components/music_assistant/config_flow.pyi +1 -1
- homeassistant-stubs/components/music_assistant/const.pyi +1 -0
- homeassistant-stubs/components/nordpool/coordinator.pyi +4 -2
- homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
- homeassistant-stubs/components/ntfy/const.pyi +6 -0
- homeassistant-stubs/components/ntfy/entity.pyi +18 -0
- homeassistant-stubs/components/ntfy/event.pyi +29 -0
- homeassistant-stubs/components/ntfy/notify.pyi +19 -13
- homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
- homeassistant-stubs/components/number/const.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
- homeassistant-stubs/components/openai_conversation/entity.pyi +2 -2
- homeassistant-stubs/components/openuv/__init__.pyi +1 -1
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
- homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
- homeassistant-stubs/components/opnsense/const.pyi +5 -0
- homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
- homeassistant-stubs/components/portainer/__init__.pyi +11 -0
- homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
- homeassistant-stubs/components/portainer/config_flow.pyi +20 -0
- homeassistant-stubs/components/portainer/const.pyi +2 -0
- homeassistant-stubs/components/portainer/coordinator.pyi +29 -0
- homeassistant-stubs/components/portainer/entity.pyi +22 -0
- homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
- homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
- homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +1 -0
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/entity.pyi +10 -0
- homeassistant-stubs/components/reolink/light.pyi +7 -1
- homeassistant-stubs/components/reolink/number.pyi +10 -1
- homeassistant-stubs/components/reolink/select.pyi +11 -3
- homeassistant-stubs/components/reolink/siren.pyi +11 -1
- homeassistant-stubs/components/reolink/switch.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
- homeassistant-stubs/components/roborock/const.pyi +1 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +1 -1
- homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
- homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
- homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
- homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
- homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
- homeassistant-stubs/components/scrape/__init__.pyi +0 -1
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
- homeassistant-stubs/components/scrape/coordinator.pyi +5 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -1
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
- homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
- homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
- homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
- homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +5 -1
- homeassistant-stubs/components/shelly/button.pyi +10 -2
- homeassistant-stubs/components/shelly/const.pyi +5 -2
- homeassistant-stubs/components/shelly/cover.pyi +6 -0
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/light.pyi +18 -10
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/repairs.pyi +4 -2
- homeassistant-stubs/components/shelly/select.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +12 -8
- homeassistant-stubs/components/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/text.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +7 -2
- homeassistant-stubs/components/sql/__init__.pyi +2 -2
- homeassistant-stubs/components/sql/config_flow.pyi +6 -2
- homeassistant-stubs/components/sql/const.pyi +1 -0
- homeassistant-stubs/components/sql/sensor.pyi +1 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/ssdp/server.pyi +2 -3
- homeassistant-stubs/components/starlink/sensor.pyi +8 -1
- homeassistant-stubs/components/statistics/__init__.pyi +0 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +7 -0
- homeassistant-stubs/components/switchbot_cloud/climate.pyi +7 -3
- homeassistant-stubs/components/switchbot_cloud/const.pyi +13 -0
- homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
- homeassistant-stubs/components/switchbot_cloud/light.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +13 -1
- homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -0
- homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
- homeassistant-stubs/components/telegram_bot/bot.pyi +1 -0
- homeassistant-stubs/components/telegram_bot/const.pyi +13 -0
- homeassistant-stubs/components/threshold/__init__.pyi +0 -1
- homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
- homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
- homeassistant-stubs/components/tts/__init__.pyi +5 -0
- homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
- homeassistant-stubs/components/vacuum/intent.pyi +1 -1
- homeassistant-stubs/components/volvo/__init__.pyi +1 -1
- homeassistant-stubs/components/volvo/api.pyi +4 -0
- homeassistant-stubs/components/volvo/coordinator.pyi +28 -15
- homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
- homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
- homeassistant-stubs/components/webhook/trigger.pyi +2 -1
- homeassistant-stubs/components/workday/calendar.pyi +25 -0
- homeassistant-stubs/components/yalexs_ble/__init__.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +2 -2
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
- homeassistant-stubs/components/zwave_js/const.pyi +3 -0
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -9
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +11 -7
- homeassistant-stubs/config_entries.pyi +6 -1
- homeassistant-stubs/const.pyi +7 -46
- homeassistant-stubs/data_entry_flow.pyi +16 -3
- homeassistant-stubs/generated/entity_platforms.pyi +46 -0
- homeassistant-stubs/helpers/condition.pyi +3 -1
- homeassistant-stubs/helpers/config_validation.pyi +1 -1
- homeassistant-stubs/helpers/deprecation.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +4 -3
- homeassistant-stubs/helpers/entity_component.pyi +1 -3
- homeassistant-stubs/helpers/event.pyi +2 -1
- homeassistant-stubs/helpers/intent.pyi +5 -8
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
- homeassistant-stubs/helpers/selector.pyi +16 -16
- homeassistant-stubs/helpers/service.pyi +12 -14
- homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
- homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +14 -97
- homeassistant-stubs/helpers/template/context.pyi +16 -0
- homeassistant-stubs/helpers/template/extensions/__init__.pyi +8 -0
- homeassistant-stubs/helpers/template/extensions/base.pyi +21 -0
- homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
- homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
- homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
- homeassistant-stubs/helpers/template/extensions/math.pyi +43 -0
- homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
- homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
- homeassistant-stubs/helpers/template/helpers.pyi +4 -0
- homeassistant-stubs/helpers/template/render_info.pyi +39 -0
- homeassistant-stubs/helpers/trigger.pyi +16 -5
- homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
- homeassistant-stubs/runner.pyi +16 -0
- homeassistant-stubs/util/unit_conversion.pyi +6 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/RECORD +304 -246
- homeassistant-stubs/components/home_connect/time.pyi +0 -29
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
-
from .helpers import get_name_for_enum as get_name_for_enum
|
|
3
|
+
from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components.lock import LockEntity as LockEntity
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
|
8
9
|
from typing import Any
|
|
9
10
|
|
|
10
11
|
PARALLEL_UPDATES: int
|
|
11
12
|
|
|
12
|
-
async def
|
|
13
|
+
async def add_lock_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
|
|
14
16
|
class HomeeLock(HomeeEntity, LockEntity):
|
|
15
17
|
_attr_name: Incomplete
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -8,7 +9,7 @@ from homeassistant.components.number import NumberDeviceClass as NumberDeviceCla
|
|
|
8
9
|
from homeassistant.const import EntityCategory as EntityCategory, UnitOfSpeed as UnitOfSpeed
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
12
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
12
13
|
|
|
13
14
|
PARALLEL_UPDATES: int
|
|
14
15
|
|
|
@@ -19,6 +20,7 @@ class HomeeNumberEntityDescription(NumberEntityDescription):
|
|
|
19
20
|
|
|
20
21
|
NUMBER_DESCRIPTIONS: Incomplete
|
|
21
22
|
|
|
23
|
+
async def add_number_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
22
24
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
23
25
|
|
|
24
26
|
class HomeeNumber(HomeeEntity, NumberEntity):
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
9
|
from pyHomee.const import AttributeType
|
|
9
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
10
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
10
11
|
|
|
11
12
|
PARALLEL_UPDATES: int
|
|
12
13
|
SELECT_DESCRIPTIONS: dict[AttributeType, SelectEntityDescription]
|
|
13
14
|
|
|
15
|
+
async def add_select_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
16
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
15
17
|
|
|
16
18
|
class HomeeSelect(HomeeEntity, SelectEntity):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import DOMAIN as DOMAIN, HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, OPEN_CLOSE_MAP as OPEN_CLOSE_MAP, OPEN_CLOSE_MAP_REVERSED as OPEN_CLOSE_MAP_REVERSED, WINDOW_MAP as WINDOW_MAP, WINDOW_MAP_REVERSED as WINDOW_MAP_REVERSED
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity, HomeeNodeEntity as HomeeNodeEntity
|
|
4
|
-
from .helpers import get_name_for_enum as get_name_for_enum
|
|
4
|
+
from .helpers import get_name_for_enum as get_name_for_enum, setup_homee_platform as setup_homee_platform
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable
|
|
7
7
|
from dataclasses import dataclass
|
|
@@ -36,7 +36,7 @@ class HomeeNodeSensorEntityDescription(SensorEntityDescription):
|
|
|
36
36
|
NODE_SENSOR_DESCRIPTIONS: tuple[HomeeNodeSensorEntityDescription, ...]
|
|
37
37
|
|
|
38
38
|
def entity_used_in(hass: HomeAssistant, entity_id: str) -> list[str]: ...
|
|
39
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry,
|
|
39
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
40
40
|
|
|
41
41
|
class HomeeSensor(HomeeEntity, SensorEntity):
|
|
42
42
|
entity_description: HomeeSensorEntityDescription
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.siren import SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
|
7
9
|
from typing import Any
|
|
8
10
|
|
|
9
11
|
PARALLEL_UPDATES: int
|
|
10
12
|
|
|
11
|
-
async def
|
|
13
|
+
async def add_siren_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
12
15
|
|
|
13
16
|
class HomeeSiren(HomeeEntity, SirenEntity):
|
|
14
17
|
_attr_name: Incomplete
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import CLIMATE_PROFILES as CLIMATE_PROFILES, LIGHT_PROFILES as LIGHT_PROFILES
|
|
3
3
|
from .entity import HomeeEntity as HomeeEntity
|
|
4
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -9,7 +10,7 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
12
|
from pyHomee.const import AttributeType
|
|
12
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
13
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
13
14
|
from typing import Any
|
|
14
15
|
|
|
15
16
|
PARALLEL_UPDATES: int
|
|
@@ -22,7 +23,8 @@ class HomeeSwitchEntityDescription(SwitchEntityDescription):
|
|
|
22
23
|
|
|
23
24
|
SWITCH_DESCRIPTIONS: dict[AttributeType, HomeeSwitchEntityDescription]
|
|
24
25
|
|
|
25
|
-
async def
|
|
26
|
+
async def add_switch_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
27
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
26
28
|
|
|
27
29
|
class HomeeSwitch(HomeeEntity, SwitchEntity):
|
|
28
30
|
entity_description: HomeeSwitchEntityDescription
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .entity import HomeeEntity as HomeeEntity
|
|
3
|
+
from .helpers import setup_homee_platform as setup_homee_platform
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
7
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
7
|
-
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
|
8
|
+
from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
|
|
8
9
|
|
|
9
10
|
PARALLEL_UPDATES: int
|
|
10
11
|
VALVE_DESCRIPTIONS: Incomplete
|
|
11
12
|
|
|
13
|
+
async def add_valve_entities(config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, nodes: list[HomeeNode]) -> None: ...
|
|
12
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
15
|
|
|
14
16
|
class HomeeValve(HomeeEntity, ValveEntity):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, HomeDriver as HomeDriver, TYPES as TYPES
|
|
2
|
-
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_REMAINING_DURATION as CHAR_REMAINING_DURATION, CHAR_SET_DURATION as CHAR_SET_DURATION, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, CONF_LINKED_VALVE_DURATION as CONF_LINKED_VALVE_DURATION, CONF_LINKED_VALVE_END_TIME as CONF_LINKED_VALVE_END_TIME, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
|
2
|
+
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_REMAINING_DURATION as CHAR_REMAINING_DURATION, CHAR_SET_DURATION as CHAR_SET_DURATION, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, CONF_LINKED_VALVE_DURATION as CONF_LINKED_VALVE_DURATION, CONF_LINKED_VALVE_END_TIME as CONF_LINKED_VALVE_END_TIME, PROP_MAX_VALUE as PROP_MAX_VALUE, PROP_MIN_STEP as PROP_MIN_STEP, PROP_MIN_VALUE as PROP_MIN_VALUE, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
|
3
3
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components import button as button, input_button as input_button
|
|
@@ -20,6 +20,11 @@ class ValveInfo(NamedTuple):
|
|
|
20
20
|
valve_type: int
|
|
21
21
|
|
|
22
22
|
VALVE_TYPE: dict[str, ValveInfo]
|
|
23
|
+
VALVE_LINKED_DURATION_PROPERTIES: Incomplete
|
|
24
|
+
VALVE_DURATION_MIN_DEFAULT: int
|
|
25
|
+
VALVE_DURATION_MAX_DEFAULT: int
|
|
26
|
+
VALVE_DURATION_STEP_DEFAULT: int
|
|
27
|
+
VALVE_REMAINING_TIME_MAX_DEFAULT: Incomplete
|
|
23
28
|
ACTIVATE_ONLY_SWITCH_DOMAINS: Incomplete
|
|
24
29
|
ACTIVATE_ONLY_RESET_SECONDS: int
|
|
25
30
|
|
|
@@ -74,6 +79,7 @@ class ValveBase(HomeAccessory):
|
|
|
74
79
|
def get_duration(self) -> int: ...
|
|
75
80
|
def get_remaining_duration(self) -> int: ...
|
|
76
81
|
def _get_entity_state(self, entity_id: str | None) -> str | None: ...
|
|
82
|
+
def _get_linked_duration_property(self, attr: str, fallback_value: int) -> int: ...
|
|
77
83
|
|
|
78
84
|
class ValveSwitch(ValveBase):
|
|
79
85
|
def __init__(self, hass: HomeAssistant, driver: HomeDriver, name: str, entity_id: str, aid: int, config: dict[str, Any], *args: Any) -> None: ...
|
|
@@ -12,6 +12,7 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
13
|
from homeassistant.helpers.typing import StateType as StateType
|
|
14
14
|
from homeassistant.util.dt import utcnow as utcnow
|
|
15
|
+
from homeassistant.util.variance import ignore_variance as ignore_variance
|
|
15
16
|
from homewizard_energy.models import CombinedModels as CombinedModels, ExternalDevice
|
|
16
17
|
from typing import Final
|
|
17
18
|
|
|
@@ -29,8 +30,9 @@ class HomeWizardExternalSensorEntityDescription(SensorEntityDescription):
|
|
|
29
30
|
device_name: str
|
|
30
31
|
|
|
31
32
|
def to_percentage(value: float | None) -> float | None: ...
|
|
32
|
-
def
|
|
33
|
+
def uptime_to_datetime(value: int) -> datetime: ...
|
|
33
34
|
|
|
35
|
+
uptime_to_stable_datetime: Incomplete
|
|
34
36
|
SENSORS: Final[tuple[HomeWizardSensorEntityDescription, ...]]
|
|
35
37
|
EXTERNAL_SENSORS: Incomplete
|
|
36
38
|
|
|
@@ -21,7 +21,6 @@ type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator]
|
|
|
21
21
|
class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[MowerDictionary]):
|
|
22
22
|
config_entry: AutomowerConfigEntry
|
|
23
23
|
api: Incomplete
|
|
24
|
-
ws_connected: bool
|
|
25
24
|
reconnect_time: Incomplete
|
|
26
25
|
new_devices_callbacks: list[Callable[[set[str]], None]]
|
|
27
26
|
new_zones_callbacks: list[Callable[[str, set[str]], None]]
|
|
@@ -34,6 +33,7 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[MowerDictionary]):
|
|
|
34
33
|
@override
|
|
35
34
|
@callback
|
|
36
35
|
def async_update_listeners(self) -> None: ...
|
|
36
|
+
async def _async_setup(self) -> None: ...
|
|
37
37
|
async def _async_update_data(self) -> MowerDictionary: ...
|
|
38
38
|
update_interval: Incomplete
|
|
39
39
|
@callback
|
|
@@ -46,6 +46,7 @@ class ImageContentTypeError(HomeAssistantError): ...
|
|
|
46
46
|
|
|
47
47
|
def valid_image_content_type(content_type: str | None) -> str: ...
|
|
48
48
|
async def _async_get_image(image_entity: ImageEntity, timeout: int) -> Image: ...
|
|
49
|
+
async def async_get_image(hass: HomeAssistant, entity_id: str, timeout: int = 10) -> Image: ...
|
|
49
50
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
50
51
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
51
52
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import pathlib
|
|
2
|
+
from .const import DOMAIN as DOMAIN, FOLDER_IMAGE as FOLDER_IMAGE
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
|
|
4
5
|
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from propcache.api import cached_property
|
|
6
8
|
|
|
7
9
|
async def async_get_media_source(hass: HomeAssistant) -> ImageUploadMediaSource: ...
|
|
8
10
|
|
|
@@ -10,5 +12,7 @@ class ImageUploadMediaSource(MediaSource):
|
|
|
10
12
|
name: str
|
|
11
13
|
hass: Incomplete
|
|
12
14
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
|
15
|
+
@cached_property
|
|
16
|
+
def image_folder(self) -> pathlib.Path: ...
|
|
13
17
|
async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
|
|
14
18
|
async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
|
|
@@ -4,8 +4,8 @@ from _typeshed import Incomplete
|
|
|
4
4
|
from aiohttp.web import Request as Request, Response, StreamResponse
|
|
5
5
|
from aioimmich.assets.models import ImmichAsset as ImmichAsset
|
|
6
6
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
|
7
|
-
from homeassistant.components.media_player import MediaClass as MediaClass
|
|
8
|
-
from homeassistant.components.media_source import
|
|
7
|
+
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
|
|
8
|
+
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
|
|
@@ -10,5 +10,4 @@ _LOGGER: Incomplete
|
|
|
10
10
|
|
|
11
11
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
12
12
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
13
|
-
async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
14
13
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from . import DOMAIN as DOMAIN, LawnMowerEntityFeature as LawnMowerEntityFeature, SERVICE_DOCK as SERVICE_DOCK, SERVICE_START_MOWING as SERVICE_START_MOWING
|
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
3
|
+
from homeassistant.helpers import intent as intent
|
|
4
|
+
|
|
5
|
+
INTENT_LANW_MOWER_START_MOWING: str
|
|
6
|
+
INTENT_LANW_MOWER_DOCK: str
|
|
7
|
+
|
|
8
|
+
async def async_setup_intents(hass: HomeAssistant) -> None: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
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 homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory, PRECISION_WHOLE as PRECISION_WHOLE
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from letpot.deviceclient import LetPotDeviceClient as LetPotDeviceClient
|
|
11
|
+
from typing import Any
|
|
12
|
+
|
|
13
|
+
PARALLEL_UPDATES: int
|
|
14
|
+
|
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
|
16
|
+
class LetPotNumberEntityDescription(LetPotEntityDescription, NumberEntityDescription):
|
|
17
|
+
max_value_fn: Callable[[LetPotDeviceCoordinator], float]
|
|
18
|
+
value_fn: Callable[[LetPotDeviceCoordinator], float | None]
|
|
19
|
+
set_value_fn: Callable[[LetPotDeviceClient, str, float], Coroutine[Any, Any, None]]
|
|
20
|
+
|
|
21
|
+
NUMBERS: tuple[LetPotNumberEntityDescription, ...]
|
|
22
|
+
|
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: LetPotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
24
|
+
|
|
25
|
+
class LetPotNumberEntity(LetPotEntity, NumberEntity):
|
|
26
|
+
entity_description: LetPotNumberEntityDescription
|
|
27
|
+
_attr_unique_id: Incomplete
|
|
28
|
+
def __init__(self, coordinator: LetPotDeviceCoordinator, description: LetPotNumberEntityDescription) -> None: ...
|
|
29
|
+
@property
|
|
30
|
+
def native_max_value(self) -> float: ...
|
|
31
|
+
@property
|
|
32
|
+
def native_value(self) -> float | None: ...
|
|
33
|
+
@exception_handler
|
|
34
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from .coordinator import LibreHardwareMonitorConfigEntry as LibreHardwareMonitorConfigEntry, LibreHardwareMonitorCoordinator as LibreHardwareMonitorCoordinator
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.const import Platform as Platform
|
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
|
+
|
|
6
|
+
PLATFORMS: Incomplete
|
|
7
|
+
|
|
8
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: LibreHardwareMonitorConfigEntry) -> bool: ...
|
|
9
|
+
async def async_unload_entry(hass: HomeAssistant, config_entry: LibreHardwareMonitorConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
_LOGGER: Incomplete
|
|
8
|
+
CONFIG_SCHEMA: Incomplete
|
|
9
|
+
|
|
10
|
+
class LibreHardwareMonitorConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
11
|
+
VERSION: int
|
|
12
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
|
8
|
+
from librehardwaremonitor_api.model import DeviceId, DeviceName, LibreHardwareMonitorData
|
|
9
|
+
from types import MappingProxyType
|
|
10
|
+
|
|
11
|
+
_LOGGER: Incomplete
|
|
12
|
+
type LibreHardwareMonitorConfigEntry = ConfigEntry[LibreHardwareMonitorCoordinator]
|
|
13
|
+
|
|
14
|
+
class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitorData]):
|
|
15
|
+
config_entry: LibreHardwareMonitorConfigEntry
|
|
16
|
+
_api: Incomplete
|
|
17
|
+
_previous_devices: MappingProxyType[DeviceId, DeviceName]
|
|
18
|
+
def __init__(self, hass: HomeAssistant, config_entry: LibreHardwareMonitorConfigEntry) -> None: ...
|
|
19
|
+
async def _async_update_data(self) -> LibreHardwareMonitorData: ...
|
|
20
|
+
async def _async_refresh(self, log_failures: bool = True, raise_on_auth_failed: bool = False, scheduled: bool = False, raise_on_entry_error: bool = False) -> None: ...
|
|
21
|
+
async def _async_handle_changes_in_devices(self, detected_devices: MappingProxyType[DeviceId, DeviceName]) -> None: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from . import LibreHardwareMonitorCoordinator as LibreHardwareMonitorCoordinator
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from .coordinator import LibreHardwareMonitorConfigEntry as LibreHardwareMonitorConfigEntry
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
8
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
9
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
10
|
+
from librehardwaremonitor_api.model import LibreHardwareMonitorSensorData as LibreHardwareMonitorSensorData
|
|
11
|
+
|
|
12
|
+
PARALLEL_UPDATES: int
|
|
13
|
+
STATE_MIN_VALUE: str
|
|
14
|
+
STATE_MAX_VALUE: str
|
|
15
|
+
|
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: LibreHardwareMonitorConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
17
|
+
|
|
18
|
+
class LibreHardwareMonitorSensor(CoordinatorEntity[LibreHardwareMonitorCoordinator], SensorEntity):
|
|
19
|
+
_attr_state_class: Incomplete
|
|
20
|
+
_attr_has_entity_name: bool
|
|
21
|
+
_attr_name: str
|
|
22
|
+
value: str | None
|
|
23
|
+
_attr_extra_state_attributes: dict[str, str]
|
|
24
|
+
_attr_native_unit_of_measurement: Incomplete
|
|
25
|
+
_attr_unique_id: str
|
|
26
|
+
_sensor_id: str
|
|
27
|
+
_attr_device_info: Incomplete
|
|
28
|
+
def __init__(self, coordinator: LibreHardwareMonitorCoordinator, sensor_data: LibreHardwareMonitorSensorData) -> None: ...
|
|
29
|
+
@callback
|
|
30
|
+
def _handle_coordinator_update(self) -> None: ...
|
|
31
|
+
@property
|
|
32
|
+
def native_value(self) -> str | None: ...
|
|
33
|
+
@staticmethod
|
|
34
|
+
def _format_number_value(number_str: str) -> str: ...
|
|
@@ -19,7 +19,7 @@ class RobotSelectEntityDescription(SelectEntityDescription, Generic[_WhiskerEnti
|
|
|
19
19
|
options_fn: Callable[[_WhiskerEntityT], list[_CastTypeT]]
|
|
20
20
|
select_fn: Callable[[_WhiskerEntityT, str], Coroutine[Any, Any, bool]]
|
|
21
21
|
|
|
22
|
-
ROBOT_SELECT_MAP: dict[type[Robot], RobotSelectEntityDescription]
|
|
22
|
+
ROBOT_SELECT_MAP: dict[type[Robot], tuple[RobotSelectEntityDescription, ...]]
|
|
23
23
|
|
|
24
24
|
async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
25
25
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
|
1
2
|
from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
|
|
2
3
|
from .entity import LitterRobotEntity as LitterRobotEntity, _WhiskerEntityT as _WhiskerEntityT
|
|
3
4
|
from _typeshed import Incomplete
|
|
@@ -7,6 +8,8 @@ from homeassistant.components.switch import SwitchEntity as SwitchEntity, Switch
|
|
|
7
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
|
12
|
+
from pylitterbot import Robot
|
|
10
13
|
from typing import Any, Generic
|
|
11
14
|
|
|
12
15
|
@dataclass(frozen=True, kw_only=True)
|
|
@@ -15,7 +18,8 @@ class RobotSwitchEntityDescription(SwitchEntityDescription, Generic[_WhiskerEnti
|
|
|
15
18
|
set_fn: Callable[[_WhiskerEntityT, bool], Coroutine[Any, Any, bool]]
|
|
16
19
|
value_fn: Callable[[_WhiskerEntityT], bool]
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
NIGHT_LIGHT_MODE_ENTITY_DESCRIPTION: Incomplete
|
|
22
|
+
SWITCH_MAP: dict[type[Robot], tuple[RobotSwitchEntityDescription, ...]]
|
|
19
23
|
|
|
20
24
|
async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
21
25
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from .const import ALWAYS_CONTINUOUS_DOMAINS as ALWAYS_CONTINUOUS_DOMAINS, AUTOMATION_EVENTS as AUTOMATION_EVENTS, BUILT_IN_EVENTS as BUILT_IN_EVENTS, DOMAIN as DOMAIN
|
|
1
|
+
from .const import ALWAYS_CONTINUOUS_DOMAINS as ALWAYS_CONTINUOUS_DOMAINS, AUTOMATION_EVENTS as AUTOMATION_EVENTS, BUILT_IN_EVENTS as BUILT_IN_EVENTS, DOMAIN as DOMAIN, SENSOR_DOMAIN as SENSOR_DOMAIN
|
|
2
2
|
from .models import LogbookConfig as LogbookConfig
|
|
3
3
|
from collections.abc import Callable as Callable, Mapping
|
|
4
|
-
from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS
|
|
5
|
-
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
|
4
|
+
from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS, NON_NUMERIC_DEVICE_CLASSES as NON_NUMERIC_DEVICE_CLASSES
|
|
5
|
+
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
|
6
6
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, is_callback as is_callback, split_entity_id as split_entity_id
|
|
7
7
|
from homeassistant.helpers import entity_registry as er
|
|
8
8
|
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
|
@@ -19,5 +19,6 @@ def extract_attr(source: Mapping[str, Any], attr: str) -> list[str]: ...
|
|
|
19
19
|
def event_forwarder_filtered(target: Callable[[Event], None], entities_filter: Callable[[str], bool] | None, entity_ids: list[str] | None, device_ids: list[str] | None) -> Callable[[Event], None]: ...
|
|
20
20
|
@callback
|
|
21
21
|
def async_subscribe_events(hass: HomeAssistant, subscriptions: list[CALLBACK_TYPE], target: Callable[[Event[Any]], None], event_types: tuple[EventType[Any] | str, ...], entities_filter: Callable[[str], bool] | None, entity_ids: list[str] | None, device_ids: list[str] | None) -> None: ...
|
|
22
|
+
def _device_class_is_numeric(device_class: str | None) -> bool: ...
|
|
22
23
|
def is_sensor_continuous(hass: HomeAssistant, ent_reg: er.EntityRegistry, entity_id: str) -> bool: ...
|
|
23
24
|
def _is_state_filtered(new_state: State, old_state: State) -> bool: ...
|
|
@@ -1,4 +1,4 @@
|
|
|
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
|
|
1
|
+
from .const import ATTR_CONTENT_WARNING as ATTR_CONTENT_WARNING, ATTR_LANGUAGE as ATTR_LANGUAGE, 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
|
|
@@ -38,6 +38,7 @@ class MatterDiscoverySchema:
|
|
|
38
38
|
device_type: tuple[type[DeviceType] | DeviceType, ...] | None = ...
|
|
39
39
|
not_device_type: tuple[type[DeviceType] | DeviceType, ...] | None = ...
|
|
40
40
|
vendor_id: tuple[int, ...] | None = ...
|
|
41
|
+
product_id: tuple[int, ...] | None = ...
|
|
41
42
|
product_name: tuple[str, ...] | None = ...
|
|
42
43
|
endpoint_id: tuple[int, ...] | None = ...
|
|
43
44
|
absent_attributes: tuple[type[ClusterAttributeDescriptor], ...] | None = ...
|
|
@@ -23,6 +23,7 @@ DEM_OPT_OUT_STATE_MAP: Incomplete
|
|
|
23
23
|
ESA_STATE_MAP: Incomplete
|
|
24
24
|
EVSE_FAULT_STATE_MAP: Incomplete
|
|
25
25
|
PUMP_CONTROL_MODE_MAP: Incomplete
|
|
26
|
+
TEMPERATURE_SCALING_FACTOR: int
|
|
26
27
|
|
|
27
28
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
28
29
|
|
|
@@ -3,13 +3,13 @@ from anyio.streams.memory import MemoryObjectSendStream as MemoryObjectSendStrea
|
|
|
3
3
|
from collections.abc import AsyncGenerator
|
|
4
4
|
from contextlib import asynccontextmanager
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from mcp import
|
|
6
|
+
from mcp.shared.message import SessionMessage as SessionMessage
|
|
7
7
|
|
|
8
8
|
_LOGGER: Incomplete
|
|
9
9
|
|
|
10
10
|
@dataclass
|
|
11
11
|
class Session:
|
|
12
|
-
read_stream_writer: MemoryObjectSendStream[
|
|
12
|
+
read_stream_writer: MemoryObjectSendStream[SessionMessage | Exception]
|
|
13
13
|
|
|
14
14
|
class SessionManager:
|
|
15
15
|
_sessions: dict[str, Session]
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, MEDIA_CLASS_MAP as MEDIA_CLASS_MAP, MEDIA_MIME_TYPES as MEDIA_MIME_TYPES
|
|
2
2
|
from .error import MediaSourceError as MediaSourceError, Unresolvable as Unresolvable
|
|
3
|
+
from .helper import async_browse_media as async_browse_media, async_resolve_media as async_resolve_media
|
|
3
4
|
from .models import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
|
|
4
|
-
from
|
|
5
|
-
from homeassistant.components import websocket_api
|
|
6
|
-
from homeassistant.components.media_player import BrowseMedia
|
|
7
|
-
from homeassistant.core import HomeAssistant, callback
|
|
8
|
-
from homeassistant.helpers.typing import UndefinedType
|
|
9
|
-
from homeassistant.loader import bind_hass
|
|
5
|
+
from homeassistant.core import HomeAssistant
|
|
10
6
|
from typing import Protocol
|
|
11
7
|
|
|
12
8
|
__all__ = ['DOMAIN', 'MEDIA_CLASS_MAP', 'MEDIA_MIME_TYPES', 'BrowseMediaSource', 'MediaSource', 'MediaSourceError', 'MediaSourceItem', 'PlayMedia', 'Unresolvable', 'async_browse_media', 'async_resolve_media', 'generate_media_source_id', 'is_media_source_id']
|
|
@@ -16,7 +12,3 @@ class MediaSourceProtocol(Protocol):
|
|
|
16
12
|
|
|
17
13
|
def is_media_source_id(media_content_id: str) -> bool: ...
|
|
18
14
|
def generate_media_source_id(domain: str, identifier: str) -> str: ...
|
|
19
|
-
@bind_hass
|
|
20
|
-
async def async_browse_media(hass: HomeAssistant, media_content_id: str | None, *, content_filter: Callable[[BrowseMedia], bool] | None = None) -> BrowseMediaSource: ...
|
|
21
|
-
@bind_hass
|
|
22
|
-
async def async_resolve_media(hass: HomeAssistant, media_content_id: str, target_media_player: str | None | UndefinedType = ...) -> PlayMedia: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MEDIA_SOURCE_DATA as MEDIA_SOURCE_DATA
|
|
2
|
+
from .error import UnknownMediaSource as UnknownMediaSource, Unresolvable as Unresolvable
|
|
3
|
+
from .models import BrowseMediaSource as BrowseMediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
|
+
from homeassistant.helpers.frame import report_usage as report_usage
|
|
8
|
+
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
|
9
|
+
from homeassistant.loader import bind_hass as bind_hass
|
|
10
|
+
|
|
11
|
+
@callback
|
|
12
|
+
def _get_media_item(hass: HomeAssistant, media_content_id: str | None, target_media_player: str | None) -> MediaSourceItem: ...
|
|
13
|
+
@bind_hass
|
|
14
|
+
async def async_browse_media(hass: HomeAssistant, media_content_id: str | None, *, content_filter: Callable[[BrowseMedia], bool] | None = None) -> BrowseMediaSource: ...
|
|
15
|
+
@bind_hass
|
|
16
|
+
async def async_resolve_media(hass: HomeAssistant, media_content_id: str, target_media_player: str | None | UndefinedType = ...) -> PlayMedia: ...
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from .error import Unresolvable as Unresolvable
|
|
2
|
+
from .helper import async_browse_media as async_browse_media, async_resolve_media as async_resolve_media
|
|
3
|
+
from homeassistant.components import frontend as frontend, websocket_api as websocket_api
|
|
4
|
+
from homeassistant.components.media_player import ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, BrowseError as BrowseError, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, async_process_play_media_url as async_process_play_media_url
|
|
5
|
+
from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
|
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
def async_setup(hass: HomeAssistant) -> None: ...
|
|
10
|
+
@websocket_api.async_response
|
|
11
|
+
async def websocket_browse_media(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
|
12
|
+
@websocket_api.async_response
|
|
13
|
+
async def websocket_resolve_media(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|