homeassistant-stubs 2024.6.4__py3-none-any.whl → 2024.7.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +2 -0
- homeassistant-stubs/auth/auth_store.pyi +1 -0
- homeassistant-stubs/auth/providers/homeassistant.pyi +8 -1
- homeassistant-stubs/block_async_io.pyi +23 -0
- homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
- homeassistant-stubs/components/accuweather/weather.pyi +1 -1
- homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
- homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
- homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
- homeassistant-stubs/components/airgradient/button.pyi +28 -0
- homeassistant-stubs/components/airgradient/const.pyi +2 -0
- homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
- homeassistant-stubs/components/airgradient/number.pyi +32 -0
- homeassistant-stubs/components/airgradient/select.pyi +14 -12
- homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
- homeassistant-stubs/components/airgradient/switch.pyi +33 -0
- homeassistant-stubs/components/airnow/const.pyi +1 -0
- homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
- homeassistant-stubs/components/airnow/sensor.pyi +1 -2
- homeassistant-stubs/components/airzone/__init__.pyi +4 -4
- homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/climate.pyi +3 -2
- homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone/entity.pyi +2 -1
- homeassistant-stubs/components/airzone/select.pyi +2 -2
- homeassistant-stubs/components/airzone/sensor.pyi +3 -2
- homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
- homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
- homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
- homeassistant-stubs/components/aladdin_connect/api.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -2
- homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -2
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
- homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
- homeassistant-stubs/components/alexa/entities.pyi +25 -24
- homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
- homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
- homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
- homeassistant-stubs/components/androidtv/entity.pyi +1 -0
- homeassistant-stubs/components/androidtv/remote.pyi +21 -0
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
- homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
- homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
- homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
- homeassistant-stubs/components/apprise/notify.pyi +2 -1
- homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
- homeassistant-stubs/components/apsystems/entity.pyi +10 -0
- homeassistant-stubs/components/apsystems/number.pyi +25 -0
- homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
- homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
- homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
- homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
- homeassistant-stubs/components/automation/__init__.pyi +10 -5
- homeassistant-stubs/components/automation/config.pyi +11 -1
- homeassistant-stubs/components/automation/trace.pyi +2 -2
- homeassistant-stubs/components/axis/config_flow.pyi +1 -0
- homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/baf/entity.pyi +6 -1
- homeassistant-stubs/components/baf/number.pyi +2 -4
- homeassistant-stubs/components/baf/sensor.pyi +2 -4
- homeassistant-stubs/components/baf/switch.pyi +2 -4
- homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
- homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
- homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
- homeassistant-stubs/components/blueprint/errors.pyi +1 -1
- homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
- homeassistant-stubs/components/brother/config_flow.pyi +9 -1
- homeassistant-stubs/components/button/__init__.pyi +4 -3
- homeassistant-stubs/components/calendar/__init__.pyi +2 -4
- homeassistant-stubs/components/camera/__init__.pyi +8 -7
- homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
- homeassistant-stubs/components/clickatell/notify.pyi +2 -1
- homeassistant-stubs/components/clicksend/notify.pyi +2 -1
- homeassistant-stubs/components/climate/__init__.pyi +5 -4
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/account_link.pyi +1 -1
- homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/cloud/const.pyi +6 -1
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/repairs.pyi +1 -3
- homeassistant-stubs/components/cloud/stt.pyi +1 -1
- homeassistant-stubs/components/cloud/system_health.pyi +1 -3
- homeassistant-stubs/components/cloud/tts.pyi +1 -1
- homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
- homeassistant-stubs/components/config/scene.pyi +3 -1
- homeassistant-stubs/components/counter/__init__.pyi +2 -2
- homeassistant-stubs/components/cover/__init__.pyi +3 -2
- homeassistant-stubs/components/demo/tts.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
- homeassistant-stubs/components/derivative/sensor.pyi +3 -1
- homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
- homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
- homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
- homeassistant-stubs/components/dnsip/const.pyi +2 -0
- homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +5 -5
- homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
- homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
- homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
- homeassistant-stubs/components/ecovacs/event.pyi +3 -3
- homeassistant-stubs/components/ecovacs/image.pyi +2 -2
- homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +3 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
- homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
- homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
- homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/efergy/__init__.pyi +3 -2
- homeassistant-stubs/components/efergy/sensor.pyi +3 -4
- homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
- homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
- homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
- homeassistant-stubs/components/electrasmart/const.pyi +10 -0
- homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
- homeassistant-stubs/components/elkm1/const.pyi +2 -1
- homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
- homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
- homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
- homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
- homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
- homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -5
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
- homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/esphome/button.pyi +3 -5
- homeassistant-stubs/components/esphome/camera.pyi +3 -5
- homeassistant-stubs/components/esphome/climate.pyi +3 -6
- homeassistant-stubs/components/esphome/cover.pyi +3 -5
- homeassistant-stubs/components/esphome/date.pyi +3 -5
- homeassistant-stubs/components/esphome/datetime.pyi +3 -5
- homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
- homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
- homeassistant-stubs/components/esphome/entity.pyi +2 -4
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
- homeassistant-stubs/components/esphome/event.pyi +3 -5
- homeassistant-stubs/components/esphome/fan.pyi +3 -6
- homeassistant-stubs/components/esphome/light.pyi +3 -6
- homeassistant-stubs/components/esphome/lock.pyi +3 -5
- homeassistant-stubs/components/esphome/manager.pyi +4 -5
- homeassistant-stubs/components/esphome/media_player.pyi +3 -5
- homeassistant-stubs/components/esphome/number.pyi +3 -5
- homeassistant-stubs/components/esphome/select.pyi +2 -4
- homeassistant-stubs/components/esphome/switch.pyi +3 -5
- homeassistant-stubs/components/esphome/text.pyi +3 -5
- homeassistant-stubs/components/esphome/time.pyi +3 -5
- homeassistant-stubs/components/esphome/update.pyi +22 -2
- homeassistant-stubs/components/esphome/valve.pyi +3 -5
- homeassistant-stubs/components/event/__init__.pyi +3 -1
- homeassistant-stubs/components/evohome/__init__.pyi +8 -49
- homeassistant-stubs/components/evohome/climate.pyi +2 -2
- homeassistant-stubs/components/evohome/const.pyi +39 -16
- homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
- homeassistant-stubs/components/evohome/helpers.pyi +13 -0
- homeassistant-stubs/components/fan/__init__.pyi +3 -2
- homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
- homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
- homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
- homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
- homeassistant-stubs/components/feedreader/const.pyi +5 -0
- homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
- homeassistant-stubs/components/filter/sensor.pyi +2 -1
- homeassistant-stubs/components/flux_led/light.pyi +4 -3
- homeassistant-stubs/components/fritz/switch.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
- homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
- homeassistant-stubs/components/frontend/__init__.pyi +9 -4
- homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
- homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
- homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
- homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
- homeassistant-stubs/components/glances/__init__.pyi +3 -2
- homeassistant-stubs/components/glances/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
- homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
- homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/switch.pyi +2 -3
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
- homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
- homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
- homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
- homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/group/cover.pyi +2 -1
- homeassistant-stubs/components/group/entity.pyi +2 -2
- homeassistant-stubs/components/group/event.pyi +2 -1
- homeassistant-stubs/components/group/fan.pyi +2 -1
- homeassistant-stubs/components/group/light.pyi +2 -1
- homeassistant-stubs/components/group/lock.pyi +2 -1
- homeassistant-stubs/components/group/media_player.pyi +2 -1
- homeassistant-stubs/components/group/notify.pyi +2 -1
- homeassistant-stubs/components/group/registry.pyi +8 -2
- homeassistant-stubs/components/group/switch.pyi +2 -1
- homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
- homeassistant-stubs/components/homeassistant/const.pyi +3 -1
- homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
- homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
- homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
- homeassistant-stubs/components/http/__init__.pyi +20 -3
- homeassistant-stubs/components/http/cors.pyi +1 -1
- homeassistant-stubs/components/http/data_validator.pyi +2 -1
- homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
- homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
- homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
- homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
- homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
- homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +3 -0
- homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
- homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
- homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
- homeassistant-stubs/components/image/__init__.pyi +3 -2
- homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
- homeassistant-stubs/components/imap/__init__.pyi +5 -4
- homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
- homeassistant-stubs/components/imap/sensor.pyi +5 -5
- homeassistant-stubs/components/input_button/__init__.pyi +3 -4
- homeassistant-stubs/components/input_select/__init__.pyi +2 -2
- homeassistant-stubs/components/input_text/__init__.pyi +3 -4
- homeassistant-stubs/components/integration/__init__.pyi +2 -0
- homeassistant-stubs/components/integration/config_flow.pyi +1 -1
- homeassistant-stubs/components/integration/const.pyi +1 -0
- homeassistant-stubs/components/integration/sensor.pyi +33 -12
- homeassistant-stubs/components/intent/timers.pyi +7 -3
- homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
- homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/services.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
- homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
- homeassistant-stubs/components/knocki/__init__.pyi +12 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
- homeassistant-stubs/components/knocki/const.pyi +4 -0
- homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
- homeassistant-stubs/components/knocki/event.pyi +25 -0
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
- homeassistant-stubs/components/knx/trigger.pyi +2 -3
- homeassistant-stubs/components/knx/websocket.pyi +1 -0
- homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
- homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
- homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
- homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
- homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
- homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
- homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/switch.pyi +20 -7
- homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
- homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
- homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
- homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
- homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
- homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/light.pyi +3 -2
- homeassistant-stubs/components/light/__init__.pyi +8 -6
- homeassistant-stubs/components/light/device_action.pyi +1 -1
- homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/button.pyi +2 -4
- homeassistant-stubs/components/litterrobot/select.pyi +2 -3
- homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
- homeassistant-stubs/components/litterrobot/time.pyi +2 -4
- homeassistant-stubs/components/litterrobot/update.pyi +3 -4
- homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
- homeassistant-stubs/components/lock/__init__.pyi +4 -3
- homeassistant-stubs/components/logbook/processor.pyi +4 -3
- homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
- homeassistant-stubs/components/mastodon/notify.pyi +2 -1
- homeassistant-stubs/components/matrix/notify.pyi +2 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/discovery.pyi +3 -3
- homeassistant-stubs/components/matter/entity.pyi +8 -1
- homeassistant-stubs/components/matter/event.pyi +0 -2
- homeassistant-stubs/components/matter/lock.pyi +1 -0
- homeassistant-stubs/components/matter/models.pyi +1 -2
- homeassistant-stubs/components/matter/number.pyi +24 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/media_player/__init__.pyi +3 -2
- homeassistant-stubs/components/media_player/intent.pyi +2 -1
- homeassistant-stubs/components/mikrotik/__init__.pyi +2 -1
- homeassistant-stubs/components/mikrotik/device_tracker.pyi +2 -3
- homeassistant-stubs/components/min_max/sensor.pyi +2 -1
- homeassistant-stubs/components/modbus/sensor.pyi +2 -2
- homeassistant-stubs/components/monzo/config_flow.pyi +5 -1
- homeassistant-stubs/components/monzo/coordinator.pyi +1 -0
- homeassistant-stubs/components/motionmount/select.pyi +5 -2
- homeassistant-stubs/components/mqtt/async_client.pyi +22 -0
- homeassistant-stubs/components/mqtt/client.pyi +13 -28
- homeassistant-stubs/components/mqtt/climate.pyi +2 -3
- homeassistant-stubs/components/mqtt/cover.pyi +2 -3
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -3
- homeassistant-stubs/components/mqtt/event.pyi +2 -3
- homeassistant-stubs/components/mqtt/fan.pyi +2 -3
- homeassistant-stubs/components/mqtt/humidifier.pyi +2 -3
- homeassistant-stubs/components/mqtt/image.pyi +2 -3
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -3
- homeassistant-stubs/components/mqtt/mixins.pyi +4 -4
- homeassistant-stubs/components/mqtt/models.pyi +2 -3
- homeassistant-stubs/components/mqtt/number.pyi +2 -3
- homeassistant-stubs/components/mqtt/select.pyi +2 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +2 -3
- homeassistant-stubs/components/mqtt/siren.pyi +2 -3
- homeassistant-stubs/components/mqtt/text.pyi +2 -3
- homeassistant-stubs/components/mqtt/update.pyi +2 -3
- homeassistant-stubs/components/mqtt/util.pyi +23 -2
- homeassistant-stubs/components/mqtt/vacuum.pyi +2 -3
- homeassistant-stubs/components/mqtt/valve.pyi +2 -3
- homeassistant-stubs/components/mqtt/water_heater.pyi +2 -3
- homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
- homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +4 -1
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/myuplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/myuplink/number.pyi +2 -4
- homeassistant-stubs/components/myuplink/sensor.pyi +3 -5
- homeassistant-stubs/components/myuplink/switch.pyi +2 -4
- homeassistant-stubs/components/myuplink/update.pyi +2 -4
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +1 -1
- homeassistant-stubs/components/nanoleaf/__init__.pyi +6 -14
- homeassistant-stubs/components/nanoleaf/button.pyi +4 -7
- homeassistant-stubs/components/nanoleaf/coordinator.pyi +12 -0
- homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -0
- homeassistant-stubs/components/nanoleaf/diagnostics.pyi +2 -4
- homeassistant-stubs/components/nanoleaf/entity.pyi +4 -4
- homeassistant-stubs/components/nanoleaf/event.pyi +18 -0
- homeassistant-stubs/components/nanoleaf/light.pyi +4 -7
- homeassistant-stubs/components/number/__init__.pyi +3 -1
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/ping/binary_sensor.pyi +2 -8
- homeassistant-stubs/components/ping/config_flow.pyi +2 -4
- homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
- homeassistant-stubs/components/plugwise/button.pyi +20 -0
- homeassistant-stubs/components/plugwise/const.pyi +3 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
- homeassistant-stubs/components/plugwise/number.pyi +2 -4
- homeassistant-stubs/components/plugwise/select.pyi +3 -5
- homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
- homeassistant-stubs/components/radarr/__init__.pyi +14 -2
- homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/radarr/calendar.pyi +2 -4
- homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
- homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
- homeassistant-stubs/components/radarr/sensor.pyi +2 -4
- homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/const.pyi +3 -1
- homeassistant-stubs/components/recorder/core.pyi +2 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +2 -1
- homeassistant-stubs/components/recorder/purge.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +7 -4
- homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +4 -3
- homeassistant-stubs/components/remote/__init__.pyi +5 -4
- homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/rest/notify.pyi +2 -1
- homeassistant-stubs/components/rest/sensor.pyi +2 -1
- homeassistant-stubs/components/rest/switch.pyi +2 -1
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
- homeassistant-stubs/components/roborock/__init__.pyi +30 -0
- homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/roborock/button.pyi +28 -0
- homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
- homeassistant-stubs/components/roborock/const.pyi +13 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
- homeassistant-stubs/components/roborock/device.pyi +53 -0
- homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
- homeassistant-stubs/components/roborock/image.pyi +37 -0
- homeassistant-stubs/components/roborock/models.pyi +27 -0
- homeassistant-stubs/components/roborock/number.pyi +35 -0
- homeassistant-stubs/components/roborock/select.pyi +37 -0
- homeassistant-stubs/components/roborock/sensor.pyi +47 -0
- homeassistant-stubs/components/roborock/switch.pyi +37 -0
- homeassistant-stubs/components/roborock/time.pyi +38 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
- homeassistant-stubs/components/roku/media_player.pyi +2 -1
- homeassistant-stubs/components/schedule/__init__.pyi +5 -5
- homeassistant-stubs/components/select/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -2
- homeassistant-stubs/components/shelly/climate.pyi +3 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
- homeassistant-stubs/components/shelly/switch.pyi +2 -18
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
- homeassistant-stubs/components/siren/__init__.pyi +4 -3
- homeassistant-stubs/components/sql/sensor.pyi +2 -1
- homeassistant-stubs/components/starlink/const.pyi +1 -0
- homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
- homeassistant-stubs/components/statistics/__init__.pyi +6 -0
- homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
- homeassistant-stubs/components/statistics/sensor.pyi +4 -1
- homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
- homeassistant-stubs/components/stream/worker.pyi +3 -2
- homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
- homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
- homeassistant-stubs/components/switch/__init__.pyi +4 -3
- homeassistant-stubs/components/switch/light.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
- homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
- homeassistant-stubs/components/tag/__init__.pyi +4 -5
- homeassistant-stubs/components/tami4/__init__.pyi +1 -1
- homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
- homeassistant-stubs/components/tami4/sensor.pyi +3 -3
- homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
- homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
- homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
- homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
- homeassistant-stubs/components/tibber/__init__.pyi +1 -0
- homeassistant-stubs/components/tibber/sensor.pyi +12 -6
- homeassistant-stubs/components/tibber/services.pyi +15 -0
- homeassistant-stubs/components/time_date/sensor.pyi +3 -3
- homeassistant-stubs/components/timer/__init__.pyi +2 -2
- homeassistant-stubs/components/todo/__init__.pyi +3 -2
- homeassistant-stubs/components/tplink/__init__.pyi +9 -6
- homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/tplink/button.pyi +22 -0
- homeassistant-stubs/components/tplink/climate.pyi +42 -0
- homeassistant-stubs/components/tplink/config_flow.pyi +4 -4
- homeassistant-stubs/components/tplink/const.pyi +3 -1
- homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
- homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/tplink/entity.pyi +49 -7
- homeassistant-stubs/components/tplink/fan.pyi +31 -0
- homeassistant-stubs/components/tplink/light.pyi +19 -19
- homeassistant-stubs/components/tplink/number.pyi +27 -0
- homeassistant-stubs/components/tplink/select.pyi +26 -0
- homeassistant-stubs/components/tplink/sensor.pyi +14 -22
- homeassistant-stubs/components/tplink/switch.pyi +14 -34
- homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
- homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
- homeassistant-stubs/components/transmission/__init__.pyi +9 -3
- homeassistant-stubs/components/transmission/sensor.pyi +2 -2
- homeassistant-stubs/components/transmission/switch.pyi +2 -4
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
- homeassistant-stubs/components/tts/notify.pyi +2 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
- homeassistant-stubs/components/unifi/sensor.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
- homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
- homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
- homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
- homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
- homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
- homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
- homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
- homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
- homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
- homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
- homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
- homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
- homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
- homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
- homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
- homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
- homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
- homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
- homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
- homeassistant-stubs/components/update/__init__.pyi +3 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
- homeassistant-stubs/components/vallox/sensor.pyi +5 -1
- homeassistant-stubs/components/valve/__init__.pyi +3 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
- homeassistant-stubs/components/weather/__init__.pyi +4 -5
- homeassistant-stubs/components/webhook/__init__.pyi +1 -1
- homeassistant-stubs/components/webostv/__init__.pyi +7 -0
- homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
- homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
- homeassistant-stubs/components/wemo/entity.pyi +2 -2
- homeassistant-stubs/components/wemo/fan.pyi +2 -1
- homeassistant-stubs/components/withings/coordinator.pyi +3 -3
- homeassistant-stubs/components/withings/sensor.pyi +6 -2
- homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
- homeassistant-stubs/components/zone/__init__.pyi +3 -3
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +1 -5
- homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
- homeassistant-stubs/components/zwave_js/const.pyi +5 -0
- homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
- homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
- homeassistant-stubs/components/zwave_js/services.pyi +3 -2
- homeassistant-stubs/config.pyi +4 -5
- homeassistant-stubs/config_entries.pyi +6 -3
- homeassistant-stubs/const.pyi +9 -3
- homeassistant-stubs/core.pyi +13 -8
- homeassistant-stubs/data_entry_flow.pyi +12 -2
- homeassistant-stubs/exceptions.pyi +6 -5
- homeassistant-stubs/helpers/__init__.pyi +0 -5
- homeassistant-stubs/helpers/collection.pyi +14 -11
- homeassistant-stubs/helpers/condition.pyi +3 -2
- homeassistant-stubs/helpers/config_validation.pyi +5 -4
- homeassistant-stubs/helpers/deprecation.pyi +10 -0
- homeassistant-stubs/helpers/device.pyi +8 -0
- homeassistant-stubs/helpers/device_registry.pyi +14 -2
- homeassistant-stubs/helpers/entity.pyi +3 -2
- homeassistant-stubs/helpers/entity_component.pyi +3 -4
- homeassistant-stubs/helpers/entity_platform.pyi +2 -3
- homeassistant-stubs/helpers/frame.pyi +1 -0
- homeassistant-stubs/helpers/http.pyi +1 -1
- homeassistant-stubs/helpers/intent.pyi +6 -4
- homeassistant-stubs/helpers/llm.pyi +17 -3
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
- homeassistant-stubs/helpers/script.pyi +3 -2
- homeassistant-stubs/helpers/selector.pyi +10 -8
- homeassistant-stubs/helpers/service.pyi +6 -3
- homeassistant-stubs/helpers/template.pyi +8 -6
- homeassistant-stubs/helpers/trace.pyi +3 -2
- homeassistant-stubs/helpers/typing.pyi +6 -1
- homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
- homeassistant-stubs/loader.pyi +1 -2
- homeassistant-stubs/requirements.pyi +0 -3
- homeassistant-stubs/setup.pyi +4 -3
- homeassistant-stubs/util/loop.pyi +2 -1
- homeassistant-stubs/util/unit_conversion.pyi +7 -1
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/RECORD +591 -548
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
- homeassistant-stubs/components/air_quality/group.pyi +0 -5
- homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
- homeassistant-stubs/components/climate/group.pyi +0 -6
- homeassistant-stubs/components/cover/group.pyi +0 -6
- homeassistant-stubs/components/device_tracker/group.pyi +0 -6
- homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
- homeassistant-stubs/components/lock/group.pyi +0 -6
- homeassistant-stubs/components/media_player/group.pyi +0 -6
- homeassistant-stubs/components/sensor/group.pyi +0 -5
- homeassistant-stubs/components/vacuum/group.pyi +0 -6
- homeassistant-stubs/components/water_heater/group.pyi +0 -6
- homeassistant-stubs/components/weather/group.pyi +0 -5
- homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/WHEEL +0 -0
@@ -2,6 +2,7 @@ import re
|
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import template as template_helper
|
4
4
|
from .frame import get_integration_logger as get_integration_logger
|
5
|
+
from .typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
5
6
|
from _typeshed import Incomplete
|
6
7
|
from collections.abc import Callable as Callable, Hashable
|
7
8
|
from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
|
@@ -126,8 +127,8 @@ class multi_select:
|
|
126
127
|
def _deprecated_or_removed(key: str, replacement_key: str | None, default: Any | None, raise_if_present: bool, option_removed: bool) -> Callable[[dict], dict]: ...
|
127
128
|
def deprecated(key: str, replacement_key: str | None = None, default: Any | None = None, raise_if_present: bool | None = False) -> Callable[[dict], dict]: ...
|
128
129
|
def removed(key: str, default: Any | None = None, raise_if_present: bool | None = True) -> Callable[[dict], dict]: ...
|
129
|
-
def key_value_schemas(key: str, value_schemas: dict[Hashable,
|
130
|
-
def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[
|
130
|
+
def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
|
131
|
+
def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
|
131
132
|
def custom_serializer(schema: Any) -> Any: ...
|
132
133
|
def expand_condition_shorthand(value: Any | None) -> Any: ...
|
133
134
|
def empty_config_schema(domain: str) -> Callable[[dict], dict]: ...
|
@@ -157,13 +158,13 @@ SCRIPT_ACTION_BASE_SCHEMA: Incomplete
|
|
157
158
|
EVENT_SCHEMA: Incomplete
|
158
159
|
SERVICE_SCHEMA: Incomplete
|
159
160
|
NUMERIC_STATE_THRESHOLD_SCHEMA: Incomplete
|
160
|
-
CONDITION_BASE_SCHEMA:
|
161
|
+
CONDITION_BASE_SCHEMA: VolDictType
|
161
162
|
NUMERIC_STATE_CONDITION_SCHEMA: Incomplete
|
162
163
|
STATE_CONDITION_BASE_SCHEMA: Incomplete
|
163
164
|
STATE_CONDITION_STATE_SCHEMA: Incomplete
|
164
165
|
STATE_CONDITION_ATTRIBUTE_SCHEMA: Incomplete
|
165
166
|
|
166
|
-
def STATE_CONDITION_SCHEMA(value: Any) -> dict: ...
|
167
|
+
def STATE_CONDITION_SCHEMA(value: Any) -> dict[str, Any]: ...
|
167
168
|
|
168
169
|
SUN_CONDITION_SCHEMA: Incomplete
|
169
170
|
TEMPLATE_CONDITION_SCHEMA: Incomplete
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import functools
|
2
|
+
from _typeshed import Incomplete
|
1
3
|
from collections.abc import Callable as Callable
|
2
4
|
from enum import Enum
|
3
5
|
from typing import Any, NamedTuple
|
@@ -23,6 +25,14 @@ class DeprecatedAlias(NamedTuple):
|
|
23
25
|
replacement: str
|
24
26
|
breaks_in_ha_version: str | None
|
25
27
|
|
28
|
+
class DeferredDeprecatedAlias:
|
29
|
+
breaks_in_ha_version: Incomplete
|
30
|
+
replacement: Incomplete
|
31
|
+
_value_fn: Incomplete
|
32
|
+
def __init__(self, value_fn: Callable[[], Any], replacement: str, breaks_in_ha_version: str | None) -> None: ...
|
33
|
+
@functools.cached_property
|
34
|
+
def value(self) -> Any: ...
|
35
|
+
|
26
36
|
_PREFIX_DEPRECATED: str
|
27
37
|
|
28
38
|
def check_if_deprecated_constant(name: str, module_globals: dict[str, Any]) -> Any: ...
|
@@ -0,0 +1,8 @@
|
|
1
|
+
from . import device_registry as dr
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
3
|
+
|
4
|
+
def async_entity_id_to_device_id(hass: HomeAssistant, entity_id_or_uuid: str) -> str | None: ...
|
5
|
+
def async_device_info_to_link_from_entity(hass: HomeAssistant, entity_id_or_uuid: str) -> dr.DeviceInfo | None: ...
|
6
|
+
def async_device_info_to_link_from_device_id(hass: HomeAssistant, device_id: str | None) -> dr.DeviceInfo | None: ...
|
7
|
+
def async_remove_stale_devices_links_keep_entity_device(hass: HomeAssistant, entry_id: str, source_entity_id_or_uuid: str) -> None: ...
|
8
|
+
def async_remove_stale_devices_links_keep_current_device(hass: HomeAssistant, entry_id: str, current_device_id: str | None) -> None: ...
|
@@ -66,6 +66,7 @@ class DeviceInfo(TypedDict, total=False):
|
|
66
66
|
|
67
67
|
DEVICE_INFO_TYPES: Incomplete
|
68
68
|
DEVICE_INFO_KEYS: Incomplete
|
69
|
+
LOW_PRIO_CONFIG_ENTRY_DOMAINS: Incomplete
|
69
70
|
|
70
71
|
class _EventDeviceRegistryUpdatedData_CreateRemove(TypedDict):
|
71
72
|
action: Literal['create', 'remove']
|
@@ -86,6 +87,14 @@ class DeviceInfoError(HomeAssistantError):
|
|
86
87
|
domain: Incomplete
|
87
88
|
def __init__(self, domain: str, device_info: DeviceInfo, message: str) -> None: ...
|
88
89
|
|
90
|
+
class DeviceCollisionError(HomeAssistantError): ...
|
91
|
+
|
92
|
+
class DeviceIdentifierCollisionError(DeviceCollisionError):
|
93
|
+
def __init__(self, identifiers: set[tuple[str, str]], existing_device: DeviceEntry) -> None: ...
|
94
|
+
|
95
|
+
class DeviceConnectionCollisionError(DeviceCollisionError):
|
96
|
+
def __init__(self, normalized_connections: set[tuple[str, str]], existing_device: DeviceEntry) -> None: ...
|
97
|
+
|
89
98
|
def _validate_device_info(config_entry: ConfigEntry, device_info: DeviceInfo) -> str: ...
|
90
99
|
|
91
100
|
_cached_parse_url: Incomplete
|
@@ -107,6 +116,7 @@ class DeviceEntry:
|
|
107
116
|
model: str | None
|
108
117
|
name_by_user: str | None
|
109
118
|
name: str | None
|
119
|
+
primary_config_entry: str | None
|
110
120
|
serial_number: str | None
|
111
121
|
suggested_area: str | None
|
112
122
|
sw_version: str | None
|
@@ -120,7 +130,7 @@ class DeviceEntry:
|
|
120
130
|
def json_repr(self) -> bytes | None: ...
|
121
131
|
@cached_property
|
122
132
|
def as_storage_fragment(self) -> json_fragment: ...
|
123
|
-
def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
|
133
|
+
def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, primary_config_entry, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
|
124
134
|
def __lt__(self, other): ...
|
125
135
|
def __le__(self, other): ...
|
126
136
|
def __gt__(self, other): ...
|
@@ -177,7 +187,9 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
|
|
177
187
|
def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
|
178
188
|
def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
|
179
189
|
def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
|
180
|
-
def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
|
190
|
+
def async_update_device(self, device_id: str, *, add_config_entry: ConfigEntry | UndefinedType = ..., add_config_entry_id: str | UndefinedType = ..., allow_collisions: bool = False, area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., device_info_type: str | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
|
191
|
+
def _validate_connections(self, device_id: str, connections: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
|
192
|
+
def _validate_identifiers(self, device_id: str, identifiers: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
|
181
193
|
def async_remove_device(self, device_id: str) -> None: ...
|
182
194
|
async def async_load(self) -> None: ...
|
183
195
|
def _data_to_save(self) -> dict[str, Any]: ...
|
@@ -5,6 +5,7 @@ from . import device_registry as dr, entity_registry as er, singleton as singlet
|
|
5
5
|
from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
6
6
|
from .entity_platform import EntityPlatform as EntityPlatform
|
7
7
|
from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
|
8
|
+
from .frame import report_non_thread_safe_operation as report_non_thread_safe_operation
|
8
9
|
from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
9
10
|
from _typeshed import Incomplete
|
10
11
|
from abc import ABCMeta
|
@@ -98,6 +99,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
98
99
|
_no_platform_reported: bool
|
99
100
|
_name_translation_placeholders_reported: bool
|
100
101
|
_update_staged: bool
|
102
|
+
_verified_state_writable: bool
|
101
103
|
parallel_updates: asyncio.Semaphore | None
|
102
104
|
registry_entry: er.RegistryEntry | None
|
103
105
|
_removed_from_registry: bool
|
@@ -112,7 +114,6 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
112
114
|
__combined_unrecorded_attributes: frozenset[str]
|
113
115
|
_job_types: dict[str, HassJobType] | None
|
114
116
|
_state_info: StateInfo
|
115
|
-
_is_custom_component: bool
|
116
117
|
__capabilities_updated_at: deque[float]
|
117
118
|
__capabilities_updated_at_reported: bool
|
118
119
|
__remove_future: asyncio.Future[None] | None
|
@@ -144,7 +145,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
144
145
|
def should_poll(self) -> bool: ...
|
145
146
|
@cached_property
|
146
147
|
def unique_id(self) -> str | None: ...
|
147
|
-
@
|
148
|
+
@cached_property
|
148
149
|
def use_device_name(self) -> bool: ...
|
149
150
|
@cached_property
|
150
151
|
def has_entity_name(self) -> bool: ...
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import logging
|
2
|
-
import voluptuous as vol
|
3
2
|
from . import discovery as discovery, entity as entity, service as service
|
4
3
|
from .entity_platform import EntityPlatform as EntityPlatform
|
5
|
-
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
4
|
+
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
6
5
|
from _typeshed import Incomplete
|
7
6
|
from collections.abc import Callable as Callable, Iterable
|
8
7
|
from datetime import timedelta
|
@@ -43,8 +42,8 @@ class EntityComponent(Generic[_EntityT]):
|
|
43
42
|
async def async_setup_entry(self, config_entry: ConfigEntry) -> bool: ...
|
44
43
|
async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
|
45
44
|
async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
|
46
|
-
def async_register_legacy_entity_service(self, name: str, schema:
|
47
|
-
def async_register_entity_service(self, name: str, schema:
|
45
|
+
def async_register_legacy_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
46
|
+
def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
48
47
|
async def async_setup_platform(self, platform_type: str, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
49
48
|
async def _async_reset(self) -> None: ...
|
50
49
|
async def async_remove_entity(self, entity_id: str) -> None: ...
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import asyncio
|
2
|
-
import voluptuous as vol
|
3
2
|
from . import service as service, translation as translation
|
4
3
|
from .entity import Entity as Entity
|
5
4
|
from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
|
6
5
|
from .event import async_call_later as async_call_later
|
7
6
|
from .issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
8
|
-
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED
|
7
|
+
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
9
8
|
from _typeshed import Incomplete
|
10
9
|
from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
|
11
10
|
from contextvars import ContextVar
|
@@ -91,7 +90,7 @@ class EntityPlatform:
|
|
91
90
|
async def async_destroy(self) -> None: ...
|
92
91
|
async def async_remove_entity(self, entity_id: str) -> None: ...
|
93
92
|
async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
|
94
|
-
def async_register_entity_service(self, name: str, schema:
|
93
|
+
def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
|
95
94
|
async def _async_update_entity_states(self) -> None: ...
|
96
95
|
|
97
96
|
current_platform: ContextVar[EntityPlatform | None]
|
@@ -35,3 +35,4 @@ class MissingIntegrationFrame(HomeAssistantError): ...
|
|
35
35
|
def report(what: str, exclude_integrations: set | None = None, error_if_core: bool = True, level: int = ..., log_custom_component_only: bool = False, error_if_integration: bool = False) -> None: ...
|
36
36
|
def _report_integration(what: str, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
|
37
37
|
def warn_use(func: _CallableT, what: str) -> _CallableT: ...
|
38
|
+
def report_non_thread_safe_operation(what: str) -> None: ...
|
@@ -16,7 +16,7 @@ _LOGGER: Incomplete
|
|
16
16
|
AllowCorsType: Incomplete
|
17
17
|
KEY_AUTHENTICATED: Final[str]
|
18
18
|
KEY_ALLOW_ALL_CORS: Incomplete
|
19
|
-
|
19
|
+
KEY_ALLOW_CONFIGURED_CORS: Incomplete
|
20
20
|
KEY_HASS: AppKey[HomeAssistant]
|
21
21
|
current_request: ContextVar[Request | None]
|
22
22
|
|
@@ -2,6 +2,7 @@ import abc
|
|
2
2
|
import asyncio
|
3
3
|
import voluptuous as vol
|
4
4
|
from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry
|
5
|
+
from .typing import VolSchemaType as VolSchemaType
|
5
6
|
from _typeshed import Incomplete
|
6
7
|
from abc import abstractmethod
|
7
8
|
from collections.abc import Collection, Iterable
|
@@ -18,6 +19,7 @@ from typing import Any
|
|
18
19
|
|
19
20
|
_LOGGER: Incomplete
|
20
21
|
_SlotsType = dict[str, Any]
|
22
|
+
_IntentSlotsType: Incomplete
|
21
23
|
INTENT_TURN_OFF: str
|
22
24
|
INTENT_TURN_ON: str
|
23
25
|
INTENT_TOGGLE: str
|
@@ -116,8 +118,8 @@ class MatchTargetsCandidate:
|
|
116
118
|
matched_name: str | None = ...
|
117
119
|
def __init__(self, state, entity, area, floor, device, matched_name) -> None: ...
|
118
120
|
|
119
|
-
def
|
120
|
-
def
|
121
|
+
def find_areas(name: str, areas: area_registry.AreaRegistry) -> Iterable[area_registry.AreaEntry]: ...
|
122
|
+
def find_floors(name: str, floors: floor_registry.FloorRegistry) -> Iterable[floor_registry.FloorEntry]: ...
|
121
123
|
def _normalize_name(name: str) -> str: ...
|
122
124
|
def _filter_by_name(name: str, candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
|
123
125
|
def _filter_by_features(features: int, candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
|
@@ -153,7 +155,7 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
|
|
153
155
|
platforms: Incomplete
|
154
156
|
required_slots: Incomplete
|
155
157
|
optional_slots: Incomplete
|
156
|
-
def __init__(self, intent_type: str, speech: str | None = None, required_slots:
|
158
|
+
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) -> None: ...
|
157
159
|
@cached_property
|
158
160
|
def slot_schema(self) -> dict: ...
|
159
161
|
@abstractmethod
|
@@ -166,7 +168,7 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
|
|
166
168
|
class ServiceIntentHandler(DynamicServiceIntentHandler):
|
167
169
|
domain: Incomplete
|
168
170
|
service: Incomplete
|
169
|
-
def __init__(self, intent_type: str, domain: str, service: str, speech: str | None = None, required_slots:
|
171
|
+
def __init__(self, intent_type: str, domain: str, service: 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) -> None: ...
|
170
172
|
def get_domain_and_service(self, intent_obj: Intent, state: State) -> tuple[str, str]: ...
|
171
173
|
|
172
174
|
class IntentCategory(Enum):
|
@@ -1,22 +1,27 @@
|
|
1
1
|
import abc
|
2
2
|
import voluptuous as vol
|
3
|
-
from . import intent as intent, service as service
|
3
|
+
from . import intent as intent, selector as selector, service as service
|
4
4
|
from .singleton import singleton as singleton
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from abc import ABC, abstractmethod
|
7
|
+
from collections.abc import Callable as Callable
|
7
8
|
from dataclasses import dataclass
|
8
9
|
from homeassistant.components.climate.intent import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
|
9
10
|
from homeassistant.components.conversation.trace import ConversationTraceEventType as ConversationTraceEventType, async_conversation_trace_append as async_conversation_trace_append
|
10
11
|
from homeassistant.components.cover.intent import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
|
11
12
|
from homeassistant.components.homeassistant.exposed_entities import async_should_expose as async_should_expose
|
12
13
|
from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
|
14
|
+
from homeassistant.components.script import ATTR_VARIABLES as ATTR_VARIABLES
|
13
15
|
from homeassistant.components.weather.intent import INTENT_GET_WEATHER as INTENT_GET_WEATHER
|
14
|
-
from homeassistant.
|
16
|
+
from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SERVICE as ATTR_SERVICE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, SERVICE_TURN_ON as SERVICE_TURN_ON
|
17
|
+
from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
|
15
18
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
16
19
|
from homeassistant.util import yaml as yaml
|
20
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
17
21
|
from homeassistant.util.json import JsonObjectType as JsonObjectType
|
18
22
|
from typing import Any
|
19
23
|
|
24
|
+
SCRIPT_PARAMETERS_CACHE: HassKey[dict[str, tuple[str | None, vol.Schema]]]
|
20
25
|
LLM_API_ASSIST: str
|
21
26
|
BASE_PROMPT: str
|
22
27
|
DEFAULT_INSTRUCTIONS_PROMPT: str
|
@@ -57,8 +62,9 @@ class APIInstance:
|
|
57
62
|
api_prompt: str
|
58
63
|
llm_context: LLMContext
|
59
64
|
tools: list[Tool]
|
65
|
+
custom_serializer: Callable[[Any], Any] | None = ...
|
60
66
|
async def async_call_tool(self, tool_input: ToolInput) -> JsonObjectType: ...
|
61
|
-
def __init__(self, api, api_prompt, llm_context, tools) -> None: ...
|
67
|
+
def __init__(self, api, api_prompt, llm_context, tools, custom_serializer) -> None: ...
|
62
68
|
|
63
69
|
@dataclass(slots=True, kw_only=True)
|
64
70
|
class API(ABC, metaclass=abc.ABCMeta):
|
@@ -86,3 +92,11 @@ class AssistAPI(API):
|
|
86
92
|
def _async_get_tools(self, llm_context: LLMContext, exposed_entities: dict | None) -> list[Tool]: ...
|
87
93
|
|
88
94
|
def _get_exposed_entities(hass: HomeAssistant, assistant: str) -> dict[str, dict[str, Any]]: ...
|
95
|
+
def _selector_serializer(schema: Any) -> Any: ...
|
96
|
+
|
97
|
+
class ScriptTool(Tool):
|
98
|
+
name: Incomplete
|
99
|
+
parameters: Incomplete
|
100
|
+
description: Incomplete
|
101
|
+
def __init__(self, hass: HomeAssistant, script_entity_id: str) -> None: ...
|
102
|
+
async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
|
@@ -4,7 +4,7 @@ from . import selector as selector
|
|
4
4
|
from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from abc import ABC, abstractmethod
|
7
|
-
from collections.abc import Callable
|
7
|
+
from collections.abc import Callable, Container, Coroutine, Mapping
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
|
@@ -78,4 +78,4 @@ class SchemaOptionsFlowHandler(OptionsFlowWithConfigEntry):
|
|
78
78
|
def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
|
79
79
|
|
80
80
|
def wrapped_entity_config_entry_title(hass: HomeAssistant, entity_id_or_uuid: str) -> str: ...
|
81
|
-
def entity_selector_without_own_entities(handler: SchemaOptionsFlowHandler, entity_selector_config: selector.EntitySelectorConfig) ->
|
81
|
+
def entity_selector_without_own_entities(handler: SchemaOptionsFlowHandler, entity_selector_config: selector.EntitySelectorConfig) -> selector.EntitySelector: ...
|
@@ -11,7 +11,7 @@ from .trace import TraceElement as TraceElement, async_trace_path as async_trace
|
|
11
11
|
from .trigger import async_initialize_triggers as async_initialize_triggers, async_validate_trigger_config as async_validate_trigger_config
|
12
12
|
from .typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
13
13
|
from _typeshed import Incomplete
|
14
|
-
from collections.abc import
|
14
|
+
from collections.abc import Callable as Callable, Mapping, Sequence
|
15
15
|
from contextvars import ContextVar
|
16
16
|
from dataclasses import dataclass
|
17
17
|
from datetime import datetime, timedelta
|
@@ -27,6 +27,7 @@ from homeassistant.util.dt import utcnow as utcnow
|
|
27
27
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
28
28
|
from homeassistant.util.signal_type import SignalType as SignalType, SignalTypeFormat as SignalTypeFormat
|
29
29
|
from typing import Any, Literal, TypedDict
|
30
|
+
from typing_extensions import AsyncGenerator
|
30
31
|
|
31
32
|
SCRIPT_MODE_PARALLEL: str
|
32
33
|
SCRIPT_MODE_QUEUED: str
|
@@ -64,7 +65,7 @@ class ScriptStoppedError(Exception): ...
|
|
64
65
|
|
65
66
|
def _set_result_unless_done(future: asyncio.Future[None]) -> None: ...
|
66
67
|
def action_trace_append(variables, path): ...
|
67
|
-
async def trace_action(hass: HomeAssistant, script_run: _ScriptRun, stop: asyncio.Future[None], variables: dict[str, Any]) -> AsyncGenerator[TraceElement
|
68
|
+
async def trace_action(hass: HomeAssistant, script_run: _ScriptRun, stop: asyncio.Future[None], variables: dict[str, Any]) -> AsyncGenerator[TraceElement]: ...
|
68
69
|
def make_script_schema(schema: Mapping[Any, Any], default_script_mode: str, extra: int = ...) -> vol.Schema: ...
|
69
70
|
|
70
71
|
STATIC_VALIDATION_ACTION_TYPES: Incomplete
|
@@ -19,6 +19,7 @@ class Selector:
|
|
19
19
|
config: _T
|
20
20
|
selector_type: str
|
21
21
|
def __init__(self, config: Mapping[str, Any] | None = None) -> None: ...
|
22
|
+
def __eq__(self, other: object) -> bool: ...
|
22
23
|
def serialize(self) -> dict[str, dict[str, _T]]: ...
|
23
24
|
|
24
25
|
def _entity_feature_flag(domain: str, enum_name: str, feature_name: str) -> int: ...
|
@@ -74,7 +75,7 @@ class AssistPipelineSelectorConfig(TypedDict, total=False): ...
|
|
74
75
|
class AssistPipelineSelector(Selector[AssistPipelineSelectorConfig]):
|
75
76
|
selector_type: str
|
76
77
|
CONFIG_SCHEMA: Incomplete
|
77
|
-
def __init__(self, config: AssistPipelineSelectorConfig) -> None: ...
|
78
|
+
def __init__(self, config: AssistPipelineSelectorConfig | None = None) -> None: ...
|
78
79
|
def __call__(self, data: Any) -> str: ...
|
79
80
|
|
80
81
|
class AttributeSelectorConfig(TypedDict, total=False):
|
@@ -153,7 +154,7 @@ class ConstantSelectorConfig(TypedDict, total=False):
|
|
153
154
|
class ConstantSelector(Selector[ConstantSelectorConfig]):
|
154
155
|
selector_type: str
|
155
156
|
CONFIG_SCHEMA: Incomplete
|
156
|
-
def __init__(self, config: ConstantSelectorConfig
|
157
|
+
def __init__(self, config: ConstantSelectorConfig) -> None: ...
|
157
158
|
def __call__(self, data: Any) -> Any: ...
|
158
159
|
|
159
160
|
class QrErrorCorrectionLevel(StrEnum):
|
@@ -170,7 +171,7 @@ class QrCodeSelectorConfig(TypedDict, total=False):
|
|
170
171
|
class QrCodeSelector(Selector[QrCodeSelectorConfig]):
|
171
172
|
selector_type: str
|
172
173
|
CONFIG_SCHEMA: Incomplete
|
173
|
-
def __init__(self, config: QrCodeSelectorConfig
|
174
|
+
def __init__(self, config: QrCodeSelectorConfig) -> None: ...
|
174
175
|
def __call__(self, data: Any) -> Any: ...
|
175
176
|
|
176
177
|
class ConversationAgentSelectorConfig(TypedDict, total=False):
|
@@ -179,7 +180,7 @@ class ConversationAgentSelectorConfig(TypedDict, total=False):
|
|
179
180
|
class ConversationAgentSelector(Selector[ConversationAgentSelectorConfig]):
|
180
181
|
selector_type: str
|
181
182
|
CONFIG_SCHEMA: Incomplete
|
182
|
-
def __init__(self, config: ConversationAgentSelectorConfig) -> None: ...
|
183
|
+
def __init__(self, config: ConversationAgentSelectorConfig | None = None) -> None: ...
|
183
184
|
def __call__(self, data: Any) -> str: ...
|
184
185
|
|
185
186
|
class CountrySelectorConfig(TypedDict, total=False):
|
@@ -221,6 +222,7 @@ class DeviceSelector(Selector[DeviceSelectorConfig]):
|
|
221
222
|
|
222
223
|
class DurationSelectorConfig(TypedDict, total=False):
|
223
224
|
enable_day: bool
|
225
|
+
allow_negative: bool
|
224
226
|
|
225
227
|
class DurationSelector(Selector[DurationSelectorConfig]):
|
226
228
|
selector_type: str
|
@@ -245,7 +247,7 @@ class FloorSelectorConfig(TypedDict, total=False):
|
|
245
247
|
device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
|
246
248
|
multiple: bool
|
247
249
|
|
248
|
-
class FloorSelector(Selector[
|
250
|
+
class FloorSelector(Selector[FloorSelectorConfig]):
|
249
251
|
selector_type: str
|
250
252
|
CONFIG_SCHEMA: Incomplete
|
251
253
|
def __init__(self, config: FloorSelectorConfig | None = None) -> None: ...
|
@@ -277,7 +279,7 @@ class LanguageSelectorConfig(TypedDict, total=False):
|
|
277
279
|
class LanguageSelector(Selector[LanguageSelectorConfig]):
|
278
280
|
selector_type: str
|
279
281
|
CONFIG_SCHEMA: Incomplete
|
280
|
-
def __init__(self, config: LanguageSelectorConfig) -> None: ...
|
282
|
+
def __init__(self, config: LanguageSelectorConfig | None = None) -> None: ...
|
281
283
|
def __call__(self, data: Any) -> str: ...
|
282
284
|
|
283
285
|
class LocationSelectorConfig(TypedDict, total=False):
|
@@ -348,7 +350,7 @@ class SelectSelectorConfig(TypedDict, total=False):
|
|
348
350
|
class SelectSelector(Selector[SelectSelectorConfig]):
|
349
351
|
selector_type: str
|
350
352
|
CONFIG_SCHEMA: Incomplete
|
351
|
-
def __init__(self, config: SelectSelectorConfig
|
353
|
+
def __init__(self, config: SelectSelectorConfig) -> None: ...
|
352
354
|
def __call__(self, data: Any) -> Any: ...
|
353
355
|
|
354
356
|
class TargetSelectorConfig(TypedDict, total=False):
|
@@ -438,5 +440,5 @@ class FileSelectorConfig(TypedDict):
|
|
438
440
|
class FileSelector(Selector[FileSelectorConfig]):
|
439
441
|
selector_type: str
|
440
442
|
CONFIG_SCHEMA: Incomplete
|
441
|
-
def __init__(self, config: FileSelectorConfig
|
443
|
+
def __init__(self, config: FileSelectorConfig) -> None: ...
|
442
444
|
def __call__(self, data: Any) -> str: ...
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import dataclasses
|
2
|
-
import voluptuous as vol
|
3
2
|
from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry, label_registry as label_registry, template as template, translation as translation
|
4
3
|
from .entity import Entity as Entity
|
5
4
|
from .group import expand_entity_ids as expand_entity_ids
|
6
5
|
from .selector import TargetSelector as TargetSelector
|
7
|
-
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
|
6
|
+
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolSchemaType as VolSchemaType
|
8
7
|
from _typeshed import Incomplete
|
9
8
|
from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
|
10
9
|
from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
|
@@ -30,7 +29,11 @@ def validate_attribute_option(attribute_option: str) -> Any: ...
|
|
30
29
|
def validate_supported_feature(supported_feature: str) -> Any: ...
|
31
30
|
|
32
31
|
_FIELD_SCHEMA: Incomplete
|
32
|
+
_SECTION_SCHEMA: Incomplete
|
33
33
|
_SERVICE_SCHEMA: Incomplete
|
34
|
+
|
35
|
+
def starts_with_dot(key: str) -> str: ...
|
36
|
+
|
34
37
|
_SERVICES_SCHEMA: Incomplete
|
35
38
|
|
36
39
|
class ServiceParams(TypedDict):
|
@@ -82,7 +85,7 @@ def _get_permissible_entity_candidates(call: ServiceCall, entities: dict[str, En
|
|
82
85
|
async def entity_service_call(hass: HomeAssistant, registered_entities: dict[str, Entity], func: str | HassJob, call: ServiceCall, required_features: Iterable[int] | None = None) -> EntityServiceResponse | None: ...
|
83
86
|
async def _handle_entity_call(hass: HomeAssistant, entity: Entity, func: str | HassJob, data: dict | ServiceCall, context: Context) -> ServiceResponse: ...
|
84
87
|
async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall], Awaitable[None] | None], call: ServiceCall) -> None: ...
|
85
|
-
def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Awaitable[None] | None], schema:
|
88
|
+
def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Awaitable[None] | None], schema: VolSchemaType = ...) -> None: ...
|
86
89
|
def verify_domain_control(hass: HomeAssistant, domain: str) -> Callable[[Callable[[ServiceCall], Any]], Callable[[ServiceCall], Any]]: ...
|
87
90
|
|
88
91
|
class ReloadServiceHelper:
|
@@ -4,7 +4,7 @@ from .singleton import singleton as singleton
|
|
4
4
|
from .translation import async_translate_state as async_translate_state
|
5
5
|
from .typing import TemplateVarsType as TemplateVarsType
|
6
6
|
from _typeshed import Incomplete
|
7
|
-
from collections.abc import Callable as Callable,
|
7
|
+
from collections.abc import Callable as Callable, Iterable
|
8
8
|
from contextlib import AbstractContextManager
|
9
9
|
from contextvars import ContextVar
|
10
10
|
from datetime import datetime, timedelta
|
@@ -22,6 +22,7 @@ from jinja2.sandbox import ImmutableSandboxedEnvironment
|
|
22
22
|
from lru import LRU
|
23
23
|
from types import CodeType, TracebackType
|
24
24
|
from typing import Any, Literal, NoReturn, Self, overload
|
25
|
+
from typing_extensions import Generator
|
25
26
|
|
26
27
|
_LOGGER: Incomplete
|
27
28
|
_SENTINEL: Incomplete
|
@@ -139,7 +140,7 @@ class AllStates:
|
|
139
140
|
__getitem__ = __getattr__
|
140
141
|
def _collect_all(self) -> None: ...
|
141
142
|
def _collect_all_lifecycle(self) -> None: ...
|
142
|
-
def __iter__(self) -> Generator[TemplateState
|
143
|
+
def __iter__(self) -> Generator[TemplateState]: ...
|
143
144
|
def __len__(self) -> int: ...
|
144
145
|
def __call__(self, entity_id: str, rounded: bool | object = ..., with_unit: bool = False) -> str: ...
|
145
146
|
def __repr__(self) -> str: ...
|
@@ -161,7 +162,7 @@ class DomainStates:
|
|
161
162
|
__getitem__ = __getattr__
|
162
163
|
def _collect_domain(self) -> None: ...
|
163
164
|
def _collect_domain_lifecycle(self) -> None: ...
|
164
|
-
def __iter__(self) -> Generator[TemplateState
|
165
|
+
def __iter__(self) -> Generator[TemplateState]: ...
|
165
166
|
def __len__(self) -> int: ...
|
166
167
|
def __repr__(self) -> str: ...
|
167
168
|
|
@@ -215,7 +216,7 @@ class TemplateStateFromEntityId(TemplateStateBase):
|
|
215
216
|
_create_template_state_no_collect: Incomplete
|
216
217
|
|
217
218
|
def _collect_state(hass: HomeAssistant, entity_id: str) -> None: ...
|
218
|
-
def _state_generator(hass: HomeAssistant, domain: str | None) -> Generator[TemplateState
|
219
|
+
def _state_generator(hass: HomeAssistant, domain: str | None) -> Generator[TemplateState]: ...
|
219
220
|
def _get_state_if_valid(hass: HomeAssistant, entity_id: str) -> TemplateState | None: ...
|
220
221
|
def _get_state(hass: HomeAssistant, entity_id: str) -> TemplateState | None: ...
|
221
222
|
def _get_template_state_from_state(hass: HomeAssistant, entity_id: str, state: State | None) -> TemplateState | None: ...
|
@@ -231,6 +232,7 @@ def integration_entities(hass: HomeAssistant, entry_name: str) -> Iterable[str]:
|
|
231
232
|
def config_entry_id(hass: HomeAssistant, entity_id: str) -> str | None: ...
|
232
233
|
def device_id(hass: HomeAssistant, entity_id_or_device_name: str) -> str | None: ...
|
233
234
|
def device_attr(hass: HomeAssistant, device_or_entity_id: str, attr_name: str) -> Any: ...
|
235
|
+
def config_entry_attr(hass: HomeAssistant, config_entry_id_: str, attr_name: str) -> Any: ...
|
234
236
|
def is_device_attr(hass: HomeAssistant, device_or_entity_id: str, attr_name: str, attr_value: Any) -> bool: ...
|
235
237
|
def issues(hass: HomeAssistant) -> dict[tuple[str, str], dict[str, Any]]: ...
|
236
238
|
def issue(hass: HomeAssistant, domain: str, issue_id: str) -> dict[str, Any] | None: ...
|
@@ -312,8 +314,8 @@ def bitwise_or(first_value, second_value): ...
|
|
312
314
|
def bitwise_xor(first_value, second_value): ...
|
313
315
|
def struct_pack(value: Any | None, format_string: str) -> bytes | None: ...
|
314
316
|
def struct_unpack(value: bytes, format_string: str, offset: int = 0) -> Any | None: ...
|
315
|
-
def base64_encode(value): ...
|
316
|
-
def base64_decode(value): ...
|
317
|
+
def base64_encode(value: str) -> str: ...
|
318
|
+
def base64_decode(value: str, encoding: str | None = 'utf-8') -> str | bytes: ...
|
317
319
|
def ordinal(value): ...
|
318
320
|
def from_json(value): ...
|
319
321
|
def _to_json_default(obj: Any) -> None: ...
|
@@ -1,10 +1,11 @@
|
|
1
1
|
from .typing import TemplateVarsType as TemplateVarsType
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections import deque
|
4
|
-
from collections.abc import Callable as Callable, Coroutine
|
4
|
+
from collections.abc import Callable as Callable, Coroutine
|
5
5
|
from contextvars import ContextVar
|
6
6
|
from homeassistant.core import ServiceResponse as ServiceResponse
|
7
7
|
from typing import Any
|
8
|
+
from typing_extensions import Generator
|
8
9
|
|
9
10
|
class TraceElement:
|
10
11
|
__slots__: Incomplete
|
@@ -54,5 +55,5 @@ class StopReason:
|
|
54
55
|
|
55
56
|
def script_execution_set(reason: str, response: ServiceResponse = None) -> None: ...
|
56
57
|
def script_execution_get() -> str | None: ...
|
57
|
-
def trace_path(suffix: str | list[str]) -> Generator[None
|
58
|
+
def trace_path(suffix: str | list[str]) -> Generator[None]: ...
|
58
59
|
def async_trace_path(suffix: str | list[str]) -> Callable[[Callable[[Unpack[_Ts]], Coroutine[Any, Any, None]]], Callable[[Unpack[_Ts]], Coroutine[Any, Any, None]]]: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .deprecation import
|
1
|
+
from .deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
4
|
from enum import Enum
|
@@ -11,12 +11,17 @@ ServiceDataType = dict[str, Any]
|
|
11
11
|
StateType: Incomplete
|
12
12
|
TemplateVarsType: Incomplete
|
13
13
|
NoEventData = Mapping[str, Never]
|
14
|
+
VolSchemaType: Incomplete
|
15
|
+
VolDictType: Incomplete
|
14
16
|
QueryType = Any
|
15
17
|
|
16
18
|
class UndefinedType(Enum):
|
17
19
|
_singleton: int
|
18
20
|
|
19
21
|
UNDEFINED: Incomplete
|
22
|
+
|
23
|
+
def _deprecated_typing_helper(attr: str) -> DeferredDeprecatedAlias: ...
|
24
|
+
|
20
25
|
_DEPRECATED_ContextType: Incomplete
|
21
26
|
_DEPRECATED_EventType: Incomplete
|
22
27
|
_DEPRECATED_HomeAssistantType: Incomplete
|
@@ -4,7 +4,7 @@ from . import entity as entity, event as event
|
|
4
4
|
from .debounce import Debouncer as Debouncer
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from abc import abstractmethod
|
7
|
-
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
7
|
+
from collections.abc import Awaitable, Callable as Callable, Coroutine
|
8
8
|
from datetime import datetime, timedelta
|
9
9
|
from homeassistant import config_entries as config_entries
|
10
10
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
@@ -12,7 +12,7 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, H
|
|
12
12
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
13
13
|
from homeassistant.util.dt import utcnow as utcnow
|
14
14
|
from typing import Any, Generic, Protocol
|
15
|
-
from typing_extensions import TypeVar
|
15
|
+
from typing_extensions import Generator, TypeVar
|
16
16
|
|
17
17
|
REQUEST_REFRESH_DEFAULT_COOLDOWN: int
|
18
18
|
REQUEST_REFRESH_DEFAULT_IMMEDIATE: bool
|
@@ -48,7 +48,7 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
|
|
48
48
|
def async_update_listeners(self) -> None: ...
|
49
49
|
async def async_shutdown(self) -> None: ...
|
50
50
|
def _unschedule_refresh(self) -> None: ...
|
51
|
-
def async_contexts(self) -> Generator[Any
|
51
|
+
def async_contexts(self) -> Generator[Any]: ...
|
52
52
|
def _async_unsub_refresh(self) -> None: ...
|
53
53
|
def _async_unsub_shutdown(self) -> None: ...
|
54
54
|
@property
|
homeassistant-stubs/loader.pyi
CHANGED
@@ -15,7 +15,7 @@ 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
|
19
19
|
from .util.hass_dict import HassKey as HassKey
|
20
20
|
from .util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
|
21
21
|
from _typeshed import Incomplete
|
@@ -45,7 +45,6 @@ PACKAGE_CUSTOM_COMPONENTS: str
|
|
45
45
|
PACKAGE_BUILTIN: str
|
46
46
|
CUSTOM_WARNING: str
|
47
47
|
IMPORT_EVENT_LOOP_WARNING: str
|
48
|
-
_UNDEF: Incomplete
|
49
48
|
MOVED_ZEROCONF_PROPS: Incomplete
|
50
49
|
|
51
50
|
class DHCPMatcherRequired(TypedDict, total=True):
|