homeassistant-stubs 2025.1.3__py3-none-any.whl → 2025.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
- homeassistant-stubs/auth/models.pyi +1 -1
- homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
- homeassistant-stubs/auth/providers/__init__.pyi +2 -4
- homeassistant-stubs/backup_restore.pyi +2 -0
- homeassistant-stubs/components/airgradient/button.pyi +4 -1
- homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
- homeassistant-stubs/components/airgradient/entity.pyi +5 -0
- homeassistant-stubs/components/airgradient/number.pyi +4 -1
- homeassistant-stubs/components/airgradient/select.pyi +4 -1
- homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
- homeassistant-stubs/components/airgradient/switch.pyi +5 -1
- homeassistant-stubs/components/airgradient/update.pyi +2 -1
- homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
- homeassistant-stubs/components/airzone/__init__.pyi +2 -0
- homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
- homeassistant-stubs/components/api/__init__.pyi +1 -1
- homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
- homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
- homeassistant-stubs/components/aranet/sensor.pyi +1 -1
- homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
- homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
- homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
- homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
- homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
- homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
- homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
- homeassistant-stubs/components/automation/__init__.pyi +1 -1
- homeassistant-stubs/components/awair/config_flow.pyi +3 -2
- homeassistant-stubs/components/axis/config_flow.pyi +6 -4
- homeassistant-stubs/components/backup/__init__.pyi +8 -3
- homeassistant-stubs/components/backup/agent.pyi +6 -5
- homeassistant-stubs/components/backup/backup.pyi +6 -4
- homeassistant-stubs/components/backup/config.pyi +45 -3
- homeassistant-stubs/components/backup/http.pyi +8 -0
- homeassistant-stubs/components/backup/manager.pyi +42 -22
- homeassistant-stubs/components/backup/models.pyi +18 -3
- homeassistant-stubs/components/backup/store.pyi +7 -2
- homeassistant-stubs/components/backup/util.pyi +94 -0
- homeassistant-stubs/components/backup/websocket.pyi +6 -3
- homeassistant-stubs/components/baf/config_flow.pyi +2 -2
- homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
- homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
- homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
- homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/blueprint/importer.pyi +0 -1
- homeassistant-stubs/components/blueprint/models.pyi +0 -1
- homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
- homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
- homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
- homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
- homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
- homeassistant-stubs/components/bluetooth/api.pyi +3 -1
- homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
- homeassistant-stubs/components/bluetooth/const.pyi +5 -0
- homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
- homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
- homeassistant-stubs/components/bluetooth/util.pyi +6 -1
- homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
- homeassistant-stubs/components/bond/config_flow.pyi +2 -2
- homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
- homeassistant-stubs/components/brother/config_flow.pyi +2 -2
- homeassistant-stubs/components/button/__init__.pyi +1 -1
- homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
- homeassistant-stubs/components/camera/__init__.pyi +1 -1
- homeassistant-stubs/components/canary/__init__.pyi +7 -7
- homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
- homeassistant-stubs/components/canary/camera.pyi +3 -4
- homeassistant-stubs/components/canary/const.pyi +0 -2
- homeassistant-stubs/components/canary/coordinator.pyi +3 -1
- homeassistant-stubs/components/canary/sensor.pyi +3 -4
- homeassistant-stubs/components/climate/__init__.pyi +2 -2
- homeassistant-stubs/components/climate/const.pyi +1 -0
- homeassistant-stubs/components/climate/intent.pyi +9 -1
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/backup.pyi +3 -9
- homeassistant-stubs/components/cloud/const.pyi +0 -1
- homeassistant-stubs/components/cloud/http_api.pyi +7 -1
- homeassistant-stubs/components/config/core.pyi +1 -1
- homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
- homeassistant-stubs/components/cookidoo/button.pyi +27 -0
- homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
- homeassistant-stubs/components/cookidoo/const.pyi +3 -0
- homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
- homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
- homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
- homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
- homeassistant-stubs/components/cover/__init__.pyi +1 -1
- homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
- homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
- homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
- homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
- homeassistant-stubs/components/crownstone/light.pyi +3 -4
- homeassistant-stubs/components/date/__init__.pyi +1 -1
- homeassistant-stubs/components/datetime/__init__.pyi +1 -1
- homeassistant-stubs/components/deconz/__init__.pyi +5 -4
- homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
- homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/deconz/button.pyi +2 -2
- homeassistant-stubs/components/deconz/climate.pyi +2 -2
- homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
- homeassistant-stubs/components/deconz/cover.pyi +2 -2
- homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
- homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
- homeassistant-stubs/components/deconz/fan.pyi +2 -2
- homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
- homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
- homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
- homeassistant-stubs/components/deconz/light.pyi +2 -2
- homeassistant-stubs/components/deconz/lock.pyi +2 -3
- homeassistant-stubs/components/deconz/number.pyi +2 -2
- homeassistant-stubs/components/deconz/scene.pyi +2 -3
- homeassistant-stubs/components/deconz/select.pyi +2 -3
- homeassistant-stubs/components/deconz/sensor.pyi +2 -2
- homeassistant-stubs/components/deconz/services.pyi +2 -1
- homeassistant-stubs/components/deconz/siren.pyi +2 -3
- homeassistant-stubs/components/deconz/switch.pyi +2 -3
- homeassistant-stubs/components/deconz/util.pyi +7 -0
- homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
- homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
- homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
- homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
- homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
- homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
- homeassistant-stubs/components/doorbird/device.pyi +1 -1
- homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
- homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
- homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
- homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
- homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
- homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
- homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
- homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
- homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/duotecno/climate.pyi +2 -4
- homeassistant-stubs/components/duotecno/cover.pyi +2 -4
- homeassistant-stubs/components/duotecno/light.pyi +2 -4
- homeassistant-stubs/components/duotecno/switch.pyi +2 -4
- homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
- homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
- homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
- homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
- homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
- homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
- homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
- homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
- homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
- homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
- homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
- homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
- homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
- homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
- homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
- homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
- homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
- homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
- homeassistant-stubs/components/esphome/__init__.pyi +1 -0
- homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
- homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
- homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/event/__init__.pyi +2 -2
- homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
- homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
- homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
- homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
- homeassistant-stubs/components/fan/__init__.pyi +1 -1
- homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
- homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
- homeassistant-stubs/components/filter/__init__.pyi +6 -4
- homeassistant-stubs/components/filter/config_flow.pyi +28 -0
- homeassistant-stubs/components/filter/const.pyi +29 -0
- homeassistant-stubs/components/filter/sensor.pyi +3 -24
- homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
- homeassistant-stubs/components/fritz/__init__.pyi +9 -7
- homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/fritz/button.pyi +3 -4
- homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
- homeassistant-stubs/components/fritz/const.pyi +0 -3
- homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
- homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
- homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
- homeassistant-stubs/components/fritz/image.pyi +2 -4
- homeassistant-stubs/components/fritz/sensor.pyi +3 -4
- homeassistant-stubs/components/fritz/services.pyi +5 -8
- homeassistant-stubs/components/fritz/switch.pyi +3 -4
- homeassistant-stubs/components/fritz/update.pyi +2 -4
- homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
- homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
- homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +1 -1
- homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
- homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
- homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
- homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
- homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
- homeassistant-stubs/components/fyta/entity.pyi +2 -2
- homeassistant-stubs/components/fyta/image.pyi +18 -0
- homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
- homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
- homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
- homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
- homeassistant-stubs/components/google_drive/api.pyi +35 -0
- homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
- homeassistant-stubs/components/google_drive/backup.pyi +28 -0
- homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
- homeassistant-stubs/components/google_drive/const.pyi +1 -0
- homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
- homeassistant-stubs/components/habitica/__init__.pyi +16 -0
- homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
- homeassistant-stubs/components/habitica/button.pyi +53 -0
- homeassistant-stubs/components/habitica/calendar.pyi +56 -0
- homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
- homeassistant-stubs/components/habitica/const.pyi +44 -0
- homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
- homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
- homeassistant-stubs/components/habitica/entity.pyi +14 -0
- homeassistant-stubs/components/habitica/image.pyi +26 -0
- homeassistant-stubs/components/habitica/sensor.pyi +81 -0
- homeassistant-stubs/components/habitica/services.pyi +24 -0
- homeassistant-stubs/components/habitica/switch.pyi +32 -0
- homeassistant-stubs/components/habitica/todo.pyi +43 -0
- homeassistant-stubs/components/habitica/types.pyi +10 -0
- homeassistant-stubs/components/habitica/util.pyi +15 -0
- homeassistant-stubs/components/heos/__init__.pyi +15 -0
- homeassistant-stubs/components/heos/config_flow.pyi +32 -0
- homeassistant-stubs/components/heos/const.pyi +5 -0
- homeassistant-stubs/components/heos/coordinator.pyi +44 -0
- homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
- homeassistant-stubs/components/heos/media_player.pyi +95 -0
- homeassistant-stubs/components/heos/services.pyi +16 -0
- homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
- homeassistant-stubs/components/homee/__init__.pyi +14 -0
- homeassistant-stubs/components/homee/config_flow.pyi +14 -0
- homeassistant-stubs/components/homee/const.pyi +9 -0
- homeassistant-stubs/components/homee/cover.pyi +43 -0
- homeassistant-stubs/components/homee/entity.pyi +43 -0
- homeassistant-stubs/components/homee/helpers.pyi +6 -0
- homeassistant-stubs/components/homee/sensor.pyi +49 -0
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
- homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
- homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
- homeassistant-stubs/components/homewizard/const.pyi +0 -11
- homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
- homeassistant-stubs/components/homewizard/number.pyi +0 -1
- homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
- homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
- homeassistant-stubs/components/homewizard/switch.pyi +4 -4
- homeassistant-stubs/components/http/ban.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
- homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
- homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
- homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
- homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
- homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
- homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
- homeassistant-stubs/components/image/__init__.pyi +1 -1
- homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
- homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
- homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
- homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
- homeassistant-stubs/components/incomfort/climate.pyi +42 -0
- homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
- homeassistant-stubs/components/incomfort/const.pyi +2 -0
- homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
- homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
- homeassistant-stubs/components/incomfort/entity.pyi +14 -0
- homeassistant-stubs/components/incomfort/errors.pyi +18 -0
- homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
- homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
- homeassistant-stubs/components/intent/__init__.pyi +1 -1
- homeassistant-stubs/components/intent/timers.pyi +1 -2
- homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
- homeassistant-stubs/components/iron_os/button.pyi +31 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
- homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
- homeassistant-stubs/components/iron_os/number.pyi +1 -2
- homeassistant-stubs/components/iron_os/select.pyi +2 -4
- homeassistant-stubs/components/iron_os/switch.pyi +43 -0
- homeassistant-stubs/components/isy994/__init__.pyi +1 -2
- homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
- homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
- homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
- homeassistant-stubs/components/knx/climate.pyi +10 -2
- homeassistant-stubs/components/knx/const.pyi +2 -0
- homeassistant-stubs/components/knx/entity.pyi +1 -1
- homeassistant-stubs/components/knx/light.pyi +1 -1
- homeassistant-stubs/components/knx/schema.pyi +5 -7
- homeassistant-stubs/components/knx/sensor.pyi +1 -1
- homeassistant-stubs/components/knx/storage/const.pyi +1 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
- homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
- homeassistant-stubs/components/lcn/__init__.pyi +2 -2
- homeassistant-stubs/components/lcn/climate.pyi +2 -1
- homeassistant-stubs/components/lcn/const.pyi +1 -0
- homeassistant-stubs/components/lcn/schemas.pyi +1 -1
- homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
- homeassistant-stubs/components/letpot/__init__.pyi +13 -0
- homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
- homeassistant-stubs/components/letpot/const.pyi +6 -0
- homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
- homeassistant-stubs/components/letpot/entity.pyi +10 -0
- homeassistant-stubs/components/letpot/time.pyi +33 -0
- homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
- homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
- homeassistant-stubs/components/lifx/manager.pyi +16 -1
- homeassistant-stubs/components/light/__init__.pyi +1 -1
- homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
- homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
- homeassistant-stubs/components/litterrobot/button.pyi +6 -10
- homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
- homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
- homeassistant-stubs/components/litterrobot/select.pyi +5 -14
- homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
- homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
- homeassistant-stubs/components/litterrobot/time.pyi +3 -6
- homeassistant-stubs/components/litterrobot/update.pyi +1 -1
- homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
- homeassistant-stubs/components/lock/__init__.pyi +1 -1
- homeassistant-stubs/components/logbook/models.pyi +1 -1
- homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
- homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
- homeassistant-stubs/components/lovelace/cast.pyi +18 -0
- homeassistant-stubs/components/lovelace/const.pyi +33 -0
- homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
- homeassistant-stubs/components/lovelace/resources.pyi +42 -0
- homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
- homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
- homeassistant-stubs/components/mastodon/notify.pyi +1 -3
- homeassistant-stubs/components/matter/config_flow.pyi +1 -1
- homeassistant-stubs/components/matter/cover.pyi +0 -1
- homeassistant-stubs/components/matter/discovery.pyi +2 -2
- homeassistant-stubs/components/matter/entity.pyi +11 -4
- homeassistant-stubs/components/matter/light.pyi +0 -1
- homeassistant-stubs/components/matter/lock.pyi +0 -2
- homeassistant-stubs/components/matter/models.pyi +10 -1
- homeassistant-stubs/components/matter/number.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +32 -2
- homeassistant-stubs/components/matter/sensor.pyi +24 -0
- homeassistant-stubs/components/matter/switch.pyi +15 -2
- homeassistant-stubs/components/matter/vacuum.pyi +0 -1
- homeassistant-stubs/components/matter/valve.pyi +0 -2
- homeassistant-stubs/components/mcp/__init__.pyi +16 -0
- homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
- homeassistant-stubs/components/mcp/const.pyi +1 -0
- homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
- homeassistant-stubs/components/mcp/types.pyi +4 -0
- homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
- homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
- homeassistant-stubs/components/mcp_server/const.pyi +4 -0
- homeassistant-stubs/components/mcp_server/http.pyi +31 -0
- homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
- homeassistant-stubs/components/mcp_server/server.pyi +13 -0
- homeassistant-stubs/components/mcp_server/session.pyi +20 -0
- homeassistant-stubs/components/mcp_server/types.pyi +4 -0
- homeassistant-stubs/components/media_player/__init__.pyi +1 -1
- homeassistant-stubs/components/media_source/__init__.pyi +1 -1
- homeassistant-stubs/components/media_source/models.pyi +1 -2
- homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
- homeassistant-stubs/components/modbus/climate.pyi +4 -3
- homeassistant-stubs/components/modbus/const.pyi +4 -0
- homeassistant-stubs/components/modbus/cover.pyi +1 -2
- homeassistant-stubs/components/modbus/entity.pyi +15 -8
- homeassistant-stubs/components/modbus/light.pyi +0 -1
- homeassistant-stubs/components/modbus/modbus.pyi +4 -0
- homeassistant-stubs/components/modbus/sensor.pyi +1 -2
- homeassistant-stubs/components/modbus/switch.pyi +0 -1
- homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
- homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
- homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
- homeassistant-stubs/components/motionmount/entity.pyi +3 -2
- homeassistant-stubs/components/motionmount/select.pyi +2 -0
- homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
- homeassistant-stubs/components/mqtt/const.pyi +7 -1
- homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
- homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
- homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
- homeassistant-stubs/components/nam/config_flow.pyi +2 -2
- homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
- homeassistant-stubs/components/nest/__init__.pyi +3 -4
- homeassistant-stubs/components/nest/api.pyi +2 -2
- homeassistant-stubs/components/nest/climate.pyi +2 -0
- homeassistant-stubs/components/nest/config_flow.pyi +6 -2
- homeassistant-stubs/components/netatmo/button.pyi +25 -0
- homeassistant-stubs/components/netatmo/const.pyi +1 -0
- homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
- homeassistant-stubs/components/network/system_health.pyi +11 -0
- homeassistant-stubs/components/notify/__init__.pyi +1 -1
- homeassistant-stubs/components/number/__init__.pyi +2 -2
- homeassistant-stubs/components/nut/config_flow.pyi +2 -2
- homeassistant-stubs/components/onboarding/views.pyi +30 -2
- homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
- homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
- homeassistant-stubs/components/onedrive/backup.pyi +41 -0
- homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
- homeassistant-stubs/components/onedrive/const.pyi +10 -0
- homeassistant-stubs/components/onewire/__init__.pyi +4 -4
- homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
- homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
- homeassistant-stubs/components/onewire/const.pyi +0 -2
- homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
- homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
- homeassistant-stubs/components/onewire/select.pyi +27 -0
- homeassistant-stubs/components/onewire/sensor.pyi +7 -4
- homeassistant-stubs/components/onewire/switch.pyi +8 -4
- homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
- homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
- homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
- homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
- homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
- homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
- homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
- homeassistant-stubs/components/overkiz/const.pyi +1 -0
- homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
- homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
- homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
- homeassistant-stubs/components/overseerr/const.pyi +12 -0
- homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
- homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
- homeassistant-stubs/components/overseerr/entity.pyi +11 -0
- homeassistant-stubs/components/overseerr/event.pyi +35 -0
- homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
- homeassistant-stubs/components/overseerr/services.pyi +16 -0
- homeassistant-stubs/components/pandora/__init__.pyi +0 -0
- homeassistant-stubs/components/pandora/media_player.pyi +51 -0
- homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
- homeassistant-stubs/components/person/__init__.pyi +103 -0
- homeassistant-stubs/components/person/const.pyi +1 -0
- homeassistant-stubs/components/person/significant_change.pyi +5 -0
- homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
- homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
- homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
- homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
- homeassistant-stubs/components/powerwall/const.pyi +2 -0
- homeassistant-stubs/components/proximity/__init__.pyi +2 -3
- homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
- homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
- homeassistant-stubs/components/python_script/__init__.pyi +48 -0
- homeassistant-stubs/components/qbus/__init__.pyi +15 -0
- homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
- homeassistant-stubs/components/qbus/const.pyi +7 -0
- homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
- homeassistant-stubs/components/qbus/entity.pyi +29 -0
- homeassistant-stubs/components/qbus/switch.pyi +21 -0
- homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
- homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
- homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
- homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
- homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
- homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
- homeassistant-stubs/components/recorder/const.pyi +0 -2
- homeassistant-stubs/components/recorder/core.pyi +2 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
- homeassistant-stubs/components/recorder/migration.pyi +1 -1
- homeassistant-stubs/components/recorder/models/state.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +1 -7
- homeassistant-stubs/components/remote/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +4 -2
- homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/entity.pyi +1 -1
- homeassistant-stubs/components/reolink/host.pyi +9 -2
- homeassistant-stubs/components/reolink/switch.pyi +5 -1
- homeassistant-stubs/components/reolink/util.pyi +6 -5
- homeassistant-stubs/components/repairs/__init__.pyi +1 -1
- homeassistant-stubs/components/ring/__init__.pyi +4 -15
- homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/ring/button.pyi +1 -0
- homeassistant-stubs/components/ring/camera.pyi +1 -0
- homeassistant-stubs/components/ring/config_flow.pyi +2 -2
- homeassistant-stubs/components/ring/coordinator.pyi +14 -4
- homeassistant-stubs/components/ring/entity.pyi +1 -2
- homeassistant-stubs/components/ring/event.pyi +2 -0
- homeassistant-stubs/components/ring/light.pyi +1 -0
- homeassistant-stubs/components/ring/number.pyi +2 -0
- homeassistant-stubs/components/ring/sensor.pyi +2 -0
- homeassistant-stubs/components/ring/siren.pyi +1 -0
- homeassistant-stubs/components/ring/switch.pyi +1 -0
- homeassistant-stubs/components/roborock/__init__.pyi +3 -1
- homeassistant-stubs/components/roborock/const.pyi +4 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
- homeassistant-stubs/components/roborock/image.pyi +10 -11
- homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
- homeassistant-stubs/components/roborock/sensor.pyi +1 -1
- homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
- homeassistant-stubs/components/roku/config_flow.pyi +4 -3
- homeassistant-stubs/components/romy/config_flow.pyi +2 -2
- homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
- homeassistant-stubs/components/russound_rio/const.pyi +0 -2
- homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
- homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
- homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
- homeassistant-stubs/components/scrape/sensor.pyi +2 -0
- homeassistant-stubs/components/script/__init__.pyi +1 -1
- homeassistant-stubs/components/select/__init__.pyi +2 -2
- homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
- homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/sensibo/climate.pyi +13 -7
- homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
- homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
- homeassistant-stubs/components/sensibo/entity.pyi +5 -1
- homeassistant-stubs/components/sensibo/select.pyi +6 -1
- homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
- homeassistant-stubs/components/sensor/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/__init__.pyi +2 -0
- homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
- homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +25 -2
- homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
- homeassistant-stubs/components/shelly/const.pyi +3 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
- homeassistant-stubs/components/shelly/entity.pyi +4 -1
- homeassistant-stubs/components/shelly/number.pyi +21 -13
- homeassistant-stubs/components/shelly/sensor.pyi +12 -7
- homeassistant-stubs/components/shelly/utils.pyi +1 -1
- homeassistant-stubs/components/siren/__init__.pyi +1 -1
- homeassistant-stubs/components/slack/config_flow.pyi +2 -1
- homeassistant-stubs/components/slack/entity.pyi +3 -5
- homeassistant-stubs/components/slack/notify.pyi +4 -2
- homeassistant-stubs/components/slack/sensor.pyi +2 -2
- homeassistant-stubs/components/slack/utils.pyi +6 -0
- homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
- homeassistant-stubs/components/smhi/weather.pyi +3 -3
- homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
- homeassistant-stubs/components/spotify/__init__.pyi +1 -1
- homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
- homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
- homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
- homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
- homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
- homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
- homeassistant-stubs/components/stream/__init__.pyi +3 -15
- homeassistant-stubs/components/stream/const.pyi +9 -1
- homeassistant-stubs/components/stream/exceptions.pyi +13 -0
- homeassistant-stubs/components/stream/worker.pyi +4 -5
- homeassistant-stubs/components/stt/__init__.pyi +1 -1
- homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
- homeassistant-stubs/components/switch/__init__.pyi +1 -1
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
- homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
- homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
- homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
- homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
- homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
- homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
- homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
- homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
- homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
- homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
- homeassistant-stubs/components/system_health/__init__.pyi +3 -1
- homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
- homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
- homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
- homeassistant-stubs/components/technove/config_flow.pyi +3 -2
- homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
- homeassistant-stubs/components/text/__init__.pyi +1 -1
- homeassistant-stubs/components/tile/__init__.pyi +4 -15
- homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
- homeassistant-stubs/components/tile/config_flow.pyi +0 -1
- homeassistant-stubs/components/tile/coordinator.pyi +18 -0
- homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
- homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
- homeassistant-stubs/components/tile/entity.pyi +13 -0
- homeassistant-stubs/components/time/__init__.pyi +1 -1
- homeassistant-stubs/components/todo/__init__.pyi +1 -1
- homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
- homeassistant-stubs/components/tplink/__init__.pyi +3 -6
- homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/tplink/button.pyi +2 -1
- homeassistant-stubs/components/tplink/camera.pyi +9 -9
- homeassistant-stubs/components/tplink/climate.pyi +18 -12
- homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
- homeassistant-stubs/components/tplink/const.pyi +1 -1
- homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
- homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
- homeassistant-stubs/components/tplink/entity.pyi +30 -11
- homeassistant-stubs/components/tplink/fan.pyi +15 -7
- homeassistant-stubs/components/tplink/light.pyi +22 -11
- homeassistant-stubs/components/tplink/number.pyi +1 -0
- homeassistant-stubs/components/tplink/select.pyi +1 -0
- homeassistant-stubs/components/tplink/sensor.pyi +7 -2
- homeassistant-stubs/components/tplink/siren.pyi +22 -7
- homeassistant-stubs/components/tplink/switch.pyi +1 -0
- homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
- homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
- homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
- homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
- homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
- homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
- homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
- homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
- homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
- homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
- homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
- homeassistant-stubs/components/tts/__init__.pyi +2 -2
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
- homeassistant-stubs/components/unifi/switch.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
- homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
- homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
- homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
- homeassistant-stubs/components/upcloud/const.pyi +0 -1
- homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
- homeassistant-stubs/components/upcloud/entity.pyi +3 -3
- homeassistant-stubs/components/upcloud/switch.pyi +3 -4
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +21 -18
- homeassistant-stubs/components/usb/models.pyi +1 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
- homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
- homeassistant-stubs/components/velbus/const.pyi +1 -0
- homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
- homeassistant-stubs/components/velbus/entity.pyi +4 -0
- homeassistant-stubs/components/velbus/services.pyi +5 -1
- homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
- homeassistant-stubs/components/weather/__init__.pyi +2 -3
- homeassistant-stubs/components/webhook/__init__.pyi +0 -1
- homeassistant-stubs/components/webostv/__init__.pyi +8 -24
- homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
- homeassistant-stubs/components/webostv/const.pyi +0 -1
- homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
- homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
- homeassistant-stubs/components/webostv/helpers.pyi +11 -4
- homeassistant-stubs/components/webostv/media_player.pyi +17 -13
- homeassistant-stubs/components/webostv/notify.pyi +6 -4
- homeassistant-stubs/components/webostv/trigger.pyi +2 -0
- homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
- homeassistant-stubs/components/wled/config_flow.pyi +3 -2
- homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
- homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
- homeassistant-stubs/components/zwave_js/api.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
- homeassistant-stubs/config_entries.pyi +7 -9
- homeassistant-stubs/const.pyi +2 -0
- homeassistant-stubs/core.pyi +2 -3
- homeassistant-stubs/core_config.pyi +3 -3
- homeassistant-stubs/data_entry_flow.pyi +1 -2
- homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
- homeassistant-stubs/helpers/area_registry.pyi +11 -4
- homeassistant-stubs/helpers/collection.pyi +5 -7
- homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
- homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
- homeassistant-stubs/helpers/deprecation.pyi +2 -2
- homeassistant-stubs/helpers/device_registry.pyi +1 -1
- homeassistant-stubs/helpers/entity.pyi +1 -1
- homeassistant-stubs/helpers/entity_component.pyi +2 -4
- homeassistant-stubs/helpers/entity_registry.pyi +2 -2
- homeassistant-stubs/helpers/frame.pyi +1 -1
- homeassistant-stubs/helpers/httpx_client.pyi +2 -1
- homeassistant-stubs/helpers/intent.pyi +4 -2
- homeassistant-stubs/helpers/llm.pyi +23 -8
- homeassistant-stubs/helpers/script.pyi +1 -1
- homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
- homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
- homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
- homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
- homeassistant-stubs/helpers/singleton.pyi +6 -2
- homeassistant-stubs/helpers/storage.pyi +1 -1
- homeassistant-stubs/helpers/template.pyi +4 -4
- homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
- homeassistant-stubs/loader.pyi +1 -1
- homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
- homeassistant-stubs/util/event_type.pyi +1 -2
- homeassistant-stubs/util/ulid.pyi +1 -1
- homeassistant-stubs/util/yaml/__init__.pyi +1 -1
- homeassistant-stubs/util/yaml/loader.pyi +1 -1
- {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
- {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +729 -594
- homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
- homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
- homeassistant-stubs/components/tplink/models.pyi +0 -10
- {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
from .coordinator import TileConfigEntry as TileConfigEntry, TileCoordinator as TileCoordinator
|
2
|
+
from .entity import TileEntity as TileEntity
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from pytile.tile import Tile as Tile
|
10
|
+
|
11
|
+
@dataclass(frozen=True, kw_only=True)
|
12
|
+
class TileBinarySensorEntityDescription(BinarySensorEntityDescription):
|
13
|
+
is_on_fn: Callable[[Tile], bool]
|
14
|
+
|
15
|
+
ENTITIES: tuple[TileBinarySensorEntityDescription, ...]
|
16
|
+
|
17
|
+
async def async_setup_entry(hass: HomeAssistant, entry: TileConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
18
|
+
|
19
|
+
class TileBinarySensor(TileEntity, BinarySensorEntity):
|
20
|
+
entity_description: TileBinarySensorEntityDescription
|
21
|
+
_attr_unique_id: Incomplete
|
22
|
+
def __init__(self, coordinator: TileCoordinator, description: TileBinarySensorEntityDescription) -> None: ...
|
23
|
+
@property
|
24
|
+
def is_on(self) -> bool: ...
|
@@ -16,7 +16,6 @@ class TileFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
16
16
|
_username: str | None
|
17
17
|
def __init__(self) -> None: ...
|
18
18
|
async def _async_verify(self, step_id: str, schema: vol.Schema) -> ConfigFlowResult: ...
|
19
|
-
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
20
19
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
21
20
|
async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
22
21
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from .const import LOGGER as LOGGER
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.const import CONF_USERNAME as CONF_USERNAME
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
|
+
from pytile.api import API as API
|
9
|
+
from pytile.tile import Tile as Tile
|
10
|
+
|
11
|
+
type TileConfigEntry = ConfigEntry[dict[str, TileCoordinator]]
|
12
|
+
class TileCoordinator(DataUpdateCoordinator[None]):
|
13
|
+
config_entry: TileConfigEntry
|
14
|
+
tile: Incomplete
|
15
|
+
client: Incomplete
|
16
|
+
username: Incomplete
|
17
|
+
def __init__(self, hass: HomeAssistant, entry: TileConfigEntry, client: API, tile: Tile) -> None: ...
|
18
|
+
async def _async_update_data(self) -> None: ...
|
@@ -1,16 +1,10 @@
|
|
1
|
-
from . import
|
2
|
-
from .
|
1
|
+
from .coordinator import TileConfigEntry as TileConfigEntry, TileCoordinator as TileCoordinator
|
2
|
+
from .entity import TileEntity as TileEntity
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.components.device_tracker import
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
6
|
-
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
4
|
+
from homeassistant.components.device_tracker import TrackerEntity as TrackerEntity
|
7
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
-
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
9
6
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
12
7
|
from homeassistant.util.dt import as_utc as as_utc
|
13
|
-
from pytile.tile import Tile as Tile
|
14
8
|
|
15
9
|
_LOGGER: Incomplete
|
16
10
|
ATTR_ALTITUDE: str
|
@@ -23,22 +17,14 @@ ATTR_RING_STATE: str
|
|
23
17
|
ATTR_TILE_NAME: str
|
24
18
|
ATTR_VOIP_STATE: str
|
25
19
|
|
26
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
27
|
-
async def async_setup_scanner(hass: HomeAssistant, config: ConfigType, async_see: AsyncSeeCallback, discovery_info: DiscoveryInfoType | None = None) -> bool: ...
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: TileConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
28
21
|
|
29
|
-
class TileDeviceTracker(
|
30
|
-
_attr_has_entity_name: bool
|
22
|
+
class TileDeviceTracker(TileEntity, TrackerEntity):
|
31
23
|
_attr_name: Incomplete
|
32
24
|
_attr_translation_key: str
|
33
25
|
_attr_extra_state_attributes: Incomplete
|
34
26
|
_attr_unique_id: Incomplete
|
35
|
-
|
36
|
-
_tile: Incomplete
|
37
|
-
def __init__(self, entry: ConfigEntry, coordinator: DataUpdateCoordinator[None], tile: Tile) -> None: ...
|
38
|
-
@property
|
39
|
-
def available(self) -> bool: ...
|
40
|
-
@property
|
41
|
-
def device_info(self) -> DeviceInfo: ...
|
27
|
+
def __init__(self, coordinator: TileCoordinator) -> None: ...
|
42
28
|
@callback
|
43
29
|
def _handle_coordinator_update(self) -> None: ...
|
44
30
|
_attr_longitude: Incomplete
|
@@ -1,8 +1,6 @@
|
|
1
|
-
from . import
|
2
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from .coordinator import TileConfigEntry as TileConfigEntry
|
3
2
|
from _typeshed import Incomplete
|
4
3
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
4
|
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_UUID as CONF_UUID
|
7
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
6
|
from typing import Any
|
@@ -10,4 +8,4 @@ from typing import Any
|
|
10
8
|
CONF_ALTITUDE: str
|
11
9
|
TO_REDACT: Incomplete
|
12
10
|
|
13
|
-
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry:
|
11
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: TileConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import TileCoordinator as TileCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
5
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
6
|
+
|
7
|
+
class TileEntity(CoordinatorEntity[TileCoordinator]):
|
8
|
+
_attr_has_entity_name: bool
|
9
|
+
_tile: Incomplete
|
10
|
+
_attr_device_info: Incomplete
|
11
|
+
def __init__(self, coordinator: TileCoordinator) -> None: ...
|
12
|
+
@property
|
13
|
+
def available(self) -> bool: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from datetime import time
|
3
3
|
from homeassistant.helpers.entity import Entity, EntityDescription
|
4
|
-
from propcache import cached_property
|
4
|
+
from propcache.api import cached_property
|
5
5
|
from typing import final
|
6
6
|
|
7
7
|
__all__ = ['DOMAIN', 'TimeEntity', 'TimeEntityDescription']
|
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity import Entity as Entity
|
|
13
13
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
14
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
15
15
|
from homeassistant.util.json import JsonValueType as JsonValueType
|
16
|
-
from propcache import cached_property
|
16
|
+
from propcache.api import cached_property
|
17
17
|
from typing import Any, final
|
18
18
|
|
19
19
|
_LOGGER: Incomplete
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.components import dhcp as dhcp
|
4
3
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
4
|
from homeassistant.const import CONF_HOST as CONF_HOST
|
6
5
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
6
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
7
7
|
from typing import Any
|
8
8
|
|
9
9
|
_LOGGER: Incomplete
|
@@ -14,5 +14,5 @@ class ToloSaunaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
14
14
|
@staticmethod
|
15
15
|
def _check_device_availability(host: str) -> bool: ...
|
16
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
-
async def async_step_dhcp(self, discovery_info:
|
17
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
18
18
|
async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,12 +1,10 @@
|
|
1
1
|
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_DEVICE_CONFIG as CONF_DEVICE_CONFIG, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DISCOVERY_TIMEOUT as DISCOVERY_TIMEOUT, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
2
|
-
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
|
-
from .models import TPLinkData as TPLinkData
|
2
|
+
from .coordinator import TPLinkConfigEntry as TPLinkConfigEntry, TPLinkData as TPLinkData, TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
3
|
from _typeshed import Incomplete
|
5
4
|
from aiohttp import ClientSession as ClientSession
|
6
5
|
from collections.abc import Iterable
|
7
6
|
from homeassistant import config_entries as config_entries
|
8
7
|
from homeassistant.components import network as network
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
8
|
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
11
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
10
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
@@ -16,7 +14,6 @@ from homeassistant.helpers.event import async_track_time_interval as async_track
|
|
16
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
17
15
|
from kasa import Credentials, Device
|
18
16
|
|
19
|
-
type TPLinkConfigEntry = ConfigEntry[TPLinkData]
|
20
17
|
DISCOVERY_INTERVAL: Incomplete
|
21
18
|
CONFIG_SCHEMA: Incomplete
|
22
19
|
_LOGGER: Incomplete
|
@@ -29,10 +26,10 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
29
26
|
async def async_setup_entry(hass: HomeAssistant, entry: TPLinkConfigEntry) -> bool: ...
|
30
27
|
async def async_unload_entry(hass: HomeAssistant, entry: TPLinkConfigEntry) -> bool: ...
|
31
28
|
def legacy_device_id(device: Device) -> str: ...
|
32
|
-
def get_device_name(device: Device, parent: Device | None = None) -> str: ...
|
29
|
+
def get_device_name(device: Device, parent: Device | None = None) -> str | None: ...
|
33
30
|
async def get_credentials(hass: HomeAssistant) -> Credentials | None: ...
|
34
31
|
async def set_credentials(hass: HomeAssistant, username: str, password: str) -> None: ...
|
35
32
|
def mac_alias(mac: str) -> str: ...
|
36
33
|
def _mac_connection_or_none(device: dr.DeviceEntry) -> str | None: ...
|
37
34
|
def _device_id_is_mac_or_none(mac: str, device_ids: Iterable[str]) -> str | None: ...
|
38
|
-
async def async_migrate_entry(hass: HomeAssistant, config_entry:
|
35
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry) -> bool: ...
|
@@ -10,6 +10,7 @@ from typing import Final
|
|
10
10
|
@dataclass(frozen=True, kw_only=True)
|
11
11
|
class TPLinkBinarySensorEntityDescription(BinarySensorEntityDescription, TPLinkFeatureEntityDescription): ...
|
12
12
|
|
13
|
+
PARALLEL_UPDATES: int
|
13
14
|
BINARY_SENSOR_DESCRIPTIONS: Final[Incomplete]
|
14
15
|
BINARYSENSOR_DESCRIPTIONS_MAP: Incomplete
|
15
16
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
-
from .deprecate import DeprecatedInfo as DeprecatedInfo
|
2
|
+
from .deprecate import DeprecatedInfo as DeprecatedInfo
|
3
3
|
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from dataclasses import dataclass
|
@@ -11,6 +11,7 @@ from typing import Final
|
|
11
11
|
@dataclass(frozen=True, kw_only=True)
|
12
12
|
class TPLinkButtonEntityDescription(ButtonEntityDescription, TPLinkFeatureEntityDescription): ...
|
13
13
|
|
14
|
+
PARALLEL_UPDATES: int
|
14
15
|
BUTTON_DESCRIPTIONS: Final[Incomplete]
|
15
16
|
BUTTON_DESCRIPTIONS_MAP: Incomplete
|
16
17
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
2
|
from .const import CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS
|
3
3
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
-
from .entity import
|
4
|
+
from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aiohttp import web as web
|
7
7
|
from dataclasses import dataclass
|
@@ -11,10 +11,10 @@ from homeassistant.config_entries import ConfigFlowContext as ConfigFlowContext
|
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream
|
13
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
|
-
from kasa import
|
15
|
-
from kasa.smartcam.modules import Camera as CameraModule
|
14
|
+
from kasa import Device as Device
|
16
15
|
|
17
16
|
_LOGGER: Incomplete
|
17
|
+
PARALLEL_UPDATES: int
|
18
18
|
|
19
19
|
@dataclass(frozen=True, kw_only=True)
|
20
20
|
class TPLinkCameraEntityDescription(CameraEntityDescription, TPLinkModuleEntityDescription): ...
|
@@ -23,21 +23,21 @@ CAMERA_DESCRIPTIONS: tuple[TPLinkCameraEntityDescription, ...]
|
|
23
23
|
|
24
24
|
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
25
25
|
|
26
|
-
class TPLinkCameraEntity(
|
26
|
+
class TPLinkCameraEntity(CoordinatedTPLinkModuleEntity, Camera):
|
27
27
|
IMAGE_INTERVAL: Incomplete
|
28
28
|
_attr_supported_features: Incomplete
|
29
29
|
entity_description: TPLinkCameraEntityDescription
|
30
|
+
_ffmpeg_manager: ffmpeg.FFmpegManager
|
30
31
|
_camera_module: Incomplete
|
32
|
+
_camera_credentials: Incomplete
|
31
33
|
_video_url: Incomplete
|
32
34
|
_image: bytes | None
|
33
|
-
_ffmpeg_manager: Incomplete
|
34
35
|
_image_lock: Incomplete
|
35
36
|
_last_update: float
|
36
|
-
_camera_credentials: Incomplete
|
37
37
|
_can_stream: bool
|
38
38
|
_http_mpeg_stream_running: bool
|
39
|
-
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkCameraEntityDescription, *,
|
40
|
-
def
|
39
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkCameraEntityDescription, *, parent: Device | None = None) -> None: ...
|
40
|
+
async def async_added_to_hass(self) -> None: ...
|
41
41
|
_attr_is_on: Incomplete
|
42
42
|
@callback
|
43
43
|
def _async_update_attrs(self) -> bool: ...
|
@@ -1,34 +1,41 @@
|
|
1
|
-
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
-
from .const import UNIT_MAPPING as UNIT_MAPPING
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
|
2
|
+
from .const import DOMAIN as DOMAIN, UNIT_MAPPING as UNIT_MAPPING
|
3
3
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
-
from .entity import
|
4
|
+
from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription, async_refresh_after as async_refresh_after
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from
|
7
|
-
from
|
6
|
+
from collections.abc import Callable as Callable
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components.climate import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityDescription as ClimateEntityDescription, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode
|
9
|
+
from homeassistant.const import PRECISION_TENTHS as PRECISION_TENTHS, UnitOfTemperature as UnitOfTemperature
|
8
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
11
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
10
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
13
|
from kasa import Device as Device
|
12
14
|
from typing import Any
|
13
15
|
|
16
|
+
PARALLEL_UPDATES: int
|
14
17
|
STATE_TO_ACTION: Incomplete
|
15
18
|
_LOGGER: Incomplete
|
16
19
|
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class TPLinkClimateEntityDescription(ClimateEntityDescription, TPLinkModuleEntityDescription):
|
22
|
+
unique_id_fn: Callable[[Device, TPLinkModuleEntityDescription], str] = ...
|
23
|
+
|
24
|
+
CLIMATE_DESCRIPTIONS: tuple[TPLinkClimateEntityDescription, ...]
|
25
|
+
|
17
26
|
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
18
27
|
|
19
|
-
class TPLinkClimateEntity(
|
28
|
+
class TPLinkClimateEntity(CoordinatedTPLinkModuleEntity, ClimateEntity):
|
20
29
|
_attr_name: Incomplete
|
21
30
|
_attr_supported_features: Incomplete
|
22
31
|
_attr_hvac_modes: Incomplete
|
23
32
|
_attr_precision = PRECISION_TENTHS
|
24
|
-
|
25
|
-
|
26
|
-
_temp_feature: Incomplete
|
27
|
-
_target_feature: Incomplete
|
33
|
+
entity_description: TPLinkClimateEntityDescription
|
34
|
+
_thermostat_module: Incomplete
|
28
35
|
_attr_min_temp: Incomplete
|
29
36
|
_attr_max_temp: Incomplete
|
30
37
|
_attr_temperature_unit: Incomplete
|
31
|
-
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, parent: Device) -> None: ...
|
38
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkClimateEntityDescription, *, parent: Device) -> None: ...
|
32
39
|
@async_refresh_after
|
33
40
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
34
41
|
@async_refresh_after
|
@@ -43,4 +50,3 @@ class TPLinkClimateEntity(CoordinatedTPLinkEntity, ClimateEntity):
|
|
43
50
|
_attr_hvac_action: Incomplete
|
44
51
|
@callback
|
45
52
|
def _async_update_attrs(self) -> bool: ...
|
46
|
-
def _get_unique_id(self) -> str: ...
|
@@ -2,10 +2,11 @@ from . import async_discover_devices as async_discover_devices, create_async_tpl
|
|
2
2
|
from .const import CONF_AES_KEYS as CONF_AES_KEYS, CONF_CAMERA_CREDENTIALS as CONF_CAMERA_CREDENTIALS, CONF_CONFIG_ENTRY_MINOR_VERSION as CONF_CONFIG_ENTRY_MINOR_VERSION, CONF_CONNECTION_PARAMETERS as CONF_CONNECTION_PARAMETERS, CONF_CREDENTIALS_HASH as CONF_CREDENTIALS_HASH, CONF_LIVE_VIEW as CONF_LIVE_VIEW, CONF_USES_HTTP as CONF_USES_HTTP, CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.components import
|
5
|
+
from homeassistant.components import ffmpeg as ffmpeg, stream as stream
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
7
7
|
from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
8
8
|
from homeassistant.core import callback as callback
|
9
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
9
10
|
from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
|
10
11
|
from kasa import Credentials, Device
|
11
12
|
from typing import Any, Self
|
@@ -23,7 +24,7 @@ class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
23
24
|
_discovered_devices: dict[str, Device]
|
24
25
|
_discovered_device: Device | None
|
25
26
|
def __init__(self) -> None: ...
|
26
|
-
async def async_step_dhcp(self, discovery_info:
|
27
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
27
28
|
async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
|
28
29
|
@callback
|
29
30
|
def _get_config_updates(self, entry: ConfigEntry, host: str, device: Device | None) -> dict | None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
|
-
from homeassistant.const import Platform as Platform, UnitOfTemperature as UnitOfTemperature
|
2
|
+
from homeassistant.const import Platform as Platform, UnitOfArea as UnitOfArea, UnitOfTemperature as UnitOfTemperature
|
3
3
|
from typing import Final
|
4
4
|
|
5
5
|
DOMAIN: str
|
@@ -1,17 +1,33 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
1
2
|
from _typeshed import Incomplete
|
3
|
+
from dataclasses import dataclass
|
2
4
|
from datetime import timedelta
|
3
|
-
from homeassistant import
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
7
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
6
8
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
7
9
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
|
-
from kasa import Device as Device
|
10
|
+
from kasa import Credentials as Credentials, Device as Device
|
9
11
|
|
10
12
|
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
@dataclass(slots=True)
|
15
|
+
class TPLinkData:
|
16
|
+
parent_coordinator: TPLinkDataUpdateCoordinator
|
17
|
+
camera_credentials: Credentials | None
|
18
|
+
live_view: bool | None
|
19
|
+
type TPLinkConfigEntry = ConfigEntry[TPLinkData]
|
20
|
+
|
11
21
|
REQUEST_REFRESH_DELAY: float
|
12
22
|
|
13
23
|
class TPLinkDataUpdateCoordinator(DataUpdateCoordinator[None]):
|
14
|
-
config_entry:
|
24
|
+
config_entry: TPLinkConfigEntry
|
15
25
|
device: Incomplete
|
16
|
-
|
26
|
+
_update_children: Incomplete
|
27
|
+
_previous_child_device_ids: Incomplete
|
28
|
+
removed_child_device_ids: set[str]
|
29
|
+
_child_coordinators: dict[str, TPLinkDataUpdateCoordinator]
|
30
|
+
def __init__(self, hass: HomeAssistant, device: Device, update_interval: timedelta, config_entry: TPLinkConfigEntry) -> None: ...
|
17
31
|
async def _async_update_data(self) -> None: ...
|
32
|
+
async def _process_child_devices(self) -> None: ...
|
33
|
+
def get_child_coordinator(self, child: Device) -> TPLinkDataUpdateCoordinator: ...
|
@@ -1,11 +1,13 @@
|
|
1
|
+
from . import legacy_device_id as legacy_device_id
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .entity import
|
3
|
+
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, TPLinkEntityDescription as TPLinkEntityDescription
|
3
4
|
from collections.abc import Sequence
|
4
5
|
from dataclasses import dataclass
|
5
6
|
from homeassistant.components.automation import automations_with_entity as automations_with_entity
|
6
7
|
from homeassistant.components.script import scripts_with_entity as scripts_with_entity
|
7
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
9
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
10
|
+
from kasa import Device as Device
|
9
11
|
|
10
12
|
@dataclass(slots=True)
|
11
13
|
class DeprecatedInfo:
|
@@ -13,5 +15,5 @@ class DeprecatedInfo:
|
|
13
15
|
new_platform: str
|
14
16
|
breaks_in_ha_version: str
|
15
17
|
|
16
|
-
def async_check_create_deprecated(hass: HomeAssistant, unique_id: str, entity_description:
|
17
|
-
def
|
18
|
+
def async_check_create_deprecated(hass: HomeAssistant, unique_id: str, entity_description: TPLinkEntityDescription) -> bool: ...
|
19
|
+
def async_process_deprecated(hass: HomeAssistant, platform_domain: str, entry_id: str, entities: Sequence[CoordinatedTPLinkEntity], device: Device) -> None: ...
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import abc
|
2
2
|
from . import get_device_name as get_device_name, legacy_device_id as legacy_device_id
|
3
3
|
from .const import ATTR_CURRENT_A as ATTR_CURRENT_A, ATTR_CURRENT_POWER_W as ATTR_CURRENT_POWER_W, ATTR_TODAY_ENERGY_KWH as ATTR_TODAY_ENERGY_KWH, ATTR_TOTAL_ENERGY_KWH as ATTR_TOTAL_ENERGY_KWH, DOMAIN as DOMAIN, PRIMARY_STATE_ID as PRIMARY_STATE_ID
|
4
|
-
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
5
|
-
from .deprecate import DeprecatedInfo as DeprecatedInfo, async_check_create_deprecated as async_check_create_deprecated
|
4
|
+
from .coordinator import TPLinkConfigEntry as TPLinkConfigEntry, TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
5
|
+
from .deprecate import DeprecatedInfo as DeprecatedInfo, async_check_create_deprecated as async_check_create_deprecated, async_process_deprecated as async_process_deprecated
|
6
6
|
from _typeshed import Incomplete
|
7
7
|
from abc import ABC, abstractmethod
|
8
|
-
from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
|
8
|
+
from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable, Mapping
|
9
9
|
from dataclasses import dataclass
|
10
10
|
from homeassistant.const import EntityCategory as EntityCategory
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
@@ -25,25 +25,32 @@ EXCLUDED_FEATURES: Incomplete
|
|
25
25
|
LEGACY_KEY_MAPPING: Incomplete
|
26
26
|
|
27
27
|
@dataclass(frozen=True, kw_only=True)
|
28
|
-
class
|
28
|
+
class TPLinkEntityDescription(EntityDescription):
|
29
29
|
deprecated_info: DeprecatedInfo | None = ...
|
30
30
|
available_fn: Callable[[Device], bool] = ...
|
31
31
|
|
32
32
|
@dataclass(frozen=True, kw_only=True)
|
33
|
-
class
|
34
|
-
|
35
|
-
|
33
|
+
class TPLinkFeatureEntityDescription(TPLinkEntityDescription): ...
|
34
|
+
|
35
|
+
@dataclass(frozen=True, kw_only=True)
|
36
|
+
class TPLinkModuleEntityDescription(TPLinkEntityDescription):
|
37
|
+
exists_fn: Callable[[Device, TPLinkConfigEntry], bool]
|
38
|
+
unique_id_fn: Callable[[Device, TPLinkModuleEntityDescription], str] = ...
|
39
|
+
entity_name_fn: Callable[[Device, TPLinkModuleEntityDescription], str | None] | None = ...
|
36
40
|
|
37
41
|
def async_refresh_after[_T: CoordinatedTPLinkEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
38
42
|
|
39
43
|
class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator], ABC, metaclass=abc.ABCMeta):
|
40
44
|
_attr_has_entity_name: bool
|
41
45
|
_device: Device
|
46
|
+
entity_description: TPLinkEntityDescription
|
47
|
+
_parent: Incomplete
|
42
48
|
_feature: Incomplete
|
43
49
|
_attr_device_info: Incomplete
|
44
50
|
_attr_unique_id: Incomplete
|
45
|
-
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature | None = None, parent: Device | None = None) -> None: ...
|
51
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkEntityDescription, *, feature: Feature | None = None, parent: Device | None = None) -> None: ...
|
46
52
|
def _get_unique_id(self) -> str: ...
|
53
|
+
async def async_added_to_hass(self) -> None: ...
|
47
54
|
@abstractmethod
|
48
55
|
@callback
|
49
56
|
def _async_update_attrs(self) -> bool: ...
|
@@ -58,7 +65,7 @@ class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator], AB
|
|
58
65
|
class CoordinatedTPLinkFeatureEntity(CoordinatedTPLinkEntity, ABC, metaclass=abc.ABCMeta):
|
59
66
|
entity_description: TPLinkFeatureEntityDescription
|
60
67
|
_feature: Feature
|
61
|
-
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature,
|
68
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkFeatureEntityDescription, *, feature: Feature, parent: Device | None = None) -> None: ...
|
62
69
|
def _get_unique_id(self) -> str: ...
|
63
70
|
@staticmethod
|
64
71
|
def _get_feature_unique_id(device: Device, entity_description: TPLinkFeatureEntityDescription) -> str: ...
|
@@ -67,6 +74,18 @@ class CoordinatedTPLinkFeatureEntity(CoordinatedTPLinkEntity, ABC, metaclass=abc
|
|
67
74
|
@classmethod
|
68
75
|
def _description_for_feature[_D: EntityDescription](cls, feature: Feature, descriptions: Mapping[str, _D], *, device: Device, parent: Device | None = None) -> _D | None: ...
|
69
76
|
@classmethod
|
70
|
-
def _entities_for_device[_E: CoordinatedTPLinkFeatureEntity, _D: TPLinkFeatureEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D], parent: Device | None = None) -> list[_E]: ...
|
77
|
+
def _entities_for_device[_E: CoordinatedTPLinkFeatureEntity, _D: TPLinkFeatureEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D], platform_domain: str, parent: Device | None = None) -> list[_E]: ...
|
71
78
|
@classmethod
|
72
|
-
def entities_for_device_and_its_children[_E: CoordinatedTPLinkFeatureEntity, _D: TPLinkFeatureEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D],
|
79
|
+
def entities_for_device_and_its_children[_E: CoordinatedTPLinkFeatureEntity, _D: TPLinkFeatureEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D], platform_domain: str, known_child_device_ids: set[str], first_check: bool) -> list[_E]: ...
|
80
|
+
|
81
|
+
class CoordinatedTPLinkModuleEntity(CoordinatedTPLinkEntity, ABC, metaclass=abc.ABCMeta):
|
82
|
+
entity_description: TPLinkModuleEntityDescription
|
83
|
+
_attr_name: Incomplete
|
84
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkModuleEntityDescription, *, parent: Device | None = None) -> None: ...
|
85
|
+
def _get_unique_id(self) -> str: ...
|
86
|
+
@classmethod
|
87
|
+
def _entities_for_device[_E: CoordinatedTPLinkModuleEntity, _D: TPLinkModuleEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, entity_class: type[_E], descriptions: Iterable[_D], platform_domain: str, parent: Device | None = None) -> list[_E]: ...
|
88
|
+
@classmethod
|
89
|
+
def entities_for_device_and_its_children[_E: CoordinatedTPLinkModuleEntity, _D: TPLinkModuleEntityDescription](cls, hass: HomeAssistant, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, entity_class: type[_E], descriptions: Iterable[_D], platform_domain: str, known_child_device_ids: set[str], first_check: bool) -> list[_E]: ...
|
90
|
+
|
91
|
+
def _get_new_children(device: Device, coordinator: TPLinkDataUpdateCoordinator, known_child_device_ids: set[str], entity_class_name: str) -> list[Device]: ...
|
@@ -1,28 +1,36 @@
|
|
1
|
-
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
|
2
2
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
|
-
from .entity import
|
3
|
+
from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription, async_refresh_after as async_refresh_after
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.fan import FanEntity as FanEntity, FanEntityDescription as FanEntityDescription, FanEntityFeature as FanEntityFeature
|
6
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
10
|
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|
9
11
|
from homeassistant.util.scaling import int_states_in_range as int_states_in_range
|
10
12
|
from kasa import Device as Device
|
11
|
-
from kasa.interfaces import Fan as FanInterface
|
12
13
|
from typing import Any
|
13
14
|
|
15
|
+
PARALLEL_UPDATES: int
|
14
16
|
_LOGGER: Incomplete
|
15
17
|
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class TPLinkFanEntityDescription(FanEntityDescription, TPLinkModuleEntityDescription):
|
20
|
+
unique_id_fn: Callable[[Device, TPLinkModuleEntityDescription], str] = ...
|
21
|
+
|
22
|
+
FAN_DESCRIPTIONS: tuple[TPLinkFanEntityDescription, ...]
|
23
|
+
|
16
24
|
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
25
|
|
18
26
|
SPEED_RANGE: Incomplete
|
19
27
|
|
20
|
-
class TPLinkFanEntity(
|
28
|
+
class TPLinkFanEntity(CoordinatedTPLinkModuleEntity, FanEntity):
|
21
29
|
_attr_speed_count: Incomplete
|
22
30
|
_attr_supported_features: Incomplete
|
31
|
+
entity_description: TPLinkFanEntityDescription
|
23
32
|
fan_module: Incomplete
|
24
|
-
|
25
|
-
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, fan_module: FanInterface, parent: Device | None = None) -> None: ...
|
33
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkFanEntityDescription, *, parent: Device | None = None) -> None: ...
|
26
34
|
@async_refresh_after
|
27
35
|
async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
|
28
36
|
@async_refresh_after
|