homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.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/bootstrap.pyi +3 -2
- homeassistant-stubs/components/accuweather/const.pyi +3 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
- homeassistant-stubs/components/anova/config_flow.pyi +4 -1
- homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
- homeassistant-stubs/components/arwn/sensor.pyi +3 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
- homeassistant-stubs/components/assist_satellite/const.pyi +3 -0
- homeassistant-stubs/components/assist_satellite/entity.pyi +6 -4
- homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
- homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
- homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/agent.pyi +1 -1
- homeassistant-stubs/components/backup/backup.pyi +1 -1
- homeassistant-stubs/components/backup/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/coordinator.pyi +28 -0
- homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
- homeassistant-stubs/components/backup/entity.pyi +13 -0
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +8 -3
- homeassistant-stubs/components/backup/sensor.pyi +23 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
- homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
- homeassistant-stubs/components/brother/__init__.pyi +1 -0
- homeassistant-stubs/components/brother/coordinator.pyi +1 -0
- homeassistant-stubs/components/cloud/backup.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +6 -3
- homeassistant-stubs/components/cloud/tts.pyi +2 -2
- homeassistant-stubs/components/comelit/__init__.pyi +11 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +44 -0
- homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/comelit/climate.pyi +60 -0
- homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
- homeassistant-stubs/components/comelit/const.pyi +7 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
- homeassistant-stubs/components/comelit/cover.pyi +39 -0
- homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
- homeassistant-stubs/components/comelit/light.pyi +28 -0
- homeassistant-stubs/components/comelit/sensor.pyi +45 -0
- homeassistant-stubs/components/comelit/switch.pyi +27 -0
- homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
- homeassistant-stubs/components/demo/valve.pyi +30 -0
- homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/__init__.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
- homeassistant-stubs/components/esphome/event.pyi +2 -0
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +9 -10
- homeassistant-stubs/components/frontend/storage.pyi +2 -1
- homeassistant-stubs/components/gios/__init__.pyi +1 -0
- homeassistant-stubs/components/gios/config_flow.pyi +1 -0
- homeassistant-stubs/components/gios/coordinator.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +3 -2
- homeassistant-stubs/components/google_drive/backup.pyi +2 -2
- homeassistant-stubs/components/habitica/const.pyi +25 -0
- homeassistant-stubs/components/habitica/services.pyi +6 -2
- homeassistant-stubs/components/heos/const.pyi +1 -0
- homeassistant-stubs/components/heos/coordinator.pyi +5 -5
- homeassistant-stubs/components/heos/media_player.pyi +18 -8
- homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
- homeassistant-stubs/components/home_connect/button.pyi +0 -2
- homeassistant-stubs/components/home_connect/const.pyi +1 -6
- homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
- homeassistant-stubs/components/home_connect/entity.pyi +7 -2
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +4 -3
- homeassistant-stubs/components/home_connect/select.pyi +7 -3
- homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
- homeassistant-stubs/components/home_connect/services.pyi +35 -0
- homeassistant-stubs/components/home_connect/switch.pyi +2 -1
- homeassistant-stubs/components/home_connect/time.pyi +6 -1
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +68 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +29 -0
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +29 -0
- homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
- homeassistant-stubs/components/homee/button.pyi +1 -0
- homeassistant-stubs/components/homee/cover.pyi +1 -0
- homeassistant-stubs/components/homee/light.pyi +1 -0
- homeassistant-stubs/components/homee/lock.pyi +25 -0
- homeassistant-stubs/components/homee/number.pyi +1 -0
- homeassistant-stubs/components/homee/select.pyi +23 -0
- homeassistant-stubs/components/homee/sensor.pyi +2 -0
- homeassistant-stubs/components/homee/switch.pyi +2 -0
- homeassistant-stubs/components/homee/valve.pyi +1 -0
- homeassistant-stubs/components/homekit/__init__.pyi +3 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -0
- homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
- homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
- homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
- homeassistant-stubs/components/iron_os/number.pyi +2 -0
- homeassistant-stubs/components/iron_os/select.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
- homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
- homeassistant-stubs/components/linkplay/entity.pyi +0 -1
- homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
- homeassistant-stubs/components/linkplay/utils.pyi +0 -32
- homeassistant-stubs/components/lovelace/__init__.pyi +3 -1
- homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
- homeassistant-stubs/components/mastodon/const.pyi +0 -7
- homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
- homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
- homeassistant-stubs/components/mastodon/entity.pyi +1 -1
- homeassistant-stubs/components/mastodon/notify.pyi +3 -2
- homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
- homeassistant-stubs/components/mastodon/services.pyi +1 -0
- homeassistant-stubs/components/mastodon/utils.pyi +3 -2
- homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
- homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
- homeassistant-stubs/components/mcp_server/const.pyi +1 -2
- homeassistant-stubs/components/mcp_server/server.pyi +1 -0
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +6 -2
- homeassistant-stubs/components/modbus/const.pyi +10 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +95 -7
- homeassistant-stubs/components/mqtt/const.pyi +65 -0
- homeassistant-stubs/components/mqtt/cover.pyi +2 -0
- homeassistant-stubs/components/mqtt/entity.pyi +4 -4
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +3 -14
- homeassistant-stubs/components/mqtt/models.pyi +25 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
- homeassistant-stubs/components/mqtt/update.pyi +1 -1
- homeassistant-stubs/components/mqtt/util.pyi +2 -0
- homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/climate.pyi +0 -1
- homeassistant-stubs/components/mysensors/const.pyi +0 -1
- homeassistant-stubs/components/mysensors/cover.pyi +1 -2
- homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
- homeassistant-stubs/components/mysensors/light.pyi +4 -5
- homeassistant-stubs/components/mysensors/remote.pyi +0 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/switch.pyi +1 -2
- homeassistant-stubs/components/mysensors/text.pyi +0 -1
- homeassistant-stubs/components/nam/button.pyi +2 -0
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +2 -2
- homeassistant-stubs/components/nest/media_source.pyi +5 -0
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +2 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
- homeassistant-stubs/components/nextdns/switch.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +1 -0
- homeassistant-stubs/components/nut/button.pyi +14 -0
- homeassistant-stubs/components/nut/entity.pyi +19 -0
- homeassistant-stubs/components/nut/sensor.pyi +8 -13
- homeassistant-stubs/components/nut/switch.pyi +18 -0
- homeassistant-stubs/components/onboarding/views.pyi +2 -1
- homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
- homeassistant-stubs/components/onedrive/backup.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +15 -0
- homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
- homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
- homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
- homeassistant-stubs/components/purpleair/const.pyi +6 -4
- homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
- homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
- homeassistant-stubs/components/purpleair/entity.pyi +2 -3
- homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
- homeassistant-stubs/components/pyload/__init__.pyi +12 -0
- homeassistant-stubs/components/pyload/button.pyi +32 -0
- homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
- homeassistant-stubs/components/pyload/const.pyi +6 -0
- homeassistant-stubs/components/pyload/coordinator.pyi +34 -0
- homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
- homeassistant-stubs/components/pyload/entity.pyi +13 -0
- homeassistant-stubs/components/pyload/sensor.pyi +33 -0
- homeassistant-stubs/components/pyload/switch.pyi +37 -0
- homeassistant-stubs/components/qbus/climate.pyi +41 -0
- homeassistant-stubs/components/qbus/light.pyi +3 -3
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +1 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
- homeassistant-stubs/components/recorder/migration.pyi +16 -2
- homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
- homeassistant-stubs/components/recorder/statistics.pyi +27 -9
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
- homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
- homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
- homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
- homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
- homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
- homeassistant-stubs/components/renault/config_flow.pyi +1 -0
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/host.pyi +4 -4
- homeassistant-stubs/components/reolink/number.pyi +21 -1
- homeassistant-stubs/components/reolink/select.pyi +17 -1
- homeassistant-stubs/components/reolink/update.pyi +2 -1
- homeassistant-stubs/components/reolink/util.pyi +7 -0
- homeassistant-stubs/components/roborock/__init__.pyi +5 -3
- homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
- homeassistant-stubs/components/roborock/button.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
- homeassistant-stubs/components/roborock/const.pyi +7 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
- homeassistant-stubs/components/roborock/entity.pyi +3 -1
- homeassistant-stubs/components/roborock/image.pyi +2 -7
- homeassistant-stubs/components/roborock/models.pyi +7 -0
- homeassistant-stubs/components/roborock/number.pyi +1 -0
- homeassistant-stubs/components/roborock/select.pyi +7 -5
- homeassistant-stubs/components/roborock/sensor.pyi +14 -1
- homeassistant-stubs/components/roborock/switch.pyi +2 -0
- homeassistant-stubs/components/roborock/time.pyi +1 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +15 -3
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
- homeassistant-stubs/components/shelly/button.pyi +22 -7
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/event.pyi +1 -1
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +14 -14
- homeassistant-stubs/components/shelly/update.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +6 -2
- homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
- homeassistant-stubs/components/smlight/__init__.pyi +0 -2
- homeassistant-stubs/components/smlight/sensor.pyi +5 -2
- homeassistant-stubs/components/smlight/update.pyi +0 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
- homeassistant-stubs/components/squeezebox/button.pyi +31 -0
- homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
- homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
- homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
- homeassistant-stubs/components/todo/intent.pyi +8 -0
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
- homeassistant-stubs/components/tts/__init__.pyi +66 -51
- homeassistant-stubs/components/tts/entity.pyi +54 -0
- homeassistant-stubs/components/tts/media_source.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +1 -5
- homeassistant-stubs/components/usb/utils.pyi +2 -0
- homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
- homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
- homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
- homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
- homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
- homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
- homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
- homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
- homeassistant-stubs/components/zwave_js/api.pyi +15 -0
- homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
- homeassistant-stubs/config_entries.pyi +2 -5
- homeassistant-stubs/helpers/backup.pyi +4 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -2
- homeassistant-stubs/helpers/frame.pyi +14 -5
- homeassistant-stubs/helpers/intent.pyi +13 -4
- homeassistant-stubs/helpers/llm.pyi +7 -1
- homeassistant-stubs/helpers/script.pyi +1 -1
- homeassistant-stubs/helpers/selector.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +14 -1
- homeassistant-stubs/loader.pyi +18 -8
- homeassistant-stubs/scripts/check_config.pyi +0 -1
- homeassistant-stubs/util/logging.pyi +18 -1
- homeassistant-stubs/util/unit_conversion.pyi +3 -0
- homeassistant-stubs/util/unit_system.pyi +12 -10
- homeassistant-stubs/util/yaml/__init__.pyi +3 -4
- homeassistant-stubs/util/yaml/dumper.pyi +2 -8
- homeassistant-stubs/util/yaml/input.pyi +2 -9
- homeassistant-stubs/util/yaml/loader.pyi +4 -72
- homeassistant-stubs/util/yaml/objects.pyi +2 -26
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +331 -270
- homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
- homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
- homeassistant-stubs/util/yaml/const.pyi +0 -1
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,6 @@ from homeassistant.components import websocket_api
|
|
5
5
|
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback as hass_callback
|
6
6
|
from homeassistant.helpers.debounce import Debouncer
|
7
7
|
from homeassistant.loader import USBMatcher
|
8
|
-
from serial.tools.list_ports_common import ListPortInfo
|
9
8
|
from typing import Any, overload
|
10
9
|
|
11
10
|
__all__ = ['USBCallbackMatcher', 'async_is_plugged_in', 'async_register_port_event_callback', 'async_register_scan_request_callback']
|
@@ -40,9 +39,6 @@ class USBDiscovery:
|
|
40
39
|
@hass_callback
|
41
40
|
def async_stop(self, event: Event) -> None: ...
|
42
41
|
@hass_callback
|
43
|
-
def _async_supports_monitoring(self) -> bool: ...
|
44
|
-
async def _async_start_monitor(self) -> None: ...
|
45
|
-
@hass_callback
|
46
42
|
def _async_start_monitor_polling(self) -> None: ...
|
47
43
|
async def _async_start_aiousbwatcher(self) -> None: ...
|
48
44
|
@hass_callback
|
@@ -52,7 +48,7 @@ class USBDiscovery:
|
|
52
48
|
@hass_callback
|
53
49
|
def async_register_port_event_callback(self, callback: PORT_EVENT_CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
54
50
|
async def _async_process_discovered_usb_device(self, device: USBDevice) -> None: ...
|
55
|
-
async def _async_process_ports(self,
|
51
|
+
async def _async_process_ports(self, usb_devices: Sequence[USBDevice]) -> None: ...
|
56
52
|
@hass_callback
|
57
53
|
def _async_delayed_add_remove_scan(self) -> None: ...
|
58
54
|
async def _async_scan_serial(self) -> None: ...
|
@@ -1,4 +1,6 @@
|
|
1
1
|
from .models import USBDevice as USBDevice
|
2
|
+
from collections.abc import Sequence
|
2
3
|
from serial.tools.list_ports_common import ListPortInfo as ListPortInfo
|
3
4
|
|
4
5
|
def usb_device_from_port(port: ListPortInfo) -> USBDevice: ...
|
6
|
+
def scan_serial_ports() -> Sequence[USBDevice]: ...
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry, VodafoneStationRouter as VodafoneStationRouter
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
|
7
|
+
PLATFORMS: Incomplete
|
8
|
+
|
9
|
+
async def async_setup_entry(hass: HomeAssistant, entry: VodafoneConfigEntry) -> bool: ...
|
10
|
+
async def async_unload_entry(hass: HomeAssistant, entry: VodafoneConfigEntry) -> bool: ...
|
11
|
+
async def update_listener(hass: HomeAssistant, entry: VodafoneConfigEntry) -> None: ...
|
@@ -0,0 +1,31 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
|
2
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry, VodafoneStationRouter as VodafoneStationRouter
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
12
|
+
from typing import Any, Final
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class VodafoneStationEntityDescription(ButtonEntityDescription):
|
18
|
+
press_action: Callable[[VodafoneStationRouter], Any]
|
19
|
+
is_suitable: Callable[[dict], bool]
|
20
|
+
|
21
|
+
BUTTON_TYPES: Final[Incomplete]
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: VodafoneConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class VodafoneStationSensorEntity(CoordinatorEntity[VodafoneStationRouter], ButtonEntity):
|
26
|
+
_attr_has_entity_name: bool
|
27
|
+
entity_description: VodafoneStationEntityDescription
|
28
|
+
_attr_device_info: Incomplete
|
29
|
+
_attr_unique_id: Incomplete
|
30
|
+
def __init__(self, coordinator: VodafoneStationRouter, description: VodafoneStationEntityDescription) -> None: ...
|
31
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import voluptuous as vol
|
2
|
+
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, _LOGGER as _LOGGER
|
3
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Mapping
|
6
|
+
from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
|
7
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
8
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from typing import Any
|
11
|
+
|
12
|
+
def user_form_schema(user_input: dict[str, Any] | None) -> vol.Schema: ...
|
13
|
+
|
14
|
+
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
15
|
+
|
16
|
+
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, str]: ...
|
17
|
+
|
18
|
+
class VodafoneStationConfigFlow(ConfigFlow, domain=DOMAIN):
|
19
|
+
VERSION: int
|
20
|
+
@staticmethod
|
21
|
+
@callback
|
22
|
+
def async_get_options_flow(config_entry: VodafoneConfigEntry) -> VodafoneStationOptionsFlowHandler: ...
|
23
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
24
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
25
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
27
|
+
|
28
|
+
class VodafoneStationOptionsFlowHandler(OptionsFlow):
|
29
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,43 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL, _LOGGER as _LOGGER
|
2
|
+
from .helpers import cleanup_device_tracker as cleanup_device_tracker
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from aiovodafone import VodafoneStationDevice as VodafoneStationDevice
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from datetime import datetime
|
7
|
+
from homeassistant.components.device_tracker import DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
11
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
CONSIDER_HOME_SECONDS: Incomplete
|
16
|
+
type VodafoneConfigEntry = ConfigEntry[VodafoneStationRouter]
|
17
|
+
|
18
|
+
@dataclass(slots=True)
|
19
|
+
class VodafoneStationDeviceInfo:
|
20
|
+
device: VodafoneStationDevice
|
21
|
+
update_time: datetime | None
|
22
|
+
home: bool
|
23
|
+
|
24
|
+
@dataclass(slots=True)
|
25
|
+
class UpdateCoordinatorDataType:
|
26
|
+
devices: dict[str, VodafoneStationDeviceInfo]
|
27
|
+
sensors: dict[str, Any]
|
28
|
+
|
29
|
+
class VodafoneStationRouter(DataUpdateCoordinator[UpdateCoordinatorDataType]):
|
30
|
+
config_entry: VodafoneConfigEntry
|
31
|
+
_host: Incomplete
|
32
|
+
api: Incomplete
|
33
|
+
_id: Incomplete
|
34
|
+
previous_devices: Incomplete
|
35
|
+
def __init__(self, hass: HomeAssistant, host: str, username: str, password: str, config_entry: VodafoneConfigEntry) -> None: ...
|
36
|
+
def _calculate_update_time_and_consider_home(self, device: VodafoneStationDevice, utc_point_in_time: datetime) -> tuple[datetime | None, bool]: ...
|
37
|
+
async def _async_update_data(self) -> UpdateCoordinatorDataType: ...
|
38
|
+
@property
|
39
|
+
def signal_device_new(self) -> str: ...
|
40
|
+
@property
|
41
|
+
def serial_number(self) -> str: ...
|
42
|
+
@property
|
43
|
+
def device_info(self) -> DeviceInfo: ...
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from .const import _LOGGER as _LOGGER
|
2
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry, VodafoneStationDeviceInfo as VodafoneStationDeviceInfo, VodafoneStationRouter as VodafoneStationRouter
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
7
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
8
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
9
|
+
|
10
|
+
PARALLEL_UPDATES: int
|
11
|
+
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, entry: VodafoneConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
13
|
+
@callback
|
14
|
+
def async_add_new_tracked_entities(coordinator: VodafoneStationRouter, async_add_entities: AddConfigEntryEntitiesCallback, tracked: set[str]) -> None: ...
|
15
|
+
|
16
|
+
class VodafoneStationTracker(CoordinatorEntity[VodafoneStationRouter], ScannerEntity):
|
17
|
+
_attr_translation_key: str
|
18
|
+
_attr_has_entity_name: bool
|
19
|
+
mac_address: str
|
20
|
+
_coordinator: Incomplete
|
21
|
+
_attr_mac_address: Incomplete
|
22
|
+
_attr_unique_id: Incomplete
|
23
|
+
_attr_hostname: Incomplete
|
24
|
+
def __init__(self, coordinator: VodafoneStationRouter, device_info: VodafoneStationDeviceInfo) -> None: ...
|
25
|
+
@property
|
26
|
+
def _device_info(self) -> VodafoneStationDeviceInfo: ...
|
27
|
+
@property
|
28
|
+
def is_connected(self) -> bool: ...
|
29
|
+
@property
|
30
|
+
def ip_address(self) -> str | None: ...
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
TO_REDACT: Incomplete
|
9
|
+
|
10
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: VodafoneConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,8 @@
|
|
1
|
+
from .const import _LOGGER as _LOGGER
|
2
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
|
+
from homeassistant.helpers import entity_registry as er
|
5
|
+
from typing import Any
|
6
|
+
|
7
|
+
async def cleanup_device_tracker(hass: HomeAssistant, config_entry: ConfigEntry, devices: dict[str, Any]) -> None: ...
|
8
|
+
def _async_remove_empty_devices(hass: HomeAssistant, entity_reg: er.EntityRegistry, config_entry: ConfigEntry) -> None: ...
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from .const import LINE_TYPES as LINE_TYPES, _LOGGER as _LOGGER
|
2
|
+
from .coordinator import VodafoneConfigEntry as VodafoneConfigEntry, VodafoneStationRouter as VodafoneStationRouter
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from datetime import datetime
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
12
|
+
from typing import Final
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
NOT_AVAILABLE: list
|
16
|
+
UPTIME_DEVIATION: int
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class VodafoneStationEntityDescription(SensorEntityDescription):
|
20
|
+
value: Callable[[VodafoneStationRouter, str | datetime | float | None, str], str | datetime | float | None] = ...
|
21
|
+
is_suitable: Callable[[dict], bool] = ...
|
22
|
+
|
23
|
+
def _calculate_uptime(coordinator: VodafoneStationRouter, last_value: str | datetime | float | None, key: str) -> datetime: ...
|
24
|
+
def _line_connection(coordinator: VodafoneStationRouter, last_value: str | datetime | float | None, key: str) -> str | None: ...
|
25
|
+
|
26
|
+
SENSOR_TYPES: Final[Incomplete]
|
27
|
+
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, entry: VodafoneConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
29
|
+
|
30
|
+
class VodafoneStationSensorEntity(CoordinatorEntity[VodafoneStationRouter], SensorEntity):
|
31
|
+
_attr_has_entity_name: bool
|
32
|
+
entity_description: VodafoneStationEntityDescription
|
33
|
+
_attr_device_info: Incomplete
|
34
|
+
_attr_unique_id: Incomplete
|
35
|
+
_old_state: str | datetime | float | None
|
36
|
+
def __init__(self, coordinator: VodafoneStationRouter, description: VodafoneStationEntityDescription) -> None: ...
|
37
|
+
@property
|
38
|
+
def native_value(self) -> str | datetime | float | None: ...
|
@@ -9,10 +9,10 @@ from .services import ZWaveServices as ZWaveServices
|
|
9
9
|
from _typeshed import Incomplete
|
10
10
|
from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
|
11
11
|
from homeassistant.components.persistent_notification import async_create as async_create
|
12
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
13
13
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, Platform as Platform
|
14
14
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
15
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
15
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
16
16
|
from homeassistant.helpers import device_registry as dr
|
17
17
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
18
18
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
@@ -25,26 +25,23 @@ from zwave_js_server.model.node import Node as ZwaveNode
|
|
25
25
|
from zwave_js_server.model.value import Value as Value, ValueNotification as ValueNotification
|
26
26
|
|
27
27
|
CONNECT_TIMEOUT: int
|
28
|
-
DATA_CLIENT_LISTEN_TASK: str
|
29
28
|
DATA_DRIVER_EVENTS: str
|
30
|
-
|
29
|
+
DRIVER_READY_TIMEOUT: int
|
31
30
|
CONFIG_SCHEMA: Incomplete
|
31
|
+
PLATFORMS: Incomplete
|
32
32
|
|
33
33
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
34
34
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
35
|
-
|
35
|
+
def _get_listen_task_error(listen_task: asyncio.Task) -> tuple[BaseException | None, str]: ...
|
36
36
|
|
37
37
|
class DriverEvents:
|
38
38
|
driver: Driver
|
39
39
|
config_entry: Incomplete
|
40
40
|
dev_reg: Incomplete
|
41
41
|
hass: Incomplete
|
42
|
-
platform_setup_tasks: dict[str, asyncio.Task]
|
43
|
-
ready: Incomplete
|
44
42
|
controller_events: Incomplete
|
45
43
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
46
44
|
async def setup(self, driver: Driver) -> None: ...
|
47
|
-
async def async_setup_platform(self, platform: Platform) -> None: ...
|
48
45
|
|
49
46
|
class ControllerEvents:
|
50
47
|
hass: Incomplete
|
@@ -83,7 +80,6 @@ class NodeEvents:
|
|
83
80
|
def async_on_value_updated_fire_event(self, value_updates_disc_info: dict[str, ZwaveDiscoveryInfo], value: Value) -> None: ...
|
84
81
|
|
85
82
|
async def client_listen(hass: HomeAssistant, entry: ConfigEntry, client: ZwaveClient, driver_ready: asyncio.Event) -> None: ...
|
86
|
-
async def disconnect_client(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
87
83
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
88
84
|
async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
89
85
|
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
@@ -153,6 +153,11 @@ async def websocket_try_parse_dsk_from_qr_code_string(hass: HomeAssistant, conne
|
|
153
153
|
@websocket_api.async_response
|
154
154
|
@async_handle_failed_command
|
155
155
|
@async_get_entry
|
156
|
+
async def websocket_lookup_device(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
157
|
+
@websocket_api.require_admin
|
158
|
+
@websocket_api.async_response
|
159
|
+
@async_handle_failed_command
|
160
|
+
@async_get_entry
|
156
161
|
async def websocket_supports_feature(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
157
162
|
@websocket_api.require_admin
|
158
163
|
@websocket_api.async_response
|
@@ -329,3 +334,13 @@ async def websocket_invoke_cc_api(hass: HomeAssistant, connection: ActiveConnect
|
|
329
334
|
@callback
|
330
335
|
@websocket_api.require_admin
|
331
336
|
def websocket_get_integration_settings(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
337
|
+
@websocket_api.require_admin
|
338
|
+
@websocket_api.async_response
|
339
|
+
@async_handle_failed_command
|
340
|
+
@async_get_entry
|
341
|
+
async def websocket_backup_nvm(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
342
|
+
@websocket_api.require_admin
|
343
|
+
@websocket_api.async_response
|
344
|
+
@async_handle_failed_command
|
345
|
+
@async_get_entry
|
346
|
+
async def websocket_restore_nvm(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import abc
|
2
2
|
import asyncio
|
3
3
|
import voluptuous as vol
|
4
|
-
from . import disconnect_client as disconnect_client
|
5
4
|
from .addon import get_addon_manager as get_addon_manager
|
6
5
|
from .const import ADDON_SLUG as ADDON_SLUG, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_EMULATE_HARDWARE as CONF_ADDON_EMULATE_HARDWARE, CONF_ADDON_LOG_LEVEL as CONF_ADDON_LOG_LEVEL, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DOMAIN as DOMAIN
|
7
6
|
from _typeshed import Incomplete
|
@@ -84,7 +84,6 @@ class ConfigEntryState(Enum):
|
|
84
84
|
DEFAULT_DISCOVERY_UNIQUE_ID: str
|
85
85
|
DISCOVERY_NOTIFICATION_ID: str
|
86
86
|
DISCOVERY_SOURCES: Incomplete
|
87
|
-
RECONFIGURE_NOTIFICATION_ID: str
|
88
87
|
EVENT_FLOW_DISCOVERED: str
|
89
88
|
SIGNAL_CONFIG_ENTRY_CHANGED: Incomplete
|
90
89
|
|
@@ -404,8 +403,6 @@ class ConfigFlow(ConfigEntryBaseFlow):
|
|
404
403
|
async def _async_handle_discovery_without_unique_id(self) -> None: ...
|
405
404
|
async def _async_step_discovery_without_unique_id(self) -> ConfigFlowResult: ...
|
406
405
|
async def async_step_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
|
407
|
-
@callback
|
408
|
-
def async_abort(self, *, reason: str, description_placeholders: Mapping[str, str] | None = None) -> ConfigFlowResult: ...
|
409
406
|
async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
|
410
407
|
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
|
411
408
|
async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
|
@@ -448,9 +445,9 @@ class ConfigSubentryFlow(data_entry_flow.FlowHandler[SubentryFlowContext, Subent
|
|
448
445
|
@callback
|
449
446
|
def async_update_and_abort(self, entry: ConfigEntry, subentry: ConfigSubentry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., data_updates: Mapping[str, Any] | UndefinedType = ...) -> SubentryFlowResult: ...
|
450
447
|
@property
|
451
|
-
def
|
448
|
+
def _entry_id(self) -> str: ...
|
452
449
|
@callback
|
453
|
-
def
|
450
|
+
def _get_entry(self) -> ConfigEntry: ...
|
454
451
|
@property
|
455
452
|
def _reconfigure_subentry_id(self) -> str: ...
|
456
453
|
@callback
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import asyncio
|
2
2
|
from collections.abc import Callable as Callable
|
3
3
|
from dataclasses import dataclass, field
|
4
|
-
from homeassistant.components.backup import BackupManager as BackupManager, ManagerStateEvent as ManagerStateEvent
|
4
|
+
from homeassistant.components.backup import BackupManager as BackupManager, BackupPlatformEvent as BackupPlatformEvent, ManagerStateEvent as ManagerStateEvent
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
7
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
@@ -12,6 +12,7 @@ DATA_MANAGER: HassKey[BackupManager]
|
|
12
12
|
@dataclass(slots=True)
|
13
13
|
class BackupData:
|
14
14
|
backup_event_subscriptions: list[Callable[[ManagerStateEvent], None]] = field(default_factory=list)
|
15
|
+
backup_platform_event_subscriptions: list[Callable[[BackupPlatformEvent], None]] = field(default_factory=list)
|
15
16
|
manager_ready: asyncio.Future[None] = field(default_factory=asyncio.Future)
|
16
17
|
|
17
18
|
@callback
|
@@ -19,3 +20,5 @@ def async_initialize_backup(hass: HomeAssistant) -> None: ...
|
|
19
20
|
async def async_get_manager(hass: HomeAssistant) -> BackupManager: ...
|
20
21
|
@callback
|
21
22
|
def async_subscribe_events(hass: HomeAssistant, on_event: Callable[[ManagerStateEvent], None]) -> Callable[[], None]: ...
|
23
|
+
@callback
|
24
|
+
def async_subscribe_platform_events(hass: HomeAssistant, on_event: Callable[[BackupPlatformEvent], None]) -> Callable[[], None]: ...
|
@@ -58,11 +58,25 @@ class LocalOAuth2Implementation(AbstractOAuth2Implementation):
|
|
58
58
|
def redirect_uri(self) -> str: ...
|
59
59
|
@property
|
60
60
|
def extra_authorize_data(self) -> dict: ...
|
61
|
+
@property
|
62
|
+
def extra_token_resolve_data(self) -> dict: ...
|
61
63
|
async def async_generate_authorize_url(self, flow_id: str) -> str: ...
|
62
64
|
async def async_resolve_external_data(self, external_data: Any) -> dict: ...
|
63
65
|
async def _async_refresh_token(self, token: dict) -> dict: ...
|
64
66
|
async def _token_request(self, data: dict) -> dict: ...
|
65
67
|
|
68
|
+
class LocalOAuth2ImplementationWithPkce(LocalOAuth2Implementation):
|
69
|
+
code_verifier: Incomplete
|
70
|
+
def __init__(self, hass: HomeAssistant, domain: str, client_id: str, authorize_url: str, token_url: str, client_secret: str = '', code_verifier_length: int = 128) -> None: ...
|
71
|
+
@property
|
72
|
+
def extra_authorize_data(self) -> dict: ...
|
73
|
+
@property
|
74
|
+
def extra_token_resolve_data(self) -> dict: ...
|
75
|
+
@staticmethod
|
76
|
+
def generate_code_verifier(code_verifier_length: int = 128) -> str: ...
|
77
|
+
@staticmethod
|
78
|
+
def compute_code_challenge(code_verifier: str) -> str: ...
|
79
|
+
|
66
80
|
class AbstractOAuth2FlowHandler(config_entries.ConfigFlow, metaclass=ABCMeta):
|
67
81
|
DOMAIN: str
|
68
82
|
VERSION: int
|
@@ -149,7 +149,6 @@ def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Ca
|
|
149
149
|
def key_dependency[_KT: Hashable, _VT](key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
|
150
150
|
def custom_serializer(schema: Any) -> Any: ...
|
151
151
|
def _custom_serializer(schema: Any, *, allow_section: bool) -> Any: ...
|
152
|
-
def expand_condition_shorthand(value: Any | None) -> Any: ...
|
153
152
|
def empty_config_schema(domain: str) -> Callable[[dict], dict]: ...
|
154
153
|
def _no_yaml_config_schema(domain: str, issue_base: str, translation_key: str, translation_placeholders: dict[str, str]) -> Callable[[dict], dict]: ...
|
155
154
|
def config_entry_only_config_schema(domain: str) -> Callable[[dict], dict]: ...
|
@@ -202,10 +201,14 @@ NOT_CONDITION_SCHEMA: Incomplete
|
|
202
201
|
NOT_CONDITION_SHORTHAND_SCHEMA: Incomplete
|
203
202
|
DEVICE_CONDITION_BASE_SCHEMA: Incomplete
|
204
203
|
DEVICE_CONDITION_SCHEMA: Incomplete
|
205
|
-
|
204
|
+
|
205
|
+
def expand_condition_shorthand(value: Any | None) -> Any: ...
|
206
|
+
|
207
|
+
dynamic_template_condition: Incomplete
|
206
208
|
CONDITION_SHORTHAND_SCHEMA: Incomplete
|
207
209
|
CONDITION_SCHEMA: vol.Schema
|
208
210
|
CONDITIONS_SCHEMA: Incomplete
|
211
|
+
dynamic_template_condition_action: Incomplete
|
209
212
|
CONDITION_ACTION_SCHEMA: vol.Schema
|
210
213
|
|
211
214
|
def _trigger_pre_validator(value: Any | None) -> Any: ...
|
@@ -3,15 +3,24 @@ import logging
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
6
|
-
from homeassistant.core import HomeAssistant as HomeAssistant,
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
8
|
from homeassistant.loader import Integration as Integration, async_get_issue_integration as async_get_issue_integration, async_suggest_report_issue as async_suggest_report_issue
|
9
|
+
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
9
10
|
from propcache.api import cached_property
|
10
11
|
from types import FrameType
|
11
12
|
|
12
13
|
_LOGGER: Incomplete
|
13
14
|
_REPORTED_INTEGRATIONS: set[str]
|
14
15
|
|
16
|
+
class _Hass:
|
17
|
+
hass: HomeAssistant | None
|
18
|
+
|
19
|
+
_hass: Incomplete
|
20
|
+
|
21
|
+
@callback
|
22
|
+
def async_setup(hass: HomeAssistant) -> None: ...
|
23
|
+
|
15
24
|
@dataclass(kw_only=True)
|
16
25
|
class IntegrationFrame:
|
17
26
|
custom_integration: bool
|
@@ -32,15 +41,15 @@ def get_integration_frame(exclude_integrations: set | None = None) -> Integratio
|
|
32
41
|
|
33
42
|
class MissingIntegrationFrame(HomeAssistantError): ...
|
34
43
|
|
35
|
-
def report(what: str, *, exclude_integrations: set[str] | None = None, error_if_core: bool = True, error_if_integration: bool = False, level: int = ..., log_custom_component_only: bool = False) -> None: ...
|
36
|
-
|
37
44
|
class ReportBehavior(enum.Enum):
|
38
45
|
IGNORE = ...
|
39
46
|
LOG = ...
|
40
47
|
ERROR = ...
|
41
48
|
|
42
49
|
def report_usage(what: str, *, breaks_in_ha_version: str | None = None, core_behavior: ReportBehavior = ..., core_integration_behavior: ReportBehavior = ..., custom_integration_behavior: ReportBehavior = ..., exclude_integrations: set[str] | None = None, integration_domain: str | None = None, level: int = ...) -> None: ...
|
43
|
-
def
|
44
|
-
def
|
50
|
+
def _report_usage(hass: HomeAssistant, what: str, *, breaks_in_ha_version: str | None, core_behavior: ReportBehavior, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, exclude_integrations: set[str] | None, integration_domain: str | None, level: int) -> None: ...
|
51
|
+
def _report_usage_integration_domain(hass: HomeAssistant | None, what: str, breaks_in_ha_version: str | None, integration: Integration, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, level: int) -> None: ...
|
52
|
+
def _report_usage_integration_frame(hass: HomeAssistant, what: str, breaks_in_ha_version: str | None, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
|
53
|
+
def _report_usage_no_integration(what: str, core_behavior: ReportBehavior, breaks_in_ha_version: str | None, err: MissingIntegrationFrame | None) -> None: ...
|
45
54
|
def warn_use[_CallableT: Callable](func: _CallableT, what: str) -> _CallableT: ...
|
46
55
|
def report_non_thread_safe_operation(what: str) -> None: ...
|
@@ -19,7 +19,7 @@ from typing import Any
|
|
19
19
|
|
20
20
|
_LOGGER: Incomplete
|
21
21
|
type _SlotsType = dict[str, Any]
|
22
|
-
type _IntentSlotsType = dict[str | tuple[str, str], VolSchemaType | Callable[[Any], Any]]
|
22
|
+
type _IntentSlotsType = dict[str | tuple[str, str], IntentSlotInfo | VolSchemaType | Callable[[Any], Any]]
|
23
23
|
INTENT_TURN_OFF: str
|
24
24
|
INTENT_TURN_ON: str
|
25
25
|
INTENT_TOGGLE: str
|
@@ -135,8 +135,9 @@ def _filter_by_name(name: str, candidates: Iterable[MatchTargetsCandidate]) -> I
|
|
135
135
|
def _filter_by_features(features: int, candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
|
136
136
|
def _filter_by_device_classes(device_classes: Iterable[str], candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
|
137
137
|
def _add_areas(areas: area_registry.AreaRegistry, devices: device_registry.DeviceRegistry, candidates: Iterable[MatchTargetsCandidate]) -> None: ...
|
138
|
+
def _default_area_candidate_filter(candidate: MatchTargetsCandidate, possible_area_ids: Collection[str]) -> bool: ...
|
138
139
|
@callback
|
139
|
-
def async_match_targets(hass: HomeAssistant, constraints: MatchTargetsConstraints, preferences: MatchTargetsPreferences | None = None, states: list[State] | None = None) -> MatchTargetsResult: ...
|
140
|
+
def async_match_targets(hass: HomeAssistant, constraints: MatchTargetsConstraints, preferences: MatchTargetsPreferences | None = None, states: list[State] | None = None, area_candidate_filter: Callable[[MatchTargetsCandidate, Collection[str]], bool] = ...) -> MatchTargetsResult: ...
|
140
141
|
@callback
|
141
142
|
@bind_hass
|
142
143
|
def async_match_states(hass: HomeAssistant, name: str | None = None, area_name: str | None = None, floor_name: str | None = None, domains: Collection[str] | None = None, device_classes: Collection[str] | None = None, states: list[State] | None = None, assistant: str | None = None) -> Iterable[State]: ...
|
@@ -160,6 +161,14 @@ class IntentHandler:
|
|
160
161
|
|
161
162
|
def non_empty_string(value: Any) -> str: ...
|
162
163
|
|
164
|
+
@dataclass(kw_only=True)
|
165
|
+
class IntentSlotInfo:
|
166
|
+
service_data_name: str | None = ...
|
167
|
+
description: str | None = ...
|
168
|
+
value_schema: VolSchemaType | Callable[[Any], Any] = ...
|
169
|
+
|
170
|
+
def _convert_slot_info(key: str | tuple[str, str], value: IntentSlotInfo | VolSchemaType | Callable[[Any], Any]) -> tuple[str, IntentSlotInfo]: ...
|
171
|
+
|
163
172
|
class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
|
164
173
|
service_timeout: float
|
165
174
|
intent_type: Incomplete
|
@@ -170,8 +179,8 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
|
|
170
179
|
description: Incomplete
|
171
180
|
platforms: Incomplete
|
172
181
|
device_classes: Incomplete
|
173
|
-
required_slots:
|
174
|
-
optional_slots:
|
182
|
+
required_slots: dict[str, IntentSlotInfo]
|
183
|
+
optional_slots: dict[str, IntentSlotInfo]
|
175
184
|
def __init__(self, intent_type: str, speech: str | None = None, required_slots: _IntentSlotsType | None = None, optional_slots: _IntentSlotsType | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None, device_classes: set[type[StrEnum]] | None = None) -> None: ...
|
176
185
|
@cached_property
|
177
186
|
def slot_schema(self) -> dict: ...
|
@@ -23,6 +23,7 @@ ACTION_PARAMETERS_CACHE: HassKey[dict[str, dict[str, tuple[str | None, vol.Schem
|
|
23
23
|
LLM_API_ASSIST: str
|
24
24
|
BASE_PROMPT: str
|
25
25
|
DEFAULT_INSTRUCTIONS_PROMPT: str
|
26
|
+
NO_ENTITIES_PROMPT: str
|
26
27
|
|
27
28
|
@callback
|
28
29
|
def async_render_no_api_prompt(hass: HomeAssistant) -> str: ...
|
@@ -96,7 +97,7 @@ class AssistAPI(API):
|
|
96
97
|
@callback
|
97
98
|
def _async_get_tools(self, llm_context: LLMContext, exposed_entities: dict | None) -> list[Tool]: ...
|
98
99
|
|
99
|
-
def _get_exposed_entities(hass: HomeAssistant, assistant: str) -> dict[str, dict[str, dict[str, Any]]]: ...
|
100
|
+
def _get_exposed_entities(hass: HomeAssistant, assistant: str, include_state: bool = True) -> dict[str, dict[str, dict[str, Any]]]: ...
|
100
101
|
def _selector_serializer(schema: Any) -> Any: ...
|
101
102
|
def _get_cached_action_parameters(hass: HomeAssistant, domain: str, action: str) -> tuple[str | None, vol.Schema]: ...
|
102
103
|
|
@@ -117,3 +118,8 @@ class CalendarGetEventsTool(Tool):
|
|
117
118
|
parameters: Incomplete
|
118
119
|
def __init__(self, calendars: list[str]) -> None: ...
|
119
120
|
async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
|
121
|
+
|
122
|
+
class GetHomeStateTool(Tool):
|
123
|
+
name: str
|
124
|
+
description: str
|
125
|
+
async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
|
@@ -7,7 +7,7 @@ from .singleton import singleton as singleton
|
|
7
7
|
from .translation import async_translate_state as async_translate_state
|
8
8
|
from .typing import TemplateVarsType as TemplateVarsType
|
9
9
|
from _typeshed import Incomplete, OptExcInfo as OptExcInfo
|
10
|
-
from collections.abc import Callable as Callable, Generator, Iterable
|
10
|
+
from collections.abc import Callable as Callable, Generator, Iterable, MutableSequence
|
11
11
|
from contextlib import AbstractContextManager
|
12
12
|
from contextvars import ContextVar
|
13
13
|
from datetime import datetime, timedelta
|
@@ -255,6 +255,7 @@ def floors(hass: HomeAssistant) -> Iterable[str | None]: ...
|
|
255
255
|
def floor_id(hass: HomeAssistant, lookup_value: Any) -> str | None: ...
|
256
256
|
def floor_name(hass: HomeAssistant, lookup_value: str) -> str | None: ...
|
257
257
|
def floor_areas(hass: HomeAssistant, floor_id_or_name: str) -> Iterable[str]: ...
|
258
|
+
def floor_entities(hass: HomeAssistant, floor_id_or_name: str) -> Iterable[str]: ...
|
258
259
|
def areas(hass: HomeAssistant) -> Iterable[str | None]: ...
|
259
260
|
def area_id(hass: HomeAssistant, lookup_value: str) -> str | None: ...
|
260
261
|
def _get_area_name(area_reg: area_registry.AreaRegistry, valid_area_id: str) -> str: ...
|
@@ -345,6 +346,18 @@ def time_until(hass: HomeAssistant, value: Any | datetime, precision: int = 1) -
|
|
345
346
|
def urlencode(value): ...
|
346
347
|
def slugify(value, separator: str = '_'): ...
|
347
348
|
def iif(value: Any, if_true: Any = True, if_false: Any = False, if_none: Any = ...) -> Any: ...
|
349
|
+
def shuffle(*args: Any, seed: Any = None) -> MutableSequence[Any]: ...
|
350
|
+
def typeof(value: Any) -> Any: ...
|
351
|
+
def flatten(value: Iterable[Any], levels: int | None = None) -> list[Any]: ...
|
352
|
+
def intersect(value: Iterable[Any], other: Iterable[Any]) -> list[Any]: ...
|
353
|
+
def difference(value: Iterable[Any], other: Iterable[Any]) -> list[Any]: ...
|
354
|
+
def union(value: Iterable[Any], other: Iterable[Any]) -> list[Any]: ...
|
355
|
+
def symmetric_difference(value: Iterable[Any], other: Iterable[Any]) -> list[Any]: ...
|
356
|
+
def combine(*args: Any, recursive: bool = False) -> dict[Any, Any]: ...
|
357
|
+
def md5(value: str) -> str: ...
|
358
|
+
def sha1(value: str) -> str: ...
|
359
|
+
def sha256(value: str) -> str: ...
|
360
|
+
def sha512(value: str) -> str: ...
|
348
361
|
|
349
362
|
class TemplateContextManager(AbstractContextManager):
|
350
363
|
def set_template(self, template_str: str, action: str) -> None: ...
|