homeassistant-stubs 2024.6.4__py3-none-any.whl → 2024.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +2 -0
- homeassistant-stubs/auth/auth_store.pyi +1 -0
- homeassistant-stubs/auth/providers/homeassistant.pyi +10 -2
- homeassistant-stubs/block_async_io.pyi +23 -0
- homeassistant-stubs/bootstrap.pyi +4 -3
- 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/__init__.pyi +4 -13
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +3 -16
- 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 +23 -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/fritzbox/switch.pyi +3 -0
- 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 +26 -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 +21 -6
- 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/fan.pyi +2 -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/overkiz/water_heater.pyi +2 -1
- homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +2 -0
- homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +32 -0
- 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/prometheus/__init__.pyi +1 -1
- 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 +3 -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/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
- 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 +8 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
- homeassistant-stubs/components/statistics/sensor.pyi +7 -2
- 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 +14 -8
- 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 +5 -5
- homeassistant-stubs/components/tplink/const.pyi +5 -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 +20 -19
- homeassistant-stubs/components/tplink/number.pyi +27 -0
- homeassistant-stubs/components/tplink/select.pyi +26 -0
- homeassistant-stubs/components/tplink/sensor.pyi +12 -23
- homeassistant-stubs/components/tplink/switch.pyi +12 -35
- 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 +2 -1
- 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 +15 -10
- 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/event.pyi +10 -4
- 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 +5 -1
- homeassistant-stubs/util/unit_conversion.pyi +7 -1
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +597 -560
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
- homeassistant-stubs/components/air_quality/group.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/const.pyi +0 -3
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
- homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -25
- homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -27
- 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.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
from .core import Context as Context
|
2
2
|
from .util.event_type import EventType as EventType
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from collections.abc import Callable as Callable,
|
4
|
+
from collections.abc import Callable as Callable, Sequence
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from typing import Any
|
7
|
+
from typing_extensions import Generator
|
7
8
|
|
8
9
|
_function_cache: dict[str, Callable[[str, str, dict[str, str] | None], str]]
|
9
10
|
|
@@ -34,14 +35,14 @@ class ConditionError(HomeAssistantError):
|
|
34
35
|
type: str
|
35
36
|
@staticmethod
|
36
37
|
def _indent(indent: int, message: str) -> str: ...
|
37
|
-
def output(self, indent: int) -> Generator[str
|
38
|
+
def output(self, indent: int) -> Generator[str]: ...
|
38
39
|
def __str__(self) -> str: ...
|
39
40
|
def __init__(self, type) -> None: ...
|
40
41
|
|
41
42
|
@dataclass(slots=True)
|
42
43
|
class ConditionErrorMessage(ConditionError):
|
43
44
|
message: str
|
44
|
-
def output(self, indent: int) -> Generator[str
|
45
|
+
def output(self, indent: int) -> Generator[str]: ...
|
45
46
|
def __init__(self, type, message) -> None: ...
|
46
47
|
|
47
48
|
@dataclass(slots=True)
|
@@ -49,13 +50,13 @@ class ConditionErrorIndex(ConditionError):
|
|
49
50
|
index: int
|
50
51
|
total: int
|
51
52
|
error: ConditionError
|
52
|
-
def output(self, indent: int) -> Generator[str
|
53
|
+
def output(self, indent: int) -> Generator[str]: ...
|
53
54
|
def __init__(self, type, index, total, error) -> None: ...
|
54
55
|
|
55
56
|
@dataclass(slots=True)
|
56
57
|
class ConditionErrorContainer(ConditionError):
|
57
58
|
errors: Sequence[ConditionError]
|
58
|
-
def output(self, indent: int) -> Generator[str
|
59
|
+
def output(self, indent: int) -> Generator[str]: ...
|
59
60
|
def __init__(self, type, errors) -> None: ...
|
60
61
|
|
61
62
|
class IntegrationError(HomeAssistantError):
|
@@ -1,5 +0,0 @@
|
|
1
|
-
from .typing import ConfigType as ConfigType
|
2
|
-
from collections.abc import Iterable, Sequence
|
3
|
-
|
4
|
-
def config_per_platform(config: ConfigType, domain: str) -> Iterable[tuple[str | None, ConfigType]]: ...
|
5
|
-
def extract_domain_configs(config: ConfigType, domain: str) -> Sequence[str]: ...
|
@@ -4,14 +4,14 @@ from . import entity_registry as entity_registry
|
|
4
4
|
from .entity import Entity as Entity
|
5
5
|
from .entity_component import EntityComponent as EntityComponent
|
6
6
|
from .storage import Store as Store
|
7
|
-
from .typing import ConfigType as ConfigType
|
7
|
+
from .typing import ConfigType as ConfigType, VolDictType as VolDictType
|
8
8
|
from _typeshed import Incomplete
|
9
9
|
from abc import ABC, abstractmethod
|
10
10
|
from collections.abc import Awaitable, Callable, Iterable
|
11
11
|
from dataclasses import dataclass
|
12
12
|
from homeassistant.components import websocket_api as websocket_api
|
13
13
|
from homeassistant.const import CONF_ID as CONF_ID
|
14
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
15
15
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
16
16
|
from homeassistant.util import slugify as slugify
|
17
17
|
from typing import Any, Generic, TypedDict
|
@@ -25,13 +25,13 @@ CHANGE_REMOVED: str
|
|
25
25
|
_EntityT = TypeVar('_EntityT', bound=Entity, default=Entity)
|
26
26
|
|
27
27
|
@dataclass(slots=True)
|
28
|
-
class
|
28
|
+
class CollectionChange:
|
29
29
|
change_type: str
|
30
30
|
item_id: str
|
31
31
|
item: Any
|
32
32
|
def __init__(self, change_type, item_id, item) -> None: ...
|
33
33
|
ChangeListener = Callable[[str, str, dict], Awaitable[None]]
|
34
|
-
ChangeSetListener = Callable[[Iterable[
|
34
|
+
ChangeSetListener = Callable[[Iterable[CollectionChange]], Awaitable[None]]
|
35
35
|
|
36
36
|
class CollectionError(HomeAssistantError): ...
|
37
37
|
|
@@ -65,7 +65,7 @@ class ObservableCollection(ABC):
|
|
65
65
|
def async_items(self) -> list[_ItemT]: ...
|
66
66
|
def async_add_listener(self, listener: ChangeListener) -> Callable[[], None]: ...
|
67
67
|
def async_add_change_set_listener(self, listener: ChangeSetListener) -> Callable[[], None]: ...
|
68
|
-
async def notify_changes(self,
|
68
|
+
async def notify_changes(self, change_set: Iterable[CollectionChange]) -> None: ...
|
69
69
|
|
70
70
|
class YamlCollection(ObservableCollection[dict]):
|
71
71
|
logger: Incomplete
|
@@ -129,10 +129,10 @@ class _CollectionLifeCycle(Generic[_EntityT]):
|
|
129
129
|
entities: dict[str, CollectionEntity]
|
130
130
|
def async_setup(self) -> None: ...
|
131
131
|
def _entity_removed(self, item_id: str) -> None: ...
|
132
|
-
def _add_entity(self, change_set:
|
133
|
-
async def _remove_entity(self, change_set:
|
134
|
-
async def _update_entity(self, change_set:
|
135
|
-
async def _collection_changed(self,
|
132
|
+
def _add_entity(self, change_set: CollectionChange) -> CollectionEntity: ...
|
133
|
+
async def _remove_entity(self, change_set: CollectionChange) -> None: ...
|
134
|
+
async def _update_entity(self, change_set: CollectionChange) -> None: ...
|
135
|
+
async def _collection_changed(self, change_set: Iterable[CollectionChange]) -> None: ...
|
136
136
|
def __init__(self, domain, platform, entity_component, collection, entity_class, ent_reg, entities) -> None: ...
|
137
137
|
|
138
138
|
def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
|
@@ -143,12 +143,15 @@ class StorageCollectionWebsocket:
|
|
143
143
|
model_name: Incomplete
|
144
144
|
create_schema: Incomplete
|
145
145
|
update_schema: Incomplete
|
146
|
-
|
146
|
+
_remove_subscription: Incomplete
|
147
|
+
_subscribers: Incomplete
|
148
|
+
def __init__(self, storage_collection: _StorageCollectionT, api_prefix: str, model_name: str, create_schema: VolDictType, update_schema: VolDictType) -> None: ...
|
147
149
|
@property
|
148
150
|
def item_id_key(self) -> str: ...
|
149
|
-
def async_setup(self, hass: HomeAssistant
|
151
|
+
def async_setup(self, hass: HomeAssistant) -> None: ...
|
150
152
|
def ws_list_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
151
153
|
async def ws_create_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
154
|
+
def _ws_subscribe(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
152
155
|
async def ws_update_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
153
156
|
async def ws_delete_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
|
154
157
|
|
@@ -4,7 +4,7 @@ from .template import Template as Template, render_complex as render_complex
|
|
4
4
|
from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
|
5
5
|
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
|
6
6
|
from _typeshed import Incomplete
|
7
|
-
from collections.abc import Container
|
7
|
+
from collections.abc import Container
|
8
8
|
from datetime import time as dt_time, timedelta
|
9
9
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
10
10
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, CONF_ZONE as CONF_ZONE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, WEEKDAYS as WEEKDAYS
|
@@ -13,6 +13,7 @@ from homeassistant.exceptions import ConditionError as ConditionError, Condition
|
|
13
13
|
from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
|
14
14
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
15
15
|
from typing import Any, Protocol
|
16
|
+
from typing_extensions import Generator
|
16
17
|
|
17
18
|
ASYNC_FROM_CONFIG_FORMAT: str
|
18
19
|
FROM_CONFIG_FORMAT: str
|
@@ -30,7 +31,7 @@ ConditionCheckerType: Incomplete
|
|
30
31
|
def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
|
31
32
|
def condition_trace_set_result(result: bool, **kwargs: Any) -> None: ...
|
32
33
|
def condition_trace_update_result(**kwargs: Any) -> None: ...
|
33
|
-
def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement
|
34
|
+
def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement]: ...
|
34
35
|
def trace_condition_function(condition: ConditionCheckerType) -> ConditionCheckerType: ...
|
35
36
|
async def _async_get_condition_platform(hass: HomeAssistant, config: ConfigType) -> ConditionProtocol | None: ...
|
36
37
|
async def async_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
|
@@ -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]
|
@@ -12,8 +12,8 @@ from collections import defaultdict
|
|
12
12
|
from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
|
13
13
|
from dataclasses import dataclass
|
14
14
|
from datetime import datetime, timedelta
|
15
|
-
from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
|
16
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
15
|
+
from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
|
16
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateEventData as EventStateEventData, EventStateReportedData as EventStateReportedData, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
17
17
|
from homeassistant.exceptions import TemplateError as TemplateError
|
18
18
|
from homeassistant.loader import bind_hass as bind_hass
|
19
19
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
@@ -22,6 +22,7 @@ from homeassistant.util.hass_dict import HassKey as HassKey
|
|
22
22
|
from typing import Any, Concatenate, Generic, TypeVar
|
23
23
|
|
24
24
|
_TRACK_STATE_CHANGE_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
|
25
|
+
_TRACK_STATE_REPORT_DATA: HassKey[_KeyedEventData[EventStateReportedData]]
|
25
26
|
_TRACK_STATE_ADDED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
|
26
27
|
_TRACK_STATE_REMOVED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
|
27
28
|
_TRACK_ENTITY_REGISTRY_UPDATED_DATA: HassKey[_KeyedEventData[EventEntityRegistryUpdatedData]]
|
@@ -33,6 +34,7 @@ _LOGGER: Incomplete
|
|
33
34
|
RANDOM_MICROSECOND_MIN: int
|
34
35
|
RANDOM_MICROSECOND_MAX: int
|
35
36
|
_TypedDictT = TypeVar('_TypedDictT', bound=Mapping[str, Any])
|
37
|
+
_StateEventDataT = TypeVar('_StateEventDataT', bound=EventStateEventData)
|
36
38
|
|
37
39
|
@dataclass(slots=True, frozen=True)
|
38
40
|
class _KeyedEventTracker(Generic[_TypedDictT]):
|
@@ -75,12 +77,16 @@ def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str
|
|
75
77
|
track_state_change: Incomplete
|
76
78
|
|
77
79
|
def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
78
|
-
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[
|
79
|
-
def
|
80
|
+
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]], event: Event[_StateEventDataT]) -> None: ...
|
81
|
+
def _async_state_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]], event_data: _StateEventDataT) -> bool: ...
|
80
82
|
|
81
83
|
_KEYED_TRACK_STATE_CHANGE: Incomplete
|
82
84
|
|
83
85
|
def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
|
86
|
+
|
87
|
+
_KEYED_TRACK_STATE_REPORT: Incomplete
|
88
|
+
|
89
|
+
def async_track_state_report_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateReportedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
84
90
|
def _remove_empty_listener() -> None: ...
|
85
91
|
def _remove_listener(hass: HomeAssistant, tracker: _KeyedEventTracker[_TypedDictT], keys: Iterable[str], job: HassJob[[Event[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[Event[_TypedDictT]], Any]]]) -> None: ...
|
86
92
|
def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[Event[_TypedDictT]], None], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
|
@@ -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
|