homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/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/entity.pyi +2 -0
- 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 +6 -2
- homeassistant-stubs/components/backup/agent.pyi +6 -4
- homeassistant-stubs/components/backup/backup.pyi +1 -0
- homeassistant-stubs/components/backup/config.pyi +44 -1
- homeassistant-stubs/components/backup/http.pyi +7 -0
- homeassistant-stubs/components/backup/manager.pyi +42 -20
- homeassistant-stubs/components/backup/models.pyi +10 -3
- homeassistant-stubs/components/backup/store.pyi +7 -2
- homeassistant-stubs/components/backup/util.pyi +83 -0
- homeassistant-stubs/components/backup/websocket.pyi +5 -2
- 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 +4 -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/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 +38 -0
- homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/const.pyi +4 -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 +1 -0
- 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 +5 -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_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 +2 -0
- homeassistant-stubs/components/mcp_server/http.pyi +31 -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/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 +25 -0
- homeassistant-stubs/components/onedrive/api.pyi +20 -0
- homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
- homeassistant-stubs/components/onedrive/backup.pyi +40 -0
- homeassistant-stubs/components/onedrive/config_flow.pyi +19 -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 +1 -0
- homeassistant-stubs/components/reolink/config_flow.pyi +6 -2
- homeassistant-stubs/components/reolink/entity.pyi +1 -1
- homeassistant-stubs/components/reolink/host.pyi +3 -0
- homeassistant-stubs/components/reolink/switch.pyi +5 -1
- homeassistant-stubs/components/reolink/util.pyi +2 -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 +2 -0
- homeassistant-stubs/components/roborock/const.pyi +4 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +8 -4
- homeassistant-stubs/components/roborock/image.pyi +10 -11
- homeassistant-stubs/components/roborock/roborock_storage.pyi +21 -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/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 +2 -2
- 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 +34 -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/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/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 +17 -7
- 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 +3 -5
- 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.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/METADATA +4 -4
- {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/RECORD +719 -584
- 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.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -7,7 +7,7 @@ from homeassistant.helpers.entity import ToggleEntity as ToggleEntity, ToggleEnt
|
|
7
7
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
8
8
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
9
9
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
10
|
-
from propcache import cached_property
|
10
|
+
from propcache.api import cached_property
|
11
11
|
from typing import Any, TypedDict, final
|
12
12
|
|
13
13
|
_LOGGER: Incomplete
|
@@ -3,10 +3,11 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
4
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_USERNAME as CONF_USERNAME
|
5
5
|
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
6
|
+
from slack_sdk.web.async_client import AsyncSlackResponse as AsyncSlackResponse
|
6
7
|
|
7
8
|
_LOGGER: Incomplete
|
8
9
|
CONFIG_SCHEMA: Incomplete
|
9
10
|
|
10
11
|
class SlackFlowHandler(ConfigFlow, domain=DOMAIN):
|
11
12
|
async def async_step_user(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
12
|
-
async def _async_try_connect(self, token: str) -> tuple[str, None] | tuple[None,
|
13
|
+
async def _async_try_connect(self, token: str) -> tuple[str, None] | tuple[None, AsyncSlackResponse]: ...
|
@@ -3,13 +3,11 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
4
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
5
5
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
6
|
-
from
|
6
|
+
from slack_sdk.web.async_client import AsyncWebClient as AsyncWebClient
|
7
7
|
|
8
8
|
class SlackEntity(Entity):
|
9
|
-
|
10
|
-
_attr_has_entity_name: bool
|
11
|
-
_client: Incomplete
|
9
|
+
_client: AsyncWebClient
|
12
10
|
entity_description: Incomplete
|
13
11
|
_attr_unique_id: Incomplete
|
14
12
|
_attr_device_info: Incomplete
|
15
|
-
def __init__(self, data: dict[str,
|
13
|
+
def __init__(self, data: dict[str, AsyncWebClient], description: EntityDescription, entry: ConfigEntry) -> None: ...
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from .const import ATTR_BLOCKS as ATTR_BLOCKS, ATTR_BLOCKS_TEMPLATE as ATTR_BLOCKS_TEMPLATE, ATTR_FILE as ATTR_FILE, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_PATH as ATTR_PATH, ATTR_THREAD_TS as ATTR_THREAD_TS, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, CONF_DEFAULT_CHANNEL as CONF_DEFAULT_CHANNEL, DATA_CLIENT as DATA_CLIENT, SLACK_DATA as SLACK_DATA
|
2
|
+
from .utils import upload_file_to_slack as upload_file_to_slack
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from aiohttp import BasicAuth
|
4
5
|
from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_TARGET as ATTR_TARGET, ATTR_TITLE as ATTR_TITLE, BaseNotificationService as BaseNotificationService
|
@@ -6,7 +7,7 @@ from homeassistant.const import ATTR_ICON as ATTR_ICON, CONF_PATH as CONF_PATH
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
8
|
from homeassistant.helpers import aiohttp_client as aiohttp_client, template as template
|
8
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
9
|
-
from
|
10
|
+
from slack_sdk.web.async_client import AsyncWebClient as AsyncWebClient
|
10
11
|
from typing import Any, TypedDict
|
11
12
|
|
12
13
|
_LOGGER: Incomplete
|
@@ -46,8 +47,9 @@ class SlackNotificationService(BaseNotificationService):
|
|
46
47
|
_hass: Incomplete
|
47
48
|
_client: Incomplete
|
48
49
|
_config: Incomplete
|
49
|
-
def __init__(self, hass: HomeAssistant, client:
|
50
|
+
def __init__(self, hass: HomeAssistant, client: AsyncWebClient, config: dict[str, str]) -> None: ...
|
50
51
|
async def _async_send_local_file_message(self, path: str, targets: list[str], message: str, title: str | None, thread_ts: str | None) -> None: ...
|
51
52
|
async def _async_send_remote_file_message(self, url: str, targets: list[str], message: str, title: str | None, thread_ts: str | None, *, username: str | None = None, password: str | None = None) -> None: ...
|
52
53
|
async def _async_send_text_only_message(self, targets: list[str], message: str, title: str | None, thread_ts: str | None, *, username: str | None = None, icon: str | None = None, blocks: Any | None = None) -> None: ...
|
53
54
|
async def async_send_message(self, message: str, **kwargs: Any) -> None: ...
|
55
|
+
async def _async_get_channel_id(self, channel_name: str) -> str | None: ...
|
@@ -5,11 +5,11 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
-
from
|
8
|
+
from slack_sdk.web.async_client import AsyncWebClient as AsyncWebClient
|
9
9
|
|
10
10
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
11
11
|
|
12
12
|
class SlackSensorEntity(SlackEntity, SensorEntity):
|
13
|
-
_client:
|
13
|
+
_client: AsyncWebClient
|
14
14
|
_attr_native_value: Incomplete
|
15
15
|
async def async_update(self) -> None: ...
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from slack_sdk.web.async_client import AsyncWebClient as AsyncWebClient
|
3
|
+
|
4
|
+
_LOGGER: Incomplete
|
5
|
+
|
6
|
+
async def upload_file_to_slack(client: AsyncWebClient, channel_ids: list[str | None], file_content: bytes | str | None, filename: str, title: str | None, message: str, thread_ts: str | None, file_path: str | None = None) -> None: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, HOME_LOCATION_NAME as HOME_LOCATION_NAME
|
2
2
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
3
|
-
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE
|
3
|
+
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
5
|
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
6
6
|
from homeassistant.helpers.selector import LocationSelector as LocationSelector
|
@@ -5,13 +5,13 @@ from collections.abc import Mapping
|
|
5
5
|
from datetime import datetime
|
6
6
|
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, WeatherEntity as WeatherEntity, WeatherEntityFeature as WeatherEntityFeature
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
-
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE,
|
8
|
+
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers import aiohttp_client as aiohttp_client, sun as sun
|
11
11
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
13
|
from homeassistant.helpers.event import async_call_later as async_call_later
|
14
|
-
from homeassistant.util import Throttle as Throttle
|
14
|
+
from homeassistant.util import Throttle as Throttle
|
15
15
|
from smhi.smhi_lib import SmhiForecast as SmhiForecast
|
16
16
|
from typing import Any, Final
|
17
17
|
|
@@ -40,7 +40,7 @@ class SmhiWeather(WeatherEntity):
|
|
40
40
|
_fail_count: int
|
41
41
|
_smhi_api: Incomplete
|
42
42
|
_attr_device_info: Incomplete
|
43
|
-
def __init__(self,
|
43
|
+
def __init__(self, latitude: str, longitude: str, session: aiohttp.ClientSession) -> None: ...
|
44
44
|
@property
|
45
45
|
def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
|
46
46
|
_attr_native_temperature: Incomplete
|
@@ -1,11 +1,11 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant.components import zeroconf as zeroconf
|
5
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
6
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
6
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
8
7
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
8
|
+
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
9
9
|
from pysmlight import Api2
|
10
10
|
from typing import Any
|
11
11
|
|
@@ -18,7 +18,7 @@ class SmlightConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
18
18
|
def __init__(self) -> None: ...
|
19
19
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
20
|
async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
21
|
-
async def async_step_zeroconf(self, discovery_info:
|
21
|
+
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
22
22
|
async def async_step_confirm_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
23
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
24
24
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -2,4 +2,4 @@ from .browse_media import async_browse_media as async_browse_media
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from .util import is_spotify_media_type as is_spotify_media_type, resolve_spotify_media_type as resolve_spotify_media_type, spotify_uri_from_media_browser_url as spotify_uri_from_media_browser_url
|
4
4
|
|
5
|
-
__all__ = ['
|
5
|
+
__all__ = ['DOMAIN', 'async_browse_media', 'is_spotify_media_type', 'resolve_spotify_media_type', 'spotify_uri_from_media_browser_url']
|
@@ -6,7 +6,7 @@ from homeassistant.components.media_player import BrowseError as BrowseError, Br
|
|
6
6
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from spotifyaio import Artist as Artist, BasePlaylist as BasePlaylist, SimplifiedAlbum as SimplifiedAlbum, SimplifiedTrack as SimplifiedTrack, SpotifyClient as SpotifyClient
|
9
|
-
from spotifyaio.models import SimplifiedEpisode
|
9
|
+
from spotifyaio.models import SimplifiedEpisode as SimplifiedEpisode
|
10
10
|
from typing import Any, TypedDict
|
11
11
|
|
12
12
|
BROWSE_LIMIT: int
|
@@ -10,6 +10,7 @@ from spotifyaio import PlaybackState as PlaybackState, Playlist as Playlist, Spo
|
|
10
10
|
|
11
11
|
_LOGGER: Incomplete
|
12
12
|
type SpotifyConfigEntry = ConfigEntry[SpotifyData]
|
13
|
+
UPDATE_INTERVAL: Incomplete
|
13
14
|
|
14
15
|
@dataclass
|
15
16
|
class SpotifyCoordinatorData:
|
@@ -28,4 +29,5 @@ class SpotifyCoordinator(DataUpdateCoordinator[SpotifyCoordinatorData]):
|
|
28
29
|
_checked_playlist_id: str | None
|
29
30
|
def __init__(self, hass: HomeAssistant, client: SpotifyClient) -> None: ...
|
30
31
|
async def _async_setup(self) -> None: ...
|
32
|
+
update_interval: Incomplete
|
31
33
|
async def _async_update_data(self) -> SpotifyCoordinatorData: ...
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .const import CONF_HTTPS as CONF_HTTPS, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.components import dhcp as dhcp
|
5
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
6
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
7
6
|
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
8
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
8
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
9
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
10
10
|
from typing import Any
|
11
11
|
|
12
12
|
_LOGGER: Incomplete
|
@@ -24,4 +24,4 @@ class SqueezeboxConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
24
24
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
25
|
async def async_step_edit(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
26
|
async def async_step_integration_discovery(self, discovery_info: dict[str, Any]) -> ConfigFlowResult: ...
|
27
|
-
async def async_step_dhcp(self, discovery_info:
|
27
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
@@ -5,17 +5,17 @@ from async_upnp_client.server import UpnpServer, UpnpServerDevice, UpnpServerSer
|
|
5
5
|
from async_upnp_client.ssdp_listener import SsdpDevice as SsdpDevice, SsdpListener
|
6
6
|
from async_upnp_client.utils import CaseInsensitiveDict
|
7
7
|
from collections.abc import Callable as Callable, Coroutine, Mapping
|
8
|
-
from dataclasses import dataclass, field
|
9
8
|
from homeassistant import config_entries as config_entries
|
10
9
|
from homeassistant.components import network as network
|
11
10
|
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, MATCH_ALL as MATCH_ALL
|
12
11
|
from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as core_callback
|
13
|
-
from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
|
14
12
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
15
13
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
14
|
+
from homeassistant.helpers.deprecation import DeprecatedConstant as DeprecatedConstant, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
16
15
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
17
16
|
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
18
17
|
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
18
|
+
from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo as _SsdpServiceInfo
|
19
19
|
from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
|
20
20
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
21
21
|
from homeassistant.loader import async_get_ssdp as async_get_ssdp, bind_hass as bind_hass
|
@@ -40,57 +40,43 @@ ATTR_SSDP_EXT: str
|
|
40
40
|
ATTR_SSDP_SERVER: str
|
41
41
|
ATTR_SSDP_BOOTID: str
|
42
42
|
ATTR_SSDP_NEXTBOOTID: str
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
43
|
+
_DEPRECATED_ATTR_ST: Incomplete
|
44
|
+
_DEPRECATED_ATTR_NT: Incomplete
|
45
|
+
_DEPRECATED_ATTR_UPNP_DEVICE_TYPE: Incomplete
|
46
|
+
_DEPRECATED_ATTR_UPNP_FRIENDLY_NAME: Incomplete
|
47
|
+
_DEPRECATED_ATTR_UPNP_MANUFACTURER: Incomplete
|
48
|
+
_DEPRECATED_ATTR_UPNP_MANUFACTURER_URL: Incomplete
|
49
|
+
_DEPRECATED_ATTR_UPNP_MODEL_DESCRIPTION: Incomplete
|
50
|
+
_DEPRECATED_ATTR_UPNP_MODEL_NAME: Incomplete
|
51
|
+
_DEPRECATED_ATTR_UPNP_MODEL_NUMBER: Incomplete
|
52
|
+
_DEPRECATED_ATTR_UPNP_MODEL_URL: Incomplete
|
53
|
+
_DEPRECATED_ATTR_UPNP_SERIAL: Incomplete
|
54
|
+
_DEPRECATED_ATTR_UPNP_SERVICE_LIST: Incomplete
|
55
|
+
_DEPRECATED_ATTR_UPNP_UDN: Incomplete
|
56
|
+
_DEPRECATED_ATTR_UPNP_UPC: Incomplete
|
57
|
+
_DEPRECATED_ATTR_UPNP_PRESENTATION_URL: Incomplete
|
58
58
|
ATTR_HA_MATCHING_DOMAINS: str
|
59
59
|
PRIMARY_MATCH_KEYS: Incomplete
|
60
60
|
_LOGGER: Incomplete
|
61
61
|
CONFIG_SCHEMA: Incomplete
|
62
|
-
|
63
|
-
@dataclass(slots=True)
|
64
|
-
class SsdpServiceInfo(BaseServiceInfo):
|
65
|
-
ssdp_usn: str
|
66
|
-
ssdp_st: str
|
67
|
-
upnp: Mapping[str, Any]
|
68
|
-
ssdp_location: str | None = ...
|
69
|
-
ssdp_nt: str | None = ...
|
70
|
-
ssdp_udn: str | None = ...
|
71
|
-
ssdp_ext: str | None = ...
|
72
|
-
ssdp_server: str | None = ...
|
73
|
-
ssdp_headers: Mapping[str, Any] = field(default_factory=dict)
|
74
|
-
ssdp_all_locations: set[str] = field(default_factory=set)
|
75
|
-
x_homeassistant_matching_domains: set[str] = field(default_factory=set)
|
76
|
-
|
62
|
+
_DEPRECATED_SsdpServiceInfo: Incomplete
|
77
63
|
SsdpChange: Incomplete
|
78
|
-
type SsdpHassJobCallback = HassJob[[
|
64
|
+
type SsdpHassJobCallback = HassJob[[_SsdpServiceInfo, SsdpChange], Coroutine[Any, Any, None] | None]
|
79
65
|
SSDP_SOURCE_SSDP_CHANGE_MAPPING: Mapping[SsdpSource, SsdpChange]
|
80
66
|
|
81
67
|
def _format_err(name: str, *args: Any) -> str: ...
|
82
68
|
@bind_hass
|
83
|
-
async def async_register_callback(hass: HomeAssistant, callback: Callable[[
|
69
|
+
async def async_register_callback(hass: HomeAssistant, callback: Callable[[_SsdpServiceInfo, SsdpChange], Coroutine[Any, Any, None] | None], match_dict: dict[str, str] | None = None) -> Callable[[], None]: ...
|
84
70
|
@bind_hass
|
85
|
-
async def async_get_discovery_info_by_udn_st(hass: HomeAssistant, udn: str, st: str) ->
|
71
|
+
async def async_get_discovery_info_by_udn_st(hass: HomeAssistant, udn: str, st: str) -> _SsdpServiceInfo | None: ...
|
86
72
|
@bind_hass
|
87
|
-
async def async_get_discovery_info_by_st(hass: HomeAssistant, st: str) -> list[
|
73
|
+
async def async_get_discovery_info_by_st(hass: HomeAssistant, st: str) -> list[_SsdpServiceInfo]: ...
|
88
74
|
@bind_hass
|
89
|
-
async def async_get_discovery_info_by_udn(hass: HomeAssistant, udn: str) -> list[
|
75
|
+
async def async_get_discovery_info_by_udn(hass: HomeAssistant, udn: str) -> list[_SsdpServiceInfo]: ...
|
90
76
|
async def async_build_source_set(hass: HomeAssistant) -> set[IPv4Address | IPv6Address]: ...
|
91
77
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
92
78
|
@core_callback
|
93
|
-
def _async_process_callbacks(hass: HomeAssistant, callbacks: list[SsdpHassJobCallback], discovery_info:
|
79
|
+
def _async_process_callbacks(hass: HomeAssistant, callbacks: list[SsdpHassJobCallback], discovery_info: _SsdpServiceInfo, ssdp_change: SsdpChange) -> None: ...
|
94
80
|
@core_callback
|
95
81
|
def _async_headers_match(headers: CaseInsensitiveDict, lower_match_dict: dict[str, str]) -> bool: ...
|
96
82
|
|
@@ -126,16 +112,16 @@ class Scanner:
|
|
126
112
|
def _ssdp_listener_callback(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource) -> None: ...
|
127
113
|
async def _ssdp_listener_process_callback_with_lookup(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource) -> None: ...
|
128
114
|
def _ssdp_listener_process_callback(self, ssdp_device: SsdpDevice, dst: DeviceOrServiceType, source: SsdpSource, info_desc: Mapping[str, Any], skip_callbacks: bool = False) -> None: ...
|
129
|
-
def _async_dismiss_discoveries(self, byebye_discovery_info:
|
115
|
+
def _async_dismiss_discoveries(self, byebye_discovery_info: _SsdpServiceInfo) -> None: ...
|
130
116
|
async def _async_get_description_dict(self, location: str | None) -> Mapping[str, str]: ...
|
131
|
-
async def _async_headers_to_discovery_info(self, ssdp_device: SsdpDevice, headers: CaseInsensitiveDict) ->
|
132
|
-
async def async_get_discovery_info_by_udn_st(self, udn: str, st: str) ->
|
133
|
-
async def async_get_discovery_info_by_st(self, st: str) -> list[
|
134
|
-
async def async_get_discovery_info_by_udn(self, udn: str) -> list[
|
117
|
+
async def _async_headers_to_discovery_info(self, ssdp_device: SsdpDevice, headers: CaseInsensitiveDict) -> _SsdpServiceInfo: ...
|
118
|
+
async def async_get_discovery_info_by_udn_st(self, udn: str, st: str) -> _SsdpServiceInfo | None: ...
|
119
|
+
async def async_get_discovery_info_by_st(self, st: str) -> list[_SsdpServiceInfo]: ...
|
120
|
+
async def async_get_discovery_info_by_udn(self, udn: str) -> list[_SsdpServiceInfo]: ...
|
135
121
|
@core_callback
|
136
122
|
def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
|
137
123
|
|
138
|
-
def discovery_info_from_headers_and_description(ssdp_device: SsdpDevice, combined_headers: CaseInsensitiveDict, info_desc: Mapping[str, Any]) ->
|
124
|
+
def discovery_info_from_headers_and_description(ssdp_device: SsdpDevice, combined_headers: CaseInsensitiveDict, info_desc: Mapping[str, Any]) -> _SsdpServiceInfo: ...
|
139
125
|
def _udn_from_usn(usn: str | None) -> str | None: ...
|
140
126
|
|
141
127
|
class HassUpnpServiceDevice(UpnpServerDevice):
|
@@ -154,3 +140,7 @@ class Server:
|
|
154
140
|
async def _async_start_upnp_servers(self, event: Event) -> None: ...
|
155
141
|
async def async_stop(self, *_: Any) -> None: ...
|
156
142
|
async def _async_stop_upnp_servers(self) -> None: ...
|
143
|
+
|
144
|
+
__getattr__: Incomplete
|
145
|
+
__dir__: Incomplete
|
146
|
+
__all__: Incomplete
|
@@ -19,6 +19,7 @@ class StarlinkData:
|
|
19
19
|
|
20
20
|
class StarlinkUpdateCoordinator(DataUpdateCoordinator[StarlinkData]):
|
21
21
|
channel_context: Incomplete
|
22
|
+
history_stats_start: Incomplete
|
22
23
|
timezone: Incomplete
|
23
24
|
def __init__(self, hass: HomeAssistant, name: str, url: str) -> None: ...
|
24
25
|
def _get_starlink_data(self) -> StarlinkData: ...
|
@@ -2,11 +2,11 @@ from .const import CONNECTION_EXCEPTIONS as CONNECTION_EXCEPTIONS, DISCOVER_SCAN
|
|
2
2
|
from .discovery import async_discover_device as async_discover_device, async_discover_devices as async_discover_devices, async_is_steamist_device as async_is_steamist_device, async_update_entry_from_discovery as async_update_entry_from_discovery
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from discovery30303 import Device30303
|
5
|
-
from homeassistant.components import dhcp as dhcp
|
6
5
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
7
6
|
from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME
|
8
7
|
from homeassistant.core import callback as callback
|
9
8
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
|
+
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
10
10
|
from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
|
11
11
|
from typing import Any, Self
|
12
12
|
|
@@ -18,7 +18,7 @@ class SteamistConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
18
18
|
_discovered_devices: dict[str, Device30303]
|
19
19
|
_discovered_device: Device30303 | None
|
20
20
|
def __init__(self) -> None: ...
|
21
|
-
async def async_step_dhcp(self, discovery_info:
|
21
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
22
22
|
async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
|
23
23
|
async def _async_handle_discovery(self) -> ConfigFlowResult: ...
|
24
24
|
def is_matching(self, other_flow: Self) -> bool: ...
|
@@ -1,26 +1,14 @@
|
|
1
1
|
import threading
|
2
|
-
from .const import ATTR_SETTINGS as ATTR_SETTINGS, CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME, CONF_RTSP_TRANSPORT as CONF_RTSP_TRANSPORT, CONF_USE_WALLCLOCK_AS_TIMESTAMPS as CONF_USE_WALLCLOCK_AS_TIMESTAMPS, DOMAIN as DOMAIN, FORMAT_CONTENT_TYPE as FORMAT_CONTENT_TYPE, HLS_PROVIDER as HLS_PROVIDER, OUTPUT_FORMATS as OUTPUT_FORMATS, RTSP_TRANSPORTS as RTSP_TRANSPORTS, SOURCE_TIMEOUT as SOURCE_TIMEOUT
|
2
|
+
from .const import ATTR_SETTINGS as ATTR_SETTINGS, CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME, CONF_RTSP_TRANSPORT as CONF_RTSP_TRANSPORT, CONF_USE_WALLCLOCK_AS_TIMESTAMPS as CONF_USE_WALLCLOCK_AS_TIMESTAMPS, DOMAIN as DOMAIN, FORMAT_CONTENT_TYPE as FORMAT_CONTENT_TYPE, HLS_PROVIDER as HLS_PROVIDER, OUTPUT_FORMATS as OUTPUT_FORMATS, RTSP_TRANSPORTS as RTSP_TRANSPORTS, SOURCE_TIMEOUT as SOURCE_TIMEOUT, StreamClientError as StreamClientError
|
3
3
|
from .core import Orientation as Orientation, StreamOutput, StreamSettings
|
4
|
+
from .exceptions import StreamOpenClientError as StreamOpenClientError
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from collections.abc import Callable, Mapping
|
6
|
-
from enum import IntEnum
|
7
7
|
from homeassistant.components.camera import DynamicStreamSettings
|
8
8
|
from homeassistant.core import HomeAssistant, callback
|
9
|
-
from homeassistant.exceptions import HomeAssistantError
|
10
9
|
from typing import Any
|
11
10
|
|
12
|
-
__all__ = ['ATTR_SETTINGS', 'CONF_EXTRA_PART_WAIT_TIME', 'CONF_RTSP_TRANSPORT', 'CONF_USE_WALLCLOCK_AS_TIMESTAMPS', 'DOMAIN', 'FORMAT_CONTENT_TYPE', 'HLS_PROVIDER', 'OUTPUT_FORMATS', 'RTSP_TRANSPORTS', 'SOURCE_TIMEOUT', 'Stream', '
|
13
|
-
|
14
|
-
class StreamClientError(IntEnum):
|
15
|
-
BadRequest = 400
|
16
|
-
Unauthorized = 401
|
17
|
-
Forbidden = 403
|
18
|
-
NotFound = 404
|
19
|
-
Other = 4
|
20
|
-
|
21
|
-
class StreamOpenClientError(HomeAssistantError):
|
22
|
-
stream_client_error: Incomplete
|
23
|
-
def __init__(self, *args: Any, stream_client_error: StreamClientError, **kwargs: Any) -> None: ...
|
11
|
+
__all__ = ['ATTR_SETTINGS', 'CONF_EXTRA_PART_WAIT_TIME', 'CONF_RTSP_TRANSPORT', 'CONF_USE_WALLCLOCK_AS_TIMESTAMPS', 'DOMAIN', 'FORMAT_CONTENT_TYPE', 'HLS_PROVIDER', 'OUTPUT_FORMATS', 'RTSP_TRANSPORTS', 'SOURCE_TIMEOUT', 'Orientation', 'Stream', 'StreamClientError', 'StreamOpenClientError', 'create_stream']
|
24
12
|
|
25
13
|
def create_stream(hass: HomeAssistant, stream_source: str, options: Mapping[str, str | bool | float], dynamic_stream_settings: DynamicStreamSettings, stream_label: str | None = None) -> Stream: ...
|
26
14
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
|
+
from enum import IntEnum
|
2
3
|
from typing import Final
|
3
4
|
|
4
5
|
DOMAIN: str
|
@@ -28,8 +29,15 @@ STREAM_RESTART_RESET_TIME: int
|
|
28
29
|
CONF_LL_HLS: str
|
29
30
|
CONF_PART_DURATION: str
|
30
31
|
CONF_SEGMENT_DURATION: str
|
31
|
-
|
32
|
+
ATTR_PREFER_TCP: str
|
32
33
|
CONF_RTSP_TRANSPORT: str
|
33
34
|
RTSP_TRANSPORTS: Incomplete
|
34
35
|
CONF_USE_WALLCLOCK_AS_TIMESTAMPS: str
|
35
36
|
CONF_EXTRA_PART_WAIT_TIME: str
|
37
|
+
|
38
|
+
class StreamClientError(IntEnum):
|
39
|
+
BadRequest = 400
|
40
|
+
Unauthorized = 401
|
41
|
+
Forbidden = 403
|
42
|
+
NotFound = 404
|
43
|
+
Other = 4
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .const import StreamClientError as StreamClientError
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
4
|
+
|
5
|
+
class StreamOpenClientError(HomeAssistantError):
|
6
|
+
error_code: Incomplete
|
7
|
+
def __init__(self, message: str, error_code: StreamClientError) -> None: ...
|
8
|
+
|
9
|
+
class StreamWorkerError(Exception):
|
10
|
+
error_code: Incomplete
|
11
|
+
def __init__(self, message: str, error_code: StreamClientError = ...) -> None: ...
|
12
|
+
|
13
|
+
class StreamEndedError(StreamWorkerError): ...
|
@@ -3,12 +3,14 @@ import av.audio
|
|
3
3
|
import av.container
|
4
4
|
import av.stream
|
5
5
|
from . import redact_credentials as redact_credentials
|
6
|
-
from .const import AUDIO_CODECS as AUDIO_CODECS, HLS_PROVIDER as HLS_PROVIDER, MAX_MISSING_DTS as MAX_MISSING_DTS, MAX_TIMESTAMP_GAP as MAX_TIMESTAMP_GAP, PACKETS_TO_WAIT_FOR_AUDIO as PACKETS_TO_WAIT_FOR_AUDIO, SEGMENT_CONTAINER_FORMAT as SEGMENT_CONTAINER_FORMAT, SOURCE_TIMEOUT as SOURCE_TIMEOUT
|
6
|
+
from .const import AUDIO_CODECS as AUDIO_CODECS, HLS_PROVIDER as HLS_PROVIDER, MAX_MISSING_DTS as MAX_MISSING_DTS, MAX_TIMESTAMP_GAP as MAX_TIMESTAMP_GAP, PACKETS_TO_WAIT_FOR_AUDIO as PACKETS_TO_WAIT_FOR_AUDIO, SEGMENT_CONTAINER_FORMAT as SEGMENT_CONTAINER_FORMAT, SOURCE_TIMEOUT as SOURCE_TIMEOUT, StreamClientError as StreamClientError
|
7
7
|
from .core import KeyFrameConverter as KeyFrameConverter, Part as Part, STREAM_SETTINGS_NON_LL_HLS as STREAM_SETTINGS_NON_LL_HLS, Segment as Segment, StreamOutput as StreamOutput, StreamSettings as StreamSettings
|
8
8
|
from .diagnostics import Diagnostics as Diagnostics
|
9
|
+
from .exceptions import StreamEndedError as StreamEndedError, StreamWorkerError as StreamWorkerError
|
9
10
|
from .fmp4utils import read_init as read_init
|
10
11
|
from .hls import HlsStreamOutput as HlsStreamOutput
|
11
12
|
from _typeshed import Incomplete
|
13
|
+
from av.container import InputContainer as InputContainer
|
12
14
|
from collections import deque
|
13
15
|
from collections.abc import Callable as Callable, Generator, Iterator, Mapping
|
14
16
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -19,12 +21,8 @@ from typing import Any, Self
|
|
19
21
|
_LOGGER: Incomplete
|
20
22
|
NEGATIVE_INF: Incomplete
|
21
23
|
|
22
|
-
class StreamWorkerError(Exception): ...
|
23
|
-
|
24
24
|
def redact_av_error_string(err: av.FFmpegError) -> str: ...
|
25
25
|
|
26
|
-
class StreamEndedError(StreamWorkerError): ...
|
27
|
-
|
28
26
|
class StreamState:
|
29
27
|
_stream_id: int
|
30
28
|
hass: Incomplete
|
@@ -89,4 +87,5 @@ class TimestampValidator:
|
|
89
87
|
|
90
88
|
def is_keyframe(packet: av.Packet) -> Any: ...
|
91
89
|
def get_audio_bitstream_filter(packets: Iterator[av.Packet], audio_stream: Any) -> str | None: ...
|
90
|
+
def try_open_stream(source: str, pyav_options: dict[str, str]) -> InputContainer: ...
|
92
91
|
def stream_worker(source: str, pyav_options: dict[str, str], stream_settings: StreamSettings, stream_state: StreamState, keyframe_converter: KeyFrameConverter, quit_event: Event) -> None: ...
|
@@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant, callback
|
|
11
11
|
from homeassistant.helpers.restore_state import RestoreEntity
|
12
12
|
from typing import final
|
13
13
|
|
14
|
-
__all__ = ['
|
14
|
+
__all__ = ['DOMAIN', 'AudioBitRates', 'AudioChannels', 'AudioCodecs', 'AudioFormats', 'AudioSampleRates', 'Provider', 'SpeechMetadata', 'SpeechResult', 'SpeechResultState', 'SpeechToTextEntity', 'async_get_provider', 'async_get_speech_to_text_engine', 'async_get_speech_to_text_entity']
|
15
15
|
|
16
16
|
@callback
|
17
17
|
def async_get_speech_to_text_entity(hass: HomeAssistant, entity_id: str) -> SpeechToTextEntity | None: ...
|
@@ -1,8 +1,12 @@
|
|
1
|
+
from .const import CONF_COUNTER_ID as CONF_COUNTER_ID
|
1
2
|
from .coordinator import SuezWaterConfigEntry as SuezWaterConfigEntry, SuezWaterCoordinator as SuezWaterCoordinator
|
3
|
+
from _typeshed import Incomplete
|
2
4
|
from homeassistant.const import Platform as Platform
|
3
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
6
|
|
5
7
|
PLATFORMS: list[Platform]
|
8
|
+
_LOGGER: Incomplete
|
6
9
|
|
7
10
|
async def async_setup_entry(hass: HomeAssistant, entry: SuezWaterConfigEntry) -> bool: ...
|
8
11
|
async def async_unload_entry(hass: HomeAssistant, entry: SuezWaterConfigEntry) -> bool: ...
|
12
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: SuezWaterConfigEntry) -> bool: ...
|
@@ -9,7 +9,7 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
|
|
9
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
10
10
|
from homeassistant.loader import bind_hass as bind_hass
|
11
11
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
12
|
-
from propcache import cached_property
|
12
|
+
from propcache.api import cached_property
|
13
13
|
|
14
14
|
_LOGGER: Incomplete
|
15
15
|
DATA_COMPONENT: HassKey[EntityComponent[SwitchEntity]]
|
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
|
|
4
4
|
from dataclasses import dataclass, field
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_API_TOKEN as CONF_API_TOKEN, Platform as Platform
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
9
9
|
from switchbot_api import Device, Remote, SwitchBotAPI
|
10
10
|
|
@@ -13,6 +13,7 @@ PLATFORMS: list[Platform]
|
|
13
13
|
|
14
14
|
@dataclass
|
15
15
|
class SwitchbotDevices:
|
16
|
+
buttons: list[Device] = field(default_factory=list)
|
16
17
|
climates: list[Remote] = field(default_factory=list)
|
17
18
|
switches: list[Device | Remote] = field(default_factory=list)
|
18
19
|
sensors: list[Device] = field(default_factory=list)
|
@@ -24,9 +25,8 @@ class SwitchbotCloudData:
|
|
24
25
|
api: SwitchBotAPI
|
25
26
|
devices: SwitchbotDevices
|
26
27
|
|
27
|
-
|
28
|
-
def
|
29
|
-
|
30
|
-
def make_device_data(hass: HomeAssistant, api: SwitchBotAPI, devices: list[Device | Remote], coordinators_by_id: dict[str, SwitchBotCoordinator]) -> SwitchbotDevices: ...
|
28
|
+
async def coordinator_for_device(hass: HomeAssistant, api: SwitchBotAPI, device: Device | Remote, coordinators_by_id: dict[str, SwitchBotCoordinator]) -> SwitchBotCoordinator: ...
|
29
|
+
async def make_switchbot_devices(hass: HomeAssistant, api: SwitchBotAPI, devices: list[Device | Remote], coordinators_by_id: dict[str, SwitchBotCoordinator]) -> SwitchbotDevices: ...
|
30
|
+
async def make_device_data(hass: HomeAssistant, api: SwitchBotAPI, device: Device | Remote, devices_data: SwitchbotDevices, coordinators_by_id: dict[str, SwitchBotCoordinator]) -> None: ...
|
31
31
|
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry) -> bool: ...
|
32
32
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from . import SwitchbotCloudData as SwitchbotCloudData
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
12
|
+
|
13
|
+
class SwitchBotCloudBot(SwitchBotCloudEntity, ButtonEntity):
|
14
|
+
_attr_name: Incomplete
|
15
|
+
@callback
|
16
|
+
def _handle_coordinator_update(self) -> None: ...
|
17
|
+
async def async_press(self, **kwargs: Any) -> None: ...
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
|
+
from homeassistant.core import callback as callback
|
4
5
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
5
6
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
6
7
|
from switchbot_api import Commands as Commands, Device as Device, Remote as Remote, SwitchBotAPI as SwitchBotAPI
|
@@ -14,3 +15,7 @@ class SwitchBotCloudEntity(CoordinatorEntity[SwitchBotCoordinator]):
|
|
14
15
|
_attr_device_info: Incomplete
|
15
16
|
def __init__(self, api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> None: ...
|
16
17
|
async def send_api_command(self, command: Commands, command_type: str = 'command', parameters: dict | str = 'default') -> None: ...
|
18
|
+
@callback
|
19
|
+
def _handle_coordinator_update(self) -> None: ...
|
20
|
+
def _set_attributes(self) -> None: ...
|
21
|
+
async def async_added_to_hass(self) -> None: ...
|
@@ -4,7 +4,7 @@ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
|
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.lock import LockEntity as LockEntity
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
9
|
from typing import Any
|
10
10
|
|
@@ -13,7 +13,6 @@ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_
|
|
13
13
|
class SwitchBotCloudLock(SwitchBotCloudEntity, LockEntity):
|
14
14
|
_attr_name: Incomplete
|
15
15
|
_attr_is_locked: Incomplete
|
16
|
-
|
17
|
-
def _handle_coordinator_update(self) -> None: ...
|
16
|
+
def _set_attributes(self) -> None: ...
|
18
17
|
async def async_lock(self, **kwargs: Any) -> None: ...
|
19
18
|
async def async_unlock(self, **kwargs: Any) -> None: ...
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
|
12
12
|
|
@@ -21,8 +21,9 @@ TEMPERATURE_DESCRIPTION: Incomplete
|
|
21
21
|
HUMIDITY_DESCRIPTION: Incomplete
|
22
22
|
BATTERY_DESCRIPTION: Incomplete
|
23
23
|
POWER_DESCRIPTION: Incomplete
|
24
|
-
|
25
|
-
|
24
|
+
VOLTAGE_DESCRIPTION: Incomplete
|
25
|
+
CURRENT_DESCRIPTION_IN_MA: Incomplete
|
26
|
+
CURRENT_DESCRIPTION_IN_A: Incomplete
|
26
27
|
CO2_DESCRIPTION: Incomplete
|
27
28
|
SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
|
28
29
|
|
@@ -33,5 +34,4 @@ class SwitchBotCloudSensor(SwitchBotCloudEntity, SensorEntity):
|
|
33
34
|
_attr_unique_id: Incomplete
|
34
35
|
def __init__(self, api: SwitchBotAPI, device: Device, coordinator: SwitchBotCoordinator, description: SensorEntityDescription) -> None: ...
|
35
36
|
_attr_native_value: Incomplete
|
36
|
-
|
37
|
-
def _handle_coordinator_update(self) -> None: ...
|
37
|
+
def _set_attributes(self) -> None: ...
|