homeassistant-stubs 2025.3.4__py3-none-any.whl → 2025.4.0b1__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/entity.pyi +5 -3
- 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 +40 -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/const.pyi +1 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
- homeassistant-stubs/components/esphome/manager.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 +0 -6
- homeassistant-stubs/components/home_connect/entity.pyi +1 -1
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +1 -1
- homeassistant-stubs/components/home_connect/select.pyi +1 -1
- homeassistant-stubs/components/home_connect/services.pyi +35 -0
- homeassistant-stubs/components/home_connect/switch.pyi +1 -1
- homeassistant-stubs/components/home_connect/time.pyi +6 -1
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +69 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -0
- 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 +26 -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 +26 -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/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/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 +1 -12
- homeassistant-stubs/components/mqtt/models.pyi +25 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
- 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 +1 -0
- 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 +33 -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 +0 -3
- 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/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 +16 -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.4.dist-info → homeassistant_stubs-2025.4.0b1.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0b1.dist-info}/RECORD +319 -258
- 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.4.dist-info → homeassistant_stubs-2025.4.0b1.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -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: ...
|
homeassistant-stubs/loader.pyi
CHANGED
@@ -15,7 +15,8 @@ from .generated.usb import USB as USB
|
|
15
15
|
from .generated.zeroconf import HOMEKIT as HOMEKIT, ZEROCONF as ZEROCONF
|
16
16
|
from .helpers import device_registry as dr
|
17
17
|
from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
|
18
|
-
from .helpers.typing import ConfigType as ConfigType
|
18
|
+
from .helpers.typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
19
|
+
from .util.async_ import create_eager_task as create_eager_task
|
19
20
|
from .util.hass_dict import HassKey as HassKey
|
20
21
|
from .util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
|
21
22
|
from _typeshed import Incomplete
|
@@ -158,8 +159,7 @@ class Integration:
|
|
158
159
|
pkg_path: Incomplete
|
159
160
|
file_path: Incomplete
|
160
161
|
manifest: Incomplete
|
161
|
-
|
162
|
-
_all_dependencies: set[str] | None
|
162
|
+
_all_dependencies: set[str] | Exception | None
|
163
163
|
_platforms_to_preload: Incomplete
|
164
164
|
_component_future: asyncio.Future[ComponentProtocol] | None
|
165
165
|
_import_futures: dict[str, asyncio.Future[ModuleType]]
|
@@ -227,7 +227,7 @@ class Integration:
|
|
227
227
|
def all_dependencies(self) -> set[str]: ...
|
228
228
|
@property
|
229
229
|
def all_dependencies_resolved(self) -> bool: ...
|
230
|
-
async def resolve_dependencies(self) ->
|
230
|
+
async def resolve_dependencies(self) -> set[str] | None: ...
|
231
231
|
async def async_get_component(self) -> ComponentProtocol: ...
|
232
232
|
def get_component(self) -> ComponentProtocol: ...
|
233
233
|
def _get_component(self, preload_platforms: bool = False) -> ComponentProtocol: ...
|
@@ -250,6 +250,18 @@ def async_get_loaded_integration(hass: HomeAssistant, domain: str) -> Integratio
|
|
250
250
|
async def async_get_integration(hass: HomeAssistant, domain: str) -> Integration: ...
|
251
251
|
async def async_get_integrations(hass: HomeAssistant, domains: Iterable[str]) -> dict[str, Integration | Exception]: ...
|
252
252
|
|
253
|
+
class _ResolveDependenciesCacheProtocol(Protocol):
|
254
|
+
def get(self, itg: Integration) -> set[str] | Exception | None: ...
|
255
|
+
def __setitem__(self, itg: Integration, all_dependencies: set[str] | Exception) -> None: ...
|
256
|
+
|
257
|
+
class _ResolveDependenciesCache(_ResolveDependenciesCacheProtocol):
|
258
|
+
def get(self, itg: Integration) -> set[str] | Exception | None: ...
|
259
|
+
def __setitem__(self, itg: Integration, all_dependencies: set[str] | Exception) -> None: ...
|
260
|
+
|
261
|
+
async def resolve_integrations_dependencies(hass: HomeAssistant, integrations: Iterable[Integration]) -> dict[str, set[str]]: ...
|
262
|
+
async def resolve_integrations_after_dependencies(hass: HomeAssistant, integrations: Iterable[Integration], possible_after_dependencies: set[str] | None = None, *, ignore_exceptions: bool = False) -> dict[str, set[str]]: ...
|
263
|
+
async def _do_resolve_dependencies(itg: Integration, *, cache: _ResolveDependenciesCacheProtocol, possible_after_dependencies: set[str] | None | UndefinedType = ..., ignore_exceptions: bool = False) -> set[str]: ...
|
264
|
+
|
253
265
|
class LoaderError(Exception): ...
|
254
266
|
|
255
267
|
class IntegrationNotFound(LoaderError):
|
@@ -261,9 +273,8 @@ class IntegrationNotLoaded(LoaderError):
|
|
261
273
|
def __init__(self, domain: str) -> None: ...
|
262
274
|
|
263
275
|
class CircularDependency(LoaderError):
|
264
|
-
|
265
|
-
|
266
|
-
def __init__(self, from_domain: str | set[str], to_domain: str) -> None: ...
|
276
|
+
def __init__(self, domain_cycle: list[str]) -> None: ...
|
277
|
+
def extend_cycle(self, domain: str) -> None: ...
|
267
278
|
|
268
279
|
def _load_file(hass: HomeAssistant, comp_or_platform: str, base_paths: list[str]) -> ComponentProtocol | None: ...
|
269
280
|
|
@@ -284,7 +295,6 @@ class Helpers:
|
|
284
295
|
def __getattr__(self, helper_name: str) -> ModuleWrapper: ...
|
285
296
|
|
286
297
|
def bind_hass[_CallableT: Callable[..., Any]](func: _CallableT) -> _CallableT: ...
|
287
|
-
async def _async_component_dependencies(hass: HomeAssistant, integration: Integration) -> set[str]: ...
|
288
298
|
def _async_mount_config_dir(hass: HomeAssistant) -> None: ...
|
289
299
|
def _lookup_path(hass: HomeAssistant) -> list[str]: ...
|
290
300
|
def is_component_module_loaded(hass: HomeAssistant, module: str) -> bool: ...
|
@@ -5,7 +5,6 @@ from homeassistant.config import get_default_config_dir as get_default_config_di
|
|
5
5
|
from homeassistant.config_entries import ConfigEntries as ConfigEntries
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
7
|
from homeassistant.helpers.check_config import async_check_ha_config_file as async_check_ha_config_file
|
8
|
-
from homeassistant.util.yaml import Secrets as Secrets
|
9
8
|
from typing import Any
|
10
9
|
|
11
10
|
REQUIREMENTS: Incomplete
|
@@ -1,8 +1,23 @@
|
|
1
1
|
import logging
|
2
2
|
import logging.handlers
|
3
|
+
from _typeshed import Incomplete
|
3
4
|
from collections.abc import Callable, Coroutine
|
4
5
|
from homeassistant.core import HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type
|
5
|
-
from
|
6
|
+
from queue import SimpleQueue
|
7
|
+
from typing import Any, overload, override
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
|
11
|
+
class HomeAssistantQueueListener(logging.handlers.QueueListener):
|
12
|
+
LOG_COUNTS_RESET_INTERVAL: int
|
13
|
+
MAX_LOGS_COUNT: int
|
14
|
+
_last_reset: float
|
15
|
+
_log_counts: dict[str, int]
|
16
|
+
_warned_modules: set[str]
|
17
|
+
def __init__(self, queue: SimpleQueue[logging.Handler], *handlers: logging.Handler) -> None: ...
|
18
|
+
@override
|
19
|
+
def handle(self, record: logging.LogRecord) -> None: ...
|
20
|
+
def _reset_counters(self, time_sec: float) -> None: ...
|
6
21
|
|
7
22
|
class HomeAssistantQueueHandler(logging.handlers.QueueHandler):
|
8
23
|
listener: logging.handlers.QueueListener | None
|
@@ -58,6 +58,9 @@ class BaseUnitConverter:
|
|
58
58
|
def get_unit_ratio(cls, from_unit: str | None, to_unit: str | None) -> float: ...
|
59
59
|
@classmethod
|
60
60
|
@lru_cache
|
61
|
+
def get_unit_floored_log_ratio(cls, from_unit: str | None, to_unit: str | None) -> float: ...
|
62
|
+
@classmethod
|
63
|
+
@lru_cache
|
61
64
|
def _are_unit_inverses(cls, from_unit: str | None, to_unit: str | None) -> bool: ...
|
62
65
|
|
63
66
|
class DataRateConverter(BaseUnitConverter):
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from .unit_conversion import AreaConverter as AreaConverter, DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, VolumeConverter as VolumeConverter
|
2
2
|
from _typeshed import Incomplete
|
3
|
+
from dataclasses import dataclass
|
3
4
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
4
5
|
from homeassistant.const import ACCUMULATED_PRECIPITATION as ACCUMULATED_PRECIPITATION, AREA as AREA, LENGTH as LENGTH, MASS as MASS, PRESSURE as PRESSURE, TEMPERATURE as TEMPERATURE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfArea as UnitOfArea, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume, UnitOfVolumetricFlux as UnitOfVolumetricFlux, VOLUME as VOLUME, WIND_SPEED as WIND_SPEED
|
5
6
|
from typing import Final
|
@@ -18,17 +19,18 @@ _VALID_BY_TYPE: dict[str, set[str] | set[str | None]]
|
|
18
19
|
|
19
20
|
def _is_valid_unit(unit: str, unit_type: str) -> bool: ...
|
20
21
|
|
22
|
+
@dataclass(frozen=True, kw_only=True)
|
21
23
|
class UnitSystem:
|
22
|
-
_name:
|
23
|
-
accumulated_precipitation_unit:
|
24
|
-
area_unit:
|
25
|
-
length_unit:
|
26
|
-
mass_unit:
|
27
|
-
pressure_unit:
|
28
|
-
temperature_unit:
|
29
|
-
volume_unit:
|
30
|
-
wind_speed_unit:
|
31
|
-
_conversions:
|
24
|
+
_name: str
|
25
|
+
accumulated_precipitation_unit: UnitOfPrecipitationDepth
|
26
|
+
area_unit: UnitOfArea
|
27
|
+
length_unit: UnitOfLength
|
28
|
+
mass_unit: UnitOfMass
|
29
|
+
pressure_unit: UnitOfPressure
|
30
|
+
temperature_unit: UnitOfTemperature
|
31
|
+
volume_unit: UnitOfVolume
|
32
|
+
wind_speed_unit: UnitOfSpeed
|
33
|
+
_conversions: dict[tuple[SensorDeviceClass | str | None, str | None], str]
|
32
34
|
def __init__(self, name: str, *, accumulated_precipitation: UnitOfPrecipitationDepth, area: UnitOfArea, conversions: dict[tuple[SensorDeviceClass | str | None, str | None], str], length: UnitOfLength, mass: UnitOfMass, pressure: UnitOfPressure, temperature: UnitOfTemperature, volume: UnitOfVolume, wind_speed: UnitOfSpeed) -> None: ...
|
33
35
|
def temperature(self, temperature: float, from_unit: str) -> float: ...
|
34
36
|
def length(self, length: float | None, from_unit: str) -> float: ...
|
@@ -1,7 +1,6 @@
|
|
1
|
-
from .const import SECRET_YAML as SECRET_YAML
|
2
1
|
from .dumper import dump as dump, save_yaml as save_yaml
|
3
|
-
from .
|
4
|
-
from
|
5
|
-
from .
|
2
|
+
from .loader import Secrets as Secrets, load_yaml as load_yaml, load_yaml_dict as load_yaml_dict, parse_yaml as parse_yaml, secret_yaml as secret_yaml
|
3
|
+
from annotatedyaml import Input as Input, SECRET_YAML as SECRET_YAML, YamlTypeError as YamlTypeError
|
4
|
+
from annotatedyaml.input import UndefinedSubstitution as UndefinedSubstitution, extract_inputs as extract_inputs, substitute as substitute
|
6
5
|
|
7
6
|
__all__ = ['SECRET_YAML', 'Input', 'Secrets', 'UndefinedSubstitution', 'YamlTypeError', 'dump', 'extract_inputs', 'load_yaml', 'load_yaml_dict', 'parse_yaml', 'save_yaml', 'secret_yaml', 'substitute']
|
@@ -1,9 +1,3 @@
|
|
1
|
-
import
|
2
|
-
from .objects import Input as Input, NodeDictClass as NodeDictClass, NodeListClass as NodeListClass, NodeStrClass as NodeStrClass
|
3
|
-
from _typeshed import Incomplete
|
4
|
-
from typing import Any
|
1
|
+
from annotatedyaml.dumper import add_representer as add_representer, dump as dump, represent_odict as represent_odict, save_yaml as save_yaml
|
5
2
|
|
6
|
-
|
7
|
-
def save_yaml(path: str, data: dict) -> None: ...
|
8
|
-
def represent_odict(dumper, tag, mapping, flow_style: Incomplete | None = None) -> yaml.MappingNode: ...
|
9
|
-
def add_representer(klass: Any, representer: Any) -> None: ...
|
3
|
+
__all__ = ['add_representer', 'dump', 'represent_odict', 'save_yaml']
|
@@ -1,11 +1,4 @@
|
|
1
1
|
from .objects import Input as Input
|
2
|
-
from
|
3
|
-
from typing import Any
|
2
|
+
from annotatedyaml.input import UndefinedSubstitution as UndefinedSubstitution, extract_inputs as extract_inputs, substitute as substitute
|
4
3
|
|
5
|
-
|
6
|
-
input: Incomplete
|
7
|
-
def __init__(self, input_name: str) -> None: ...
|
8
|
-
|
9
|
-
def extract_inputs(obj: Any) -> set[str]: ...
|
10
|
-
def _extract_inputs(obj: Any, found: set[str]) -> None: ...
|
11
|
-
def substitute(obj: Any, substitutions: dict[str, Any]) -> Any: ...
|
4
|
+
__all__ = ['Input', 'UndefinedSubstitution', 'extract_inputs', 'substitute']
|
@@ -1,81 +1,13 @@
|
|
1
1
|
import os
|
2
2
|
import yaml
|
3
|
-
from
|
4
|
-
from .
|
5
|
-
from _typeshed import Incomplete
|
6
|
-
from collections.abc import Callable as Callable, Iterator
|
7
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
3
|
+
from annotatedyaml import YamlTypeError as YamlTypeError
|
4
|
+
from annotatedyaml.loader import HAS_C_LOADER as HAS_C_LOADER, JSON_TYPE as JSON_TYPE, LoaderType, Secrets as Secrets, add_constructor as add_constructor
|
8
5
|
from io import StringIO
|
9
|
-
from
|
10
|
-
from propcache.api import cached_property
|
11
|
-
from typing import Any, TextIO, overload
|
12
|
-
from yaml import SafeLoader as FastestAvailableSafeLoader
|
6
|
+
from typing import TextIO
|
13
7
|
|
14
|
-
HAS_C_LOADER
|
15
|
-
JSON_TYPE = list | dict | str
|
16
|
-
_LOGGER: Incomplete
|
17
|
-
|
18
|
-
class YamlTypeError(HomeAssistantError): ...
|
19
|
-
|
20
|
-
class Secrets:
|
21
|
-
config_dir: Incomplete
|
22
|
-
_cache: dict[Path, dict[str, str]]
|
23
|
-
def __init__(self, config_dir: Path) -> None: ...
|
24
|
-
def get(self, requester_path: str, secret: str) -> str: ...
|
25
|
-
def _load_secret_yaml(self, secret_dir: Path) -> dict[str, str]: ...
|
26
|
-
|
27
|
-
class _LoaderMixin:
|
28
|
-
name: str
|
29
|
-
stream: Any
|
30
|
-
@cached_property
|
31
|
-
def get_name(self) -> str: ...
|
32
|
-
@cached_property
|
33
|
-
def get_stream_name(self) -> str: ...
|
34
|
-
|
35
|
-
class FastSafeLoader(FastestAvailableSafeLoader, _LoaderMixin):
|
36
|
-
stream: Incomplete
|
37
|
-
name: str
|
38
|
-
secrets: Incomplete
|
39
|
-
def __init__(self, stream: Any, secrets: Secrets | None = None) -> None: ...
|
40
|
-
|
41
|
-
class PythonSafeLoader(yaml.SafeLoader, _LoaderMixin):
|
42
|
-
secrets: Incomplete
|
43
|
-
def __init__(self, stream: Any, secrets: Secrets | None = None) -> None: ...
|
44
|
-
type LoaderType = FastSafeLoader | PythonSafeLoader
|
8
|
+
__all__ = ['HAS_C_LOADER', 'JSON_TYPE', 'Secrets', 'YamlTypeError', 'add_constructor', 'load_yaml', 'load_yaml_dict', 'parse_yaml', 'secret_yaml']
|
45
9
|
|
46
10
|
def load_yaml(fname: str | os.PathLike[str], secrets: Secrets | None = None) -> JSON_TYPE | None: ...
|
47
11
|
def load_yaml_dict(fname: str | os.PathLike[str], secrets: Secrets | None = None) -> dict: ...
|
48
12
|
def parse_yaml(content: str | TextIO | StringIO, secrets: Secrets | None = None) -> JSON_TYPE: ...
|
49
|
-
def _parse_yaml_python(content: str | TextIO | StringIO, secrets: Secrets | None = None) -> JSON_TYPE: ...
|
50
|
-
def _parse_yaml(loader: type[FastSafeLoader | PythonSafeLoader], content: str | TextIO, secrets: Secrets | None = None) -> JSON_TYPE: ...
|
51
|
-
@overload
|
52
|
-
def _add_reference(obj: list | NodeListClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeListClass: ...
|
53
|
-
@overload
|
54
|
-
def _add_reference(obj: str | NodeStrClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeStrClass: ...
|
55
|
-
@overload
|
56
|
-
def _add_reference(obj: dict | NodeDictClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeDictClass: ...
|
57
|
-
@overload
|
58
|
-
def _add_reference_to_node_class(obj: NodeListClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeListClass: ...
|
59
|
-
@overload
|
60
|
-
def _add_reference_to_node_class(obj: NodeStrClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeStrClass: ...
|
61
|
-
@overload
|
62
|
-
def _add_reference_to_node_class(obj: NodeDictClass, loader: LoaderType, node: yaml.nodes.Node) -> NodeDictClass: ...
|
63
|
-
def _raise_if_no_value[NodeT: yaml.nodes.Node, _R](func: Callable[[LoaderType, NodeT], _R]) -> Callable[[LoaderType, NodeT], _R]: ...
|
64
|
-
@_raise_if_no_value
|
65
|
-
def _include_yaml(loader: LoaderType, node: yaml.nodes.Node) -> JSON_TYPE: ...
|
66
|
-
def _is_file_valid(name: str) -> bool: ...
|
67
|
-
def _find_files(directory: str, pattern: str) -> Iterator[str]: ...
|
68
|
-
@_raise_if_no_value
|
69
|
-
def _include_dir_named_yaml(loader: LoaderType, node: yaml.nodes.Node) -> NodeDictClass: ...
|
70
|
-
@_raise_if_no_value
|
71
|
-
def _include_dir_merge_named_yaml(loader: LoaderType, node: yaml.nodes.Node) -> NodeDictClass: ...
|
72
|
-
@_raise_if_no_value
|
73
|
-
def _include_dir_list_yaml(loader: LoaderType, node: yaml.nodes.Node) -> list[JSON_TYPE]: ...
|
74
|
-
@_raise_if_no_value
|
75
|
-
def _include_dir_merge_list_yaml(loader: LoaderType, node: yaml.nodes.Node) -> JSON_TYPE: ...
|
76
|
-
def _handle_mapping_tag(loader: LoaderType, node: yaml.nodes.MappingNode) -> NodeDictClass: ...
|
77
|
-
def _construct_seq(loader: LoaderType, node: yaml.nodes.Node) -> JSON_TYPE: ...
|
78
|
-
def _handle_scalar_tag(loader: LoaderType, node: yaml.nodes.ScalarNode) -> str | int | float | None: ...
|
79
|
-
def _env_var_yaml(loader: LoaderType, node: yaml.nodes.Node) -> str: ...
|
80
13
|
def secret_yaml(loader: LoaderType, node: yaml.nodes.Node) -> JSON_TYPE: ...
|
81
|
-
def add_constructor(tag: Any, constructor: Any) -> None: ...
|
@@ -1,27 +1,3 @@
|
|
1
|
-
import
|
2
|
-
import yaml
|
3
|
-
from _typeshed import Incomplete
|
4
|
-
from dataclasses import dataclass
|
5
|
-
from typing import Any
|
1
|
+
from annotatedyaml import Input as Input, NodeDictClass as NodeDictClass, NodeListClass as NodeListClass, NodeStrClass as NodeStrClass
|
6
2
|
|
7
|
-
|
8
|
-
__slots__: Incomplete
|
9
|
-
__config_file__: str
|
10
|
-
__line__: int | str
|
11
|
-
|
12
|
-
class NodeStrClass(str):
|
13
|
-
__slots__: Incomplete
|
14
|
-
__config_file__: str
|
15
|
-
__line__: int | str
|
16
|
-
def __voluptuous_compile__(self, schema: vol.Schema) -> Any: ...
|
17
|
-
|
18
|
-
class NodeDictClass(dict):
|
19
|
-
__slots__: Incomplete
|
20
|
-
__config_file__: str
|
21
|
-
__line__: int | str
|
22
|
-
|
23
|
-
@dataclass(slots=True, frozen=True)
|
24
|
-
class Input:
|
25
|
-
name: str
|
26
|
-
@classmethod
|
27
|
-
def from_node(cls, loader: yaml.Loader, node: yaml.nodes.Node) -> Input: ...
|
3
|
+
__all__ = ['Input', 'NodeDictClass', 'NodeListClass', 'NodeStrClass']
|
{homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0b1.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: homeassistant-stubs
|
3
|
-
Version: 2025.
|
3
|
+
Version: 2025.4.0b1
|
4
4
|
Summary: PEP 484 typing stubs for Home Assistant Core
|
5
5
|
Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
|
6
6
|
Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
|
@@ -18,7 +18,7 @@ Classifier: Topic :: Home Automation
|
|
18
18
|
Classifier: Topic :: Software Development
|
19
19
|
Classifier: Typing :: Typed
|
20
20
|
Requires-Python: <3.14,>=3.13
|
21
|
-
Requires-Dist: homeassistant==2025.
|
21
|
+
Requires-Dist: homeassistant==2025.4.0b1
|
22
22
|
Description-Content-Type: text/markdown
|
23
23
|
|
24
24
|
[](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)
|