homeassistant-stubs 2025.1.4__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/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.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
- {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +728 -593
- 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.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,83 @@
|
|
1
|
+
import abc
|
2
|
+
from .const import CONF_ALLOW_SINGLE_WORD as CONF_ALLOW_SINGLE_WORD, CONF_ICON as CONF_ICON, CONF_URL_PATH as CONF_URL_PATH, ConfigNotFound as ConfigNotFound, DOMAIN as DOMAIN, EVENT_LOVELACE_UPDATED as EVENT_LOVELACE_UPDATED, LOVELACE_CONFIG_FILE as LOVELACE_CONFIG_FILE, LOVELACE_DATA as LOVELACE_DATA, MODE_STORAGE as MODE_STORAGE, MODE_YAML as MODE_YAML, STORAGE_DASHBOARD_CREATE_FIELDS as STORAGE_DASHBOARD_CREATE_FIELDS, STORAGE_DASHBOARD_UPDATE_FIELDS as STORAGE_DASHBOARD_UPDATE_FIELDS
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from abc import ABC, abstractmethod
|
5
|
+
from homeassistant.components import websocket_api as websocket_api
|
6
|
+
from homeassistant.components.frontend import DATA_PANELS as DATA_PANELS
|
7
|
+
from homeassistant.const import CONF_FILENAME as CONF_FILENAME
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers import collection as collection, storage as storage
|
11
|
+
from homeassistant.helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
|
12
|
+
from homeassistant.util.yaml import Secrets as Secrets, load_yaml_dict as load_yaml_dict
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
CONFIG_STORAGE_KEY_DEFAULT = DOMAIN
|
16
|
+
CONFIG_STORAGE_KEY: str
|
17
|
+
CONFIG_STORAGE_VERSION: int
|
18
|
+
DASHBOARDS_STORAGE_KEY: Incomplete
|
19
|
+
DASHBOARDS_STORAGE_VERSION: int
|
20
|
+
_LOGGER: Incomplete
|
21
|
+
|
22
|
+
class LovelaceConfig(ABC, metaclass=abc.ABCMeta):
|
23
|
+
hass: Incomplete
|
24
|
+
config: dict[str, Any] | None
|
25
|
+
def __init__(self, hass: HomeAssistant, url_path: str | None, config: dict[str, Any] | None) -> None: ...
|
26
|
+
@property
|
27
|
+
def url_path(self) -> str | None: ...
|
28
|
+
@property
|
29
|
+
@abstractmethod
|
30
|
+
def mode(self) -> str: ...
|
31
|
+
@abstractmethod
|
32
|
+
async def async_get_info(self) -> dict[str, Any]: ...
|
33
|
+
@abstractmethod
|
34
|
+
async def async_load(self, force: bool) -> dict[str, Any]: ...
|
35
|
+
async def async_save(self, config: dict[str, Any]) -> None: ...
|
36
|
+
async def async_delete(self) -> None: ...
|
37
|
+
@abstractmethod
|
38
|
+
async def async_json(self, force: bool) -> json_fragment: ...
|
39
|
+
@callback
|
40
|
+
def _config_updated(self) -> None: ...
|
41
|
+
|
42
|
+
class LovelaceStorage(LovelaceConfig):
|
43
|
+
_store: Incomplete
|
44
|
+
_data: dict[str, Any] | None
|
45
|
+
_json_config: json_fragment | None
|
46
|
+
def __init__(self, hass: HomeAssistant, config: dict[str, Any] | None) -> None: ...
|
47
|
+
@property
|
48
|
+
def mode(self) -> str: ...
|
49
|
+
async def async_get_info(self) -> dict[str, Any]: ...
|
50
|
+
async def async_load(self, force: bool) -> dict[str, Any]: ...
|
51
|
+
async def async_json(self, force: bool) -> json_fragment: ...
|
52
|
+
async def async_save(self, config: dict[str, Any]) -> None: ...
|
53
|
+
async def async_delete(self) -> None: ...
|
54
|
+
async def _load(self) -> dict[str, Any]: ...
|
55
|
+
@callback
|
56
|
+
def _async_build_json(self) -> json_fragment: ...
|
57
|
+
|
58
|
+
class LovelaceYAML(LovelaceConfig):
|
59
|
+
path: Incomplete
|
60
|
+
_cache: tuple[dict[str, Any], float, json_fragment] | None
|
61
|
+
def __init__(self, hass: HomeAssistant, url_path: str | None, config: dict[str, Any] | None) -> None: ...
|
62
|
+
@property
|
63
|
+
def mode(self) -> str: ...
|
64
|
+
async def async_get_info(self) -> dict[str, Any]: ...
|
65
|
+
async def async_load(self, force: bool) -> dict[str, Any]: ...
|
66
|
+
async def async_json(self, force: bool) -> json_fragment: ...
|
67
|
+
async def _async_load_or_cached(self, force: bool) -> tuple[dict[str, Any], json_fragment]: ...
|
68
|
+
def _load_config(self, force: bool) -> tuple[bool, dict[str, Any], json_fragment]: ...
|
69
|
+
|
70
|
+
def _config_info(mode: str, config: dict[str, Any]) -> dict[str, Any]: ...
|
71
|
+
|
72
|
+
class DashboardsCollection(collection.DictStorageCollection):
|
73
|
+
CREATE_SCHEMA: Incomplete
|
74
|
+
UPDATE_SCHEMA: Incomplete
|
75
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
76
|
+
async def _process_create_data(self, data: dict) -> dict: ...
|
77
|
+
@callback
|
78
|
+
def _get_suggested_id(self, info: dict) -> str: ...
|
79
|
+
async def _update_data(self, item: dict, update_data: dict) -> dict: ...
|
80
|
+
|
81
|
+
class DashboardsCollectionWebSocket(collection.DictStorageCollectionWebsocket):
|
82
|
+
@callback
|
83
|
+
def ws_list_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -0,0 +1,42 @@
|
|
1
|
+
from .const import CONF_RESOURCE_TYPE_WS as CONF_RESOURCE_TYPE_WS, DOMAIN as DOMAIN, RESOURCE_CREATE_FIELDS as RESOURCE_CREATE_FIELDS, RESOURCE_SCHEMA as RESOURCE_SCHEMA, RESOURCE_UPDATE_FIELDS as RESOURCE_UPDATE_FIELDS
|
2
|
+
from .dashboard import LovelaceConfig as LovelaceConfig
|
3
|
+
from .websocket import websocket_lovelace_resources_impl as websocket_lovelace_resources_impl
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components import websocket_api as websocket_api
|
6
|
+
from homeassistant.const import CONF_ID as CONF_ID, CONF_RESOURCES as CONF_RESOURCES, CONF_TYPE as CONF_TYPE
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.helpers import collection as collection, storage as storage
|
10
|
+
from typing import Any
|
11
|
+
|
12
|
+
RESOURCE_STORAGE_KEY: Incomplete
|
13
|
+
RESOURCES_STORAGE_VERSION: int
|
14
|
+
_LOGGER: Incomplete
|
15
|
+
|
16
|
+
class ResourceYAMLCollection:
|
17
|
+
loaded: bool
|
18
|
+
data: Incomplete
|
19
|
+
def __init__(self, data: list[dict[str, Any]]) -> None: ...
|
20
|
+
async def async_get_info(self) -> dict[str, int]: ...
|
21
|
+
@callback
|
22
|
+
def async_items(self) -> list[dict]: ...
|
23
|
+
|
24
|
+
class ResourceStorageCollection(collection.DictStorageCollection):
|
25
|
+
loaded: bool
|
26
|
+
CREATE_SCHEMA: Incomplete
|
27
|
+
UPDATE_SCHEMA: Incomplete
|
28
|
+
ll_config: Incomplete
|
29
|
+
def __init__(self, hass: HomeAssistant, ll_config: LovelaceConfig) -> None: ...
|
30
|
+
async def async_get_info(self) -> dict[str, int]: ...
|
31
|
+
async def _async_load_data(self) -> collection.SerializedStorageCollection | None: ...
|
32
|
+
async def _process_create_data(self, data: dict) -> dict: ...
|
33
|
+
@callback
|
34
|
+
def _get_suggested_id(self, info: dict) -> str: ...
|
35
|
+
async def _update_data(self, item: dict, update_data: dict) -> dict: ...
|
36
|
+
|
37
|
+
class ResourceStorageCollectionWebsocket(collection.DictStorageCollectionWebsocket):
|
38
|
+
@callback
|
39
|
+
def async_setup(self, hass: HomeAssistant) -> None: ...
|
40
|
+
@staticmethod
|
41
|
+
@websocket_api.async_response
|
42
|
+
async def ws_list_item(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -0,0 +1,9 @@
|
|
1
|
+
from .const import LOVELACE_DATA as LOVELACE_DATA, MODE_AUTO as MODE_AUTO, MODE_STORAGE as MODE_STORAGE, MODE_YAML as MODE_YAML
|
2
|
+
from homeassistant.components import system_health as system_health
|
3
|
+
from homeassistant.const import CONF_MODE as CONF_MODE
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
5
|
+
from typing import Any
|
6
|
+
|
7
|
+
@callback
|
8
|
+
def async_register(hass: HomeAssistant, register: system_health.SystemHealthRegistration) -> None: ...
|
9
|
+
async def system_health_info(hass: HomeAssistant) -> dict[str, Any]: ...
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from .const import CONF_URL_PATH as CONF_URL_PATH, ConfigNotFound as ConfigNotFound, LOVELACE_DATA as LOVELACE_DATA
|
2
|
+
from .dashboard import LovelaceConfig as LovelaceConfig
|
3
|
+
from .resources import ResourceStorageCollection as ResourceStorageCollection
|
4
|
+
from collections.abc import Awaitable, Callable
|
5
|
+
from homeassistant.components import websocket_api as websocket_api
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
|
+
from homeassistant.helpers.json import json_fragment as json_fragment
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
type AsyncLovelaceWebSocketCommandHandler[_R] = Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any], LovelaceConfig], Awaitable[_R]]
|
12
|
+
def _handle_errors[_R](func: AsyncLovelaceWebSocketCommandHandler[_R]) -> websocket_api.AsyncWebSocketCommandHandler: ...
|
13
|
+
@websocket_api.async_response
|
14
|
+
async def websocket_lovelace_resources(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
15
|
+
async def websocket_lovelace_resources_impl(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
16
|
+
@websocket_api.async_response
|
17
|
+
@_handle_errors
|
18
|
+
async def websocket_lovelace_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], config: LovelaceConfig) -> json_fragment: ...
|
19
|
+
@websocket_api.require_admin
|
20
|
+
@websocket_api.async_response
|
21
|
+
@_handle_errors
|
22
|
+
async def websocket_lovelace_save_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], config: LovelaceConfig) -> None: ...
|
23
|
+
@websocket_api.require_admin
|
24
|
+
@websocket_api.async_response
|
25
|
+
@_handle_errors
|
26
|
+
async def websocket_lovelace_delete_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], config: LovelaceConfig) -> None: ...
|
@@ -1,8 +1,8 @@
|
|
1
|
-
from .const import CONF_BASE_URL as CONF_BASE_URL,
|
1
|
+
from .const import CONF_BASE_URL as CONF_BASE_URL, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from .utils import construct_mastodon_username as construct_mastodon_username, create_mastodon_client as create_mastodon_client
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
-
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET
|
5
|
+
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET
|
6
6
|
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
7
7
|
from homeassistant.util import slugify as slugify
|
8
8
|
from typing import Any
|
@@ -17,4 +17,3 @@ class MastodonConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
17
|
def check_connection(self, base_url: str, client_id: str, client_secret: str, access_token: str) -> tuple[dict[str, str] | None, dict[str, str] | None, dict[str, str]]: ...
|
18
18
|
def show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None, description_placeholders: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
19
19
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
-
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
@@ -1,10 +1,8 @@
|
|
1
|
-
from .const import CONF_BASE_URL as CONF_BASE_URL, DEFAULT_URL as DEFAULT_URL,
|
1
|
+
from .const import CONF_BASE_URL as CONF_BASE_URL, DEFAULT_URL as DEFAULT_URL, LOGGER as LOGGER
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, BaseNotificationService as BaseNotificationService
|
4
|
-
from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
|
5
4
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET
|
6
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.data_entry_flow import FlowResultType as FlowResultType
|
8
6
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
9
7
|
from mastodon import Mastodon as Mastodon
|
10
8
|
from typing import Any
|
@@ -5,7 +5,6 @@ from .const import ADDON_SLUG as ADDON_SLUG, CONF_INTEGRATION_CREATED_ADDON as C
|
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
|
7
7
|
from homeassistant.components.onboarding import async_is_onboarded as async_is_onboarded
|
8
|
-
from homeassistant.components.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
9
8
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
10
9
|
from homeassistant.const import CONF_URL as CONF_URL
|
11
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -14,6 +13,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
14
13
|
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
15
14
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
16
15
|
from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
|
16
|
+
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
17
17
|
from typing import Any
|
18
18
|
|
19
19
|
ADDON_SETUP_TIMEOUT: int
|
@@ -31,7 +31,6 @@ class MatterCover(MatterEntity, CoverEntity):
|
|
31
31
|
async def async_close_cover(self, **kwargs: Any) -> None: ...
|
32
32
|
async def async_set_cover_position(self, **kwargs: Any) -> None: ...
|
33
33
|
async def async_set_cover_tilt_position(self, **kwargs: Any) -> None: ...
|
34
|
-
async def send_device_command(self, command: Any) -> None: ...
|
35
34
|
_attr_is_opening: bool
|
36
35
|
_attr_is_closing: bool
|
37
36
|
_attr_current_cover_position: Incomplete
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import FEATUREMAP_ATTRIBUTE_ID as FEATUREMAP_ATTRIBUTE_ID
|
2
|
-
from .models import MatterDiscoverySchema as MatterDiscoverySchema, MatterEntityInfo as MatterEntityInfo
|
2
|
+
from .models import MatterDiscoverySchema as MatterDiscoverySchema, MatterEntityInfo as MatterEntityInfo, UNSET as UNSET
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from chip.clusters.
|
4
|
+
from chip.clusters.ClusterObjects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
|
5
5
|
from collections.abc import Generator
|
6
6
|
from homeassistant.const import Platform as Platform
|
7
7
|
from homeassistant.core import callback as callback
|
@@ -2,21 +2,24 @@ from .const import DOMAIN as DOMAIN, FEATUREMAP_ATTRIBUTE_ID as FEATUREMAP_ATTRI
|
|
2
2
|
from .discovery import MatterEntityInfo as MatterEntityInfo
|
3
3
|
from .helpers import get_device_id as get_device_id
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from chip.clusters.Objects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
|
6
|
-
from collections.abc import Callable as Callable
|
5
|
+
from chip.clusters.Objects import ClusterAttributeDescriptor as ClusterAttributeDescriptor, ClusterCommand as ClusterCommand
|
6
|
+
from collections.abc import Callable as Callable, Coroutine
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.core import callback as callback
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
10
11
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
11
12
|
from homeassistant.helpers.typing import UndefinedType as UndefinedType
|
12
13
|
from matter_server.client import MatterClient as MatterClient
|
13
14
|
from matter_server.client.models.node import MatterEndpoint as MatterEndpoint
|
14
15
|
from matter_server.common.models import EventType
|
15
|
-
from propcache import cached_property
|
16
|
-
from typing import Any
|
16
|
+
from propcache.api import cached_property
|
17
|
+
from typing import Any, Concatenate
|
17
18
|
|
18
19
|
LOGGER: Incomplete
|
19
20
|
|
21
|
+
def catch_matter_error[_R, **P](func: Callable[Concatenate[MatterEntity, P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[MatterEntity, P], Coroutine[Any, Any, _R]]: ...
|
22
|
+
|
20
23
|
@dataclass(frozen=True)
|
21
24
|
class MatterEntityDescription(EntityDescription):
|
22
25
|
measurement_to_ha: Callable[[Any], Any] | None = ...
|
@@ -52,3 +55,7 @@ class MatterEntity(Entity):
|
|
52
55
|
def get_matter_attribute_value(self, attribute: type[ClusterAttributeDescriptor], null_as_none: bool = True) -> Any: ...
|
53
56
|
@callback
|
54
57
|
def get_matter_attribute_path(self, attribute: type[ClusterAttributeDescriptor]) -> str: ...
|
58
|
+
@catch_matter_error
|
59
|
+
async def send_device_command(self, command: ClusterCommand, **kwargs: Any) -> None: ...
|
60
|
+
@catch_matter_error
|
61
|
+
async def write_attribute(self, value: Any, matter_attribute: type[ClusterAttributeDescriptor] | None = None) -> Any: ...
|
@@ -34,7 +34,6 @@ class MatterLight(MatterEntity, LightEntity):
|
|
34
34
|
def _get_color_temperature(self) -> int: ...
|
35
35
|
def _get_brightness(self) -> int: ...
|
36
36
|
def _get_color_mode(self) -> ColorMode: ...
|
37
|
-
async def send_device_command(self, command: Any) -> None: ...
|
38
37
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
39
38
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
40
39
|
_attr_supported_color_modes: Incomplete
|
@@ -4,7 +4,6 @@ from .entity import MatterEntity as MatterEntity
|
|
4
4
|
from .helpers import get_matter as get_matter
|
5
5
|
from .models import MatterDiscoverySchema as MatterDiscoverySchema
|
6
6
|
from _typeshed import Incomplete
|
7
|
-
from chip.clusters import Objects as clusters
|
8
7
|
from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription, LockEntityFeature as LockEntityFeature
|
9
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
9
|
from homeassistant.const import ATTR_CODE as ATTR_CODE, Platform as Platform
|
@@ -22,7 +21,6 @@ class MatterLock(MatterEntity, LockEntity):
|
|
22
21
|
_platform_translation_key: str
|
23
22
|
@property
|
24
23
|
def code_format(self) -> str | None: ...
|
25
|
-
async def send_device_command(self, command: clusters.ClusterCommand, timed_request_timeout_ms: int = 1000) -> None: ...
|
26
24
|
_attr_is_locking: bool
|
27
25
|
async def async_lock(self, **kwargs: Any) -> None: ...
|
28
26
|
_attr_is_unlocking: bool
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from _typeshed import Incomplete
|
1
2
|
from chip.clusters import Objects as clusters
|
2
3
|
from chip.clusters.Objects import Cluster as Cluster, ClusterAttributeDescriptor as ClusterAttributeDescriptor
|
3
4
|
from dataclasses import dataclass
|
@@ -8,6 +9,10 @@ from matter_server.client.models.node import MatterEndpoint as MatterEndpoint
|
|
8
9
|
from typing import Any, TypedDict
|
9
10
|
|
10
11
|
type SensorValueTypes = type[clusters.uint | int | clusters.Nullable | clusters.float32 | float]
|
12
|
+
class _UNSET_TYPE: ...
|
13
|
+
|
14
|
+
UNSET: Incomplete
|
15
|
+
|
11
16
|
class MatterDeviceInfo(TypedDict):
|
12
17
|
unique_id: str
|
13
18
|
vendor_id: str
|
@@ -38,6 +43,10 @@ class MatterDiscoverySchema:
|
|
38
43
|
absent_attributes: tuple[type[ClusterAttributeDescriptor], ...] | None = ...
|
39
44
|
absent_clusters: tuple[type[Cluster], ...] | None = ...
|
40
45
|
optional_attributes: tuple[type[ClusterAttributeDescriptor], ...] | None = ...
|
41
|
-
value_contains: Any | None = ...
|
42
46
|
featuremap_contains: int | None = ...
|
43
47
|
allow_multi: bool = ...
|
48
|
+
allow_none_value: bool = ...
|
49
|
+
value_contains: Any = ...
|
50
|
+
secondary_value_contains: Any = ...
|
51
|
+
value_is_not: Any = ...
|
52
|
+
secondary_value_is_not: Any = ...
|
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
|
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
-
from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform, UnitOfLength as UnitOfLength, UnitOfTime as UnitOfTime
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform, UnitOfLength as UnitOfLength, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
|
@@ -3,7 +3,9 @@ from .helpers import get_matter as get_matter
|
|
3
3
|
from .models import MatterDiscoverySchema as MatterDiscoverySchema
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from chip.clusters import Objects as clusters
|
6
|
+
from chip.clusters.ClusterObjects import ClusterAttributeDescriptor as ClusterAttributeDescriptor, ClusterCommand as ClusterCommand
|
6
7
|
from chip.clusters.Types import Nullable as Nullable
|
8
|
+
from collections.abc import Callable as Callable
|
7
9
|
from dataclasses import dataclass
|
8
10
|
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
9
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -11,20 +13,40 @@ from homeassistant.const import EntityCategory as EntityCategory, Platform as Pl
|
|
11
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
14
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
15
|
|
16
|
+
NUMBER_OF_RINSES_STATE_MAP: Incomplete
|
17
|
+
NUMBER_OF_RINSES_STATE_MAP_REVERSE: Incomplete
|
14
18
|
type SelectCluster = clusters.ModeSelect | clusters.OvenMode | clusters.LaundryWasherMode | clusters.RefrigeratorAndTemperatureControlledCabinetMode | clusters.RvcRunMode | clusters.RvcCleanMode | clusters.DishwasherMode | clusters.EnergyEvseMode | clusters.DeviceEnergyManagementMode
|
19
|
+
|
15
20
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
16
21
|
|
17
22
|
@dataclass(frozen=True)
|
18
23
|
class MatterSelectEntityDescription(SelectEntityDescription, MatterEntityDescription): ...
|
19
24
|
|
20
|
-
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
26
|
+
class MatterMapSelectEntityDescription(MatterSelectEntityDescription):
|
27
|
+
measurement_to_ha: Callable[[int], str | None]
|
28
|
+
ha_to_native_value: Callable[[str], int | None]
|
29
|
+
list_attribute: type[ClusterAttributeDescriptor]
|
30
|
+
|
31
|
+
@dataclass(frozen=True, kw_only=True)
|
32
|
+
class MatterListSelectEntityDescription(MatterSelectEntityDescription):
|
33
|
+
list_attribute: type[ClusterAttributeDescriptor]
|
34
|
+
command: Callable[[int], ClusterCommand] | None = ...
|
35
|
+
|
36
|
+
class MatterAttributeSelectEntity(MatterEntity, SelectEntity):
|
21
37
|
entity_description: MatterSelectEntityDescription
|
22
38
|
async def async_select_option(self, option: str) -> None: ...
|
23
39
|
_attr_current_option: Incomplete
|
24
40
|
@callback
|
25
41
|
def _update_from_device(self) -> None: ...
|
26
42
|
|
27
|
-
class
|
43
|
+
class MatterMapSelectEntity(MatterAttributeSelectEntity):
|
44
|
+
entity_description: MatterMapSelectEntityDescription
|
45
|
+
_attr_options: Incomplete
|
46
|
+
@callback
|
47
|
+
def _update_from_device(self) -> None: ...
|
48
|
+
|
49
|
+
class MatterModeSelectEntity(MatterAttributeSelectEntity):
|
28
50
|
async def async_select_option(self, option: str) -> None: ...
|
29
51
|
_attr_options: Incomplete
|
30
52
|
_attr_current_option: Incomplete
|
@@ -32,4 +54,12 @@ class MatterModeSelectEntity(MatterSelectEntity):
|
|
32
54
|
@callback
|
33
55
|
def _update_from_device(self) -> None: ...
|
34
56
|
|
57
|
+
class MatterListSelectEntity(MatterEntity, SelectEntity):
|
58
|
+
entity_description: MatterListSelectEntityDescription
|
59
|
+
async def async_select_option(self, option: str) -> None: ...
|
60
|
+
_attr_options: Incomplete
|
61
|
+
_attr_current_option: Incomplete
|
62
|
+
@callback
|
63
|
+
def _update_from_device(self) -> None: ...
|
64
|
+
|
35
65
|
DISCOVERY_SCHEMAS: Incomplete
|
@@ -2,6 +2,7 @@ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as Mat
|
|
2
2
|
from .helpers import get_matter as get_matter
|
3
3
|
from .models import MatterDiscoverySchema as MatterDiscoverySchema
|
4
4
|
from _typeshed import Incomplete
|
5
|
+
from chip.clusters.ClusterObjects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
|
5
6
|
from chip.clusters.Types import Nullable as Nullable
|
6
7
|
from dataclasses import dataclass
|
7
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
@@ -20,17 +21,40 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
20
21
|
@dataclass(frozen=True)
|
21
22
|
class MatterSensorEntityDescription(SensorEntityDescription, MatterEntityDescription): ...
|
22
23
|
|
24
|
+
@dataclass(frozen=True, kw_only=True)
|
25
|
+
class MatterListSensorEntityDescription(MatterSensorEntityDescription):
|
26
|
+
list_attribute: type[ClusterAttributeDescriptor]
|
27
|
+
|
28
|
+
@dataclass(frozen=True, kw_only=True)
|
29
|
+
class MatterOperationalStateSensorEntityDescription(MatterSensorEntityDescription):
|
30
|
+
state_list_attribute: type[ClusterAttributeDescriptor] = ...
|
31
|
+
|
23
32
|
class MatterSensor(MatterEntity, SensorEntity):
|
24
33
|
entity_description: MatterSensorEntityDescription
|
25
34
|
_attr_native_value: Incomplete
|
26
35
|
@callback
|
27
36
|
def _update_from_device(self) -> None: ...
|
28
37
|
|
38
|
+
class MatterDraftElectricalMeasurementSensor(MatterEntity, SensorEntity):
|
39
|
+
entity_description: MatterSensorEntityDescription
|
40
|
+
_attr_native_value: Incomplete
|
41
|
+
@callback
|
42
|
+
def _update_from_device(self) -> None: ...
|
43
|
+
|
29
44
|
class MatterOperationalStateSensor(MatterSensor):
|
45
|
+
entity_description: MatterOperationalStateSensorEntityDescription
|
30
46
|
states_map: dict[int, str]
|
31
47
|
_attr_options: Incomplete
|
32
48
|
_attr_native_value: Incomplete
|
33
49
|
@callback
|
34
50
|
def _update_from_device(self) -> None: ...
|
35
51
|
|
52
|
+
class MatterListSensor(MatterSensor):
|
53
|
+
entity_description: MatterListSensorEntityDescription
|
54
|
+
_attr_device_class: Incomplete
|
55
|
+
_attr_options: Incomplete
|
56
|
+
_attr_native_value: Incomplete
|
57
|
+
@callback
|
58
|
+
def _update_from_device(self) -> None: ...
|
59
|
+
|
36
60
|
DISCOVERY_SCHEMAS: Incomplete
|
@@ -1,10 +1,11 @@
|
|
1
|
-
from .entity import MatterEntity as MatterEntity
|
1
|
+
from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
|
2
2
|
from .helpers import get_matter as get_matter
|
3
3
|
from .models import MatterDiscoverySchema as MatterDiscoverySchema
|
4
4
|
from _typeshed import Incomplete
|
5
|
+
from dataclasses import dataclass
|
5
6
|
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
6
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import Platform as Platform
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
11
|
from typing import Any
|
@@ -19,4 +20,16 @@ class MatterSwitch(MatterEntity, SwitchEntity):
|
|
19
20
|
@callback
|
20
21
|
def _update_from_device(self) -> None: ...
|
21
22
|
|
23
|
+
@dataclass(frozen=True)
|
24
|
+
class MatterNumericSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
|
25
|
+
|
26
|
+
class MatterNumericSwitch(MatterSwitch):
|
27
|
+
entity_description: MatterNumericSwitchEntityDescription
|
28
|
+
async def _async_set_native_value(self, value: bool) -> None: ...
|
29
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
30
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
31
|
+
_attr_is_on: Incomplete
|
32
|
+
@callback
|
33
|
+
def _update_from_device(self) -> None: ...
|
34
|
+
|
22
35
|
DISCOVERY_SCHEMAS: Incomplete
|
@@ -37,7 +37,6 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
|
|
37
37
|
async def async_locate(self, **kwargs: Any) -> None: ...
|
38
38
|
async def async_start(self) -> None: ...
|
39
39
|
async def async_pause(self) -> None: ...
|
40
|
-
async def _send_device_command(self, command: clusters.ClusterCommand) -> None: ...
|
41
40
|
_attr_battery_level: Incomplete
|
42
41
|
_attr_activity: Incomplete
|
43
42
|
@callback
|
@@ -2,7 +2,6 @@ from .entity import MatterEntity as MatterEntity
|
|
2
2
|
from .helpers import get_matter as get_matter
|
3
3
|
from .models import MatterDiscoverySchema as MatterDiscoverySchema
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from chip.clusters import Objects as clusters
|
6
5
|
from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
|
7
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
7
|
from homeassistant.const import Platform as Platform
|
@@ -18,7 +17,6 @@ class MatterValve(MatterEntity, ValveEntity):
|
|
18
17
|
_feature_map: int | None
|
19
18
|
entity_description: ValveEntityDescription
|
20
19
|
_platform_translation_key: str
|
21
|
-
async def send_device_command(self, command: clusters.ClusterCommand) -> None: ...
|
22
20
|
async def async_open_valve(self) -> None: ...
|
23
21
|
async def async_close_valve(self) -> None: ...
|
24
22
|
async def async_set_valve_position(self, position: int) -> None: ...
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import ModelContextProtocolCoordinator
|
3
|
+
from .types import ModelContextProtocolConfigEntry
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.core import HomeAssistant
|
6
|
+
from homeassistant.helpers import llm
|
7
|
+
|
8
|
+
__all__ = ['DOMAIN', 'async_setup_entry', 'async_unload_entry']
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
|
12
|
+
|
13
|
+
@dataclass(kw_only=True)
|
14
|
+
class ModelContextProtocolAPI(llm.API):
|
15
|
+
coordinator: ModelContextProtocolCoordinator
|
16
|
+
async def async_get_api_instance(self, llm_context: llm.LLMContext) -> llm.APIInstance: ...
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import mcp_client as mcp_client
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.const import CONF_URL as CONF_URL
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
_LOGGER: Incomplete
|
11
|
+
STEP_USER_DATA_SCHEMA: Incomplete
|
12
|
+
|
13
|
+
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
|
14
|
+
|
15
|
+
class ModelContextProtocolConfigFlow(ConfigFlow, domain=DOMAIN):
|
16
|
+
VERSION: int
|
17
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
18
|
+
|
19
|
+
class InvalidUrl(HomeAssistantError): ...
|
20
|
+
class CannotConnect(HomeAssistantError): ...
|
21
|
+
class TimeoutConnectError(HomeAssistantError): ...
|
22
|
+
class InvalidAuth(HomeAssistantError): ...
|
23
|
+
class MissingCapabilities(HomeAssistantError): ...
|
@@ -0,0 +1 @@
|
|
1
|
+
DOMAIN: str
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import asyncio
|
2
|
+
import voluptuous as vol
|
3
|
+
from .const import DOMAIN as DOMAIN
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import AsyncGenerator
|
6
|
+
from contextlib import asynccontextmanager
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import CONF_URL as CONF_URL
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers import llm as llm
|
12
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
13
|
+
from homeassistant.util.json import JsonObjectType as JsonObjectType
|
14
|
+
from mcp.client.session import ClientSession
|
15
|
+
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
UPDATE_INTERVAL: Incomplete
|
18
|
+
TIMEOUT: int
|
19
|
+
|
20
|
+
@asynccontextmanager
|
21
|
+
async def mcp_client(url: str) -> AsyncGenerator[ClientSession]: ...
|
22
|
+
|
23
|
+
class ModelContextProtocolTool(llm.Tool):
|
24
|
+
name: Incomplete
|
25
|
+
description: Incomplete
|
26
|
+
parameters: Incomplete
|
27
|
+
session: Incomplete
|
28
|
+
def __init__(self, name: str, description: str | None, parameters: vol.Schema, session: ClientSession) -> None: ...
|
29
|
+
async def async_call(self, hass: HomeAssistant, tool_input: llm.ToolInput, llm_context: llm.LLMContext) -> JsonObjectType: ...
|
30
|
+
|
31
|
+
class ModelContextProtocolCoordinator(DataUpdateCoordinator[list[llm.Tool]]):
|
32
|
+
config_entry: ConfigEntry
|
33
|
+
_session: ClientSession | None
|
34
|
+
_setup_error: Exception | None
|
35
|
+
_stop: Incomplete
|
36
|
+
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
|
37
|
+
async def _async_setup(self) -> None: ...
|
38
|
+
async def _connect(self, connected: asyncio.Event, stop: asyncio.Event) -> None: ...
|
39
|
+
async def close(self) -> None: ...
|
40
|
+
async def _async_update_data(self) -> list[llm.Tool]: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .types import MCPServerConfigEntry
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.core import HomeAssistant
|
5
|
+
from homeassistant.helpers.typing import ConfigType
|
6
|
+
|
7
|
+
__all__ = ['CONFIG_SCHEMA', 'DOMAIN', 'async_setup', 'async_setup_entry', 'async_unload_entry']
|
8
|
+
|
9
|
+
CONFIG_SCHEMA: Incomplete
|
10
|
+
|
11
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
|
13
|
+
async def async_unload_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, LLM_API as LLM_API, LLM_API_NAME as LLM_API_NAME
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
|
+
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
|
5
|
+
from homeassistant.helpers import llm as llm
|
6
|
+
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
MORE_INFO_URL: str
|
11
|
+
|
12
|
+
class ModelContextServerProtocolConfigFlow(ConfigFlow, domain=DOMAIN):
|
13
|
+
VERSION: int
|
14
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|