homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.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/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
- homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
- homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
- homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
- homeassistant-stubs/components/axis/config_flow.pyi +2 -2
- homeassistant-stubs/components/axis/entity.pyi +1 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/coordinator.pyi +3 -0
- homeassistant-stubs/components/backup/entity.pyi +5 -2
- homeassistant-stubs/components/backup/event.pyi +23 -0
- homeassistant-stubs/components/backup/manager.pyi +22 -3
- homeassistant-stubs/components/backup/models.pyi +2 -2
- homeassistant-stubs/components/blue_current/button.pyi +25 -0
- homeassistant-stubs/components/blue_current/entity.pyi +3 -6
- homeassistant-stubs/components/bluesound/button.pyi +35 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
- homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
- homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
- homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
- homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
- homeassistant-stubs/components/bring/__init__.pyi +1 -1
- homeassistant-stubs/components/bring/coordinator.pyi +21 -3
- homeassistant-stubs/components/bring/entity.pyi +3 -3
- homeassistant-stubs/components/bring/event.pyi +3 -2
- homeassistant-stubs/components/bring/sensor.pyi +1 -0
- homeassistant-stubs/components/bring/todo.pyi +1 -0
- homeassistant-stubs/components/camera/__init__.pyi +2 -10
- homeassistant-stubs/components/camera/webrtc.pyi +1 -22
- homeassistant-stubs/components/climate/__init__.pyi +3 -13
- homeassistant-stubs/components/climate/const.pyi +0 -3
- homeassistant-stubs/components/climate/significant_change.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
- homeassistant-stubs/components/cloud/client.pyi +2 -1
- homeassistant-stubs/components/cloud/const.pyi +0 -1
- homeassistant-stubs/components/cloud/google_config.pyi +1 -1
- homeassistant-stubs/components/cloud/http_api.pyi +0 -2
- homeassistant-stubs/components/comelit/climate.pyi +14 -5
- homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
- homeassistant-stubs/components/comelit/const.pyi +3 -0
- homeassistant-stubs/components/comelit/cover.pyi +3 -1
- homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
- homeassistant-stubs/components/comelit/light.pyi +2 -0
- homeassistant-stubs/components/comelit/switch.pyi +2 -0
- homeassistant-stubs/components/comelit/utils.pyi +11 -0
- homeassistant-stubs/components/command_line/notify.pyi +3 -1
- homeassistant-stubs/components/config/entity_registry.pyi +6 -0
- homeassistant-stubs/components/deconz/entity.pyi +1 -0
- homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/demo/media_player.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
- homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
- homeassistant-stubs/components/downloader/__init__.pyi +3 -4
- homeassistant-stubs/components/downloader/services.pyi +7 -0
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/button.pyi +2 -2
- homeassistant-stubs/components/ecovacs/number.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
- homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
- homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
- homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
- homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
- homeassistant-stubs/components/elkm1/climate.pyi +0 -6
- homeassistant-stubs/components/esphome/entity.pyi +2 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- homeassistant-stubs/components/esphome/manager.pyi +0 -1
- homeassistant-stubs/components/esphome/update.pyi +8 -4
- homeassistant-stubs/components/feedreader/event.pyi +1 -2
- homeassistant-stubs/components/fritz/__init__.pyi +1 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
- homeassistant-stubs/components/fritz/const.pyi +2 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
- homeassistant-stubs/components/frontend/storage.pyi +25 -9
- homeassistant-stubs/components/fyta/image.pyi +18 -4
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
- homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
- homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
- homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
- homeassistant-stubs/components/google/__init__.pyi +7 -8
- homeassistant-stubs/components/google/api.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +5 -5
- homeassistant-stubs/components/google/config_flow.pyi +3 -2
- homeassistant-stubs/components/google/const.pyi +0 -2
- homeassistant-stubs/components/google/coordinator.pyi +5 -5
- homeassistant-stubs/components/google/diagnostics.pyi +2 -3
- homeassistant-stubs/components/google/store.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
- homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
- homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
- homeassistant-stubs/components/guardian/__init__.pyi +11 -18
- homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
- homeassistant-stubs/components/guardian/button.pyi +4 -5
- homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
- homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
- homeassistant-stubs/components/guardian/entity.pyi +3 -3
- homeassistant-stubs/components/guardian/sensor.pyi +3 -4
- homeassistant-stubs/components/guardian/services.pyi +28 -0
- homeassistant-stubs/components/guardian/switch.pyi +4 -5
- homeassistant-stubs/components/guardian/util.pyi +2 -2
- homeassistant-stubs/components/guardian/valve.pyi +4 -5
- homeassistant-stubs/components/habitica/const.pyi +1 -6
- homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -4
- homeassistant-stubs/components/habitica/util.pyi +2 -0
- homeassistant-stubs/components/hardware/__init__.pyi +3 -1
- homeassistant-stubs/components/hardware/const.pyi +4 -0
- homeassistant-stubs/components/hardware/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/models.pyi +14 -1
- homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
- homeassistant-stubs/components/heos/media_player.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
- homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
- homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
- homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
- homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
- homeassistant-stubs/components/home_connect/entity.pyi +0 -1
- homeassistant-stubs/components/home_connect/light.pyi +2 -2
- homeassistant-stubs/components/home_connect/number.pyi +1 -0
- homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
- homeassistant-stubs/components/home_connect/switch.pyi +1 -19
- homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
- homeassistant-stubs/components/homee/const.pyi +2 -0
- homeassistant-stubs/components/homee/event.pyi +19 -0
- homeassistant-stubs/components/homee/fan.pyi +38 -0
- homeassistant-stubs/components/homee/sensor.pyi +5 -1
- homeassistant-stubs/components/homekit/const.pyi +1 -0
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/homeworks/button.pyi +2 -3
- homeassistant-stubs/components/homeworks/light.pyi +2 -3
- homeassistant-stubs/components/http/decorators.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
- homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
- homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
- homeassistant-stubs/components/immich/__init__.pyi +10 -0
- homeassistant-stubs/components/immich/config_flow.pyi +27 -0
- homeassistant-stubs/components/immich/const.pyi +4 -0
- homeassistant-stubs/components/immich/coordinator.pyi +27 -0
- homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
- homeassistant-stubs/components/immich/entity.pyi +10 -0
- homeassistant-stubs/components/immich/media_source.pyi +38 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- homeassistant-stubs/components/integration/__init__.pyi +2 -1
- homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
- homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
- homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
- homeassistant-stubs/components/iqvia/entity.pyi +5 -6
- homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/__init__.pyi +6 -7
- homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/button.pyi +2 -3
- homeassistant-stubs/components/isy994/climate.pyi +3 -4
- homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
- homeassistant-stubs/components/isy994/cover.pyi +3 -5
- homeassistant-stubs/components/isy994/fan.pyi +3 -5
- homeassistant-stubs/components/isy994/light.pyi +3 -4
- homeassistant-stubs/components/isy994/lock.pyi +2 -5
- homeassistant-stubs/components/isy994/models.pyi +2 -0
- homeassistant-stubs/components/isy994/number.pyi +3 -4
- homeassistant-stubs/components/isy994/select.pyi +3 -4
- homeassistant-stubs/components/isy994/sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/services.pyi +1 -1
- homeassistant-stubs/components/isy994/switch.pyi +2 -4
- homeassistant-stubs/components/isy994/system_health.pyi +1 -3
- homeassistant-stubs/components/isy994/util.pyi +3 -2
- homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
- homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
- homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
- homeassistant-stubs/components/knx/const.pyi +7 -0
- homeassistant-stubs/components/knx/cover.pyi +20 -9
- homeassistant-stubs/components/knx/schema.pyi +1 -6
- homeassistant-stubs/components/knx/storage/const.pyi +6 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
- homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
- homeassistant-stubs/components/lcn/const.pyi +3 -1
- homeassistant-stubs/components/lcn/cover.pyi +7 -2
- homeassistant-stubs/components/lcn/entity.pyi +1 -0
- homeassistant-stubs/components/lcn/helpers.pyi +0 -1
- homeassistant-stubs/components/lcn/schemas.pyi +1 -1
- homeassistant-stubs/components/lcn/services.pyi +2 -3
- homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +2 -0
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/media_player/intent.pyi +11 -1
- homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
- homeassistant-stubs/components/metoffice/const.pyi +7 -6
- homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
- homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
- homeassistant-stubs/components/metoffice/weather.pyi +23 -11
- homeassistant-stubs/components/miele/__init__.pyi +15 -0
- homeassistant-stubs/components/miele/api.pyi +9 -0
- homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
- homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
- homeassistant-stubs/components/miele/button.pyi +32 -0
- homeassistant-stubs/components/miele/climate.pyi +55 -0
- homeassistant-stubs/components/miele/config_flow.pyi +17 -0
- homeassistant-stubs/components/miele/const.pyi +127 -0
- homeassistant-stubs/components/miele/coordinator.pyi +29 -0
- homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
- homeassistant-stubs/components/miele/entity.pyi +24 -0
- homeassistant-stubs/components/miele/fan.pyi +39 -0
- homeassistant-stubs/components/miele/light.pyi +39 -0
- homeassistant-stubs/components/miele/sensor.pyi +72 -0
- homeassistant-stubs/components/miele/switch.pyi +52 -0
- homeassistant-stubs/components/miele/vacuum.pyi +84 -0
- homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/const.pyi +9 -0
- homeassistant-stubs/components/modbus/light.pyi +24 -1
- homeassistant-stubs/components/modbus/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/button.pyi +1 -3
- homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
- homeassistant-stubs/components/mqtt/const.pyi +57 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -25
- homeassistant-stubs/components/mqtt/fan.pyi +1 -31
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
- homeassistant-stubs/components/mqtt/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/number/const.pyi +3 -2
- homeassistant-stubs/components/nut/__init__.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/openuv/entity.pyi +1 -0
- homeassistant-stubs/components/pandora/__init__.pyi +1 -0
- homeassistant-stubs/components/pandora/media_player.pyi +14 -13
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
- homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
- homeassistant-stubs/components/qbus/climate.pyi +1 -0
- homeassistant-stubs/components/qbus/entity.pyi +3 -3
- homeassistant-stubs/components/qbus/light.pyi +1 -0
- homeassistant-stubs/components/qbus/scene.pyi +21 -0
- homeassistant-stubs/components/qbus/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/services.pyi +7 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +3 -1
- homeassistant-stubs/components/reolink/const.pyi +5 -0
- homeassistant-stubs/components/reolink/host.pyi +3 -3
- homeassistant-stubs/components/reolink/media_source.pyi +2 -1
- homeassistant-stubs/components/reolink/views.pyi +1 -0
- homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
- homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
- homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
- homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
- homeassistant-stubs/components/sensor/__init__.pyi +1 -0
- homeassistant-stubs/components/sensor/const.pyi +5 -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 -1
- homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/shelly/button.pyi +5 -4
- homeassistant-stubs/components/shelly/climate.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/cover.pyi +2 -0
- homeassistant-stubs/components/shelly/entity.pyi +4 -2
- homeassistant-stubs/components/shelly/event.pyi +4 -2
- homeassistant-stubs/components/shelly/light.pyi +2 -0
- homeassistant-stubs/components/shelly/number.pyi +3 -2
- homeassistant-stubs/components/shelly/select.pyi +2 -0
- homeassistant-stubs/components/shelly/sensor.pyi +9 -2
- homeassistant-stubs/components/shelly/switch.pyi +2 -2
- homeassistant-stubs/components/shelly/text.pyi +2 -0
- homeassistant-stubs/components/shelly/update.pyi +1 -0
- homeassistant-stubs/components/shelly/utils.pyi +14 -7
- homeassistant-stubs/components/shelly/valve.pyi +2 -0
- homeassistant-stubs/components/smlight/button.pyi +3 -2
- homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
- homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/squeezebox/button.pyi +3 -0
- homeassistant-stubs/components/squeezebox/const.pyi +12 -2
- homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
- homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
- homeassistant-stubs/components/squeezebox/update.pyi +50 -0
- homeassistant-stubs/components/statistics/__init__.pyi +2 -1
- homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
- homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -0
- homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -1
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/tts/__init__.pyi +4 -1
- homeassistant-stubs/components/tts/const.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +4 -0
- homeassistant-stubs/components/tts/legacy.pyi +3 -1
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
- homeassistant-stubs/components/wallbox/const.pyi +10 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
- homeassistant-stubs/components/wallbox/select.pyi +29 -0
- homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
- homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
- homeassistant-stubs/components/wemo/light.pyi +1 -0
- homeassistant-stubs/components/whois/const.pyi +1 -0
- homeassistant-stubs/components/whois/sensor.pyi +2 -1
- homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
- homeassistant-stubs/components/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -7
- homeassistant-stubs/components/zwave_js/const.pyi +1 -2
- homeassistant-stubs/config_entries.pyi +0 -1
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core_config.pyi +0 -2
- homeassistant-stubs/helpers/condition.pyi +1 -6
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
- homeassistant-stubs/helpers/config_validation.pyi +7 -2
- homeassistant-stubs/helpers/device.pyi +1 -1
- homeassistant-stubs/helpers/device_registry.pyi +4 -4
- homeassistant-stubs/helpers/entity_component.pyi +5 -2
- homeassistant-stubs/helpers/entity_platform.pyi +4 -1
- homeassistant-stubs/helpers/entity_registry.pyi +7 -6
- homeassistant-stubs/helpers/helper_integration.pyi +6 -0
- homeassistant-stubs/helpers/selector.pyi +55 -50
- homeassistant-stubs/helpers/service.pyi +3 -3
- homeassistant-stubs/helpers/template.pyi +4 -1
- homeassistant-stubs/util/aiohttp.pyi +5 -0
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +416 -357
- homeassistant-stubs/components/metoffice/data.pyi +0 -10
- homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,4 @@
|
|
1
1
|
import logging
|
2
|
-
import voluptuous as vol
|
3
|
-
from .sun import get_astral_event_date as get_astral_event_date
|
4
2
|
from .template import Template as Template, render_complex as render_complex
|
5
3
|
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
|
6
4
|
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
|
@@ -9,7 +7,7 @@ from collections.abc import Callable, Container, Generator
|
|
9
7
|
from contextlib import contextmanager
|
10
8
|
from datetime import time as dt_time, timedelta
|
11
9
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
12
|
-
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,
|
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, WEEKDAYS as WEEKDAYS
|
13
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
14
12
|
from homeassistant.exceptions import ConditionError as ConditionError, ConditionErrorContainer as ConditionErrorContainer, ConditionErrorIndex as ConditionErrorIndex, ConditionErrorMessage as ConditionErrorMessage, HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
|
15
13
|
from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
|
@@ -23,7 +21,6 @@ _PLATFORM_ALIASES: Incomplete
|
|
23
21
|
INPUT_ENTITY_ID: Incomplete
|
24
22
|
|
25
23
|
class ConditionProtocol(Protocol):
|
26
|
-
CONDITION_SCHEMA: vol.Schema
|
27
24
|
async def async_validate_condition_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
|
28
25
|
def async_condition_from_config(self, hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
|
29
26
|
type ConditionCheckerType = Callable[[HomeAssistant, TemplateVarsType], bool | None]
|
@@ -44,8 +41,6 @@ def async_numeric_state(hass: HomeAssistant, entity: str | State | None, below:
|
|
44
41
|
def async_numeric_state_from_config(config: ConfigType) -> ConditionCheckerType: ...
|
45
42
|
def state(hass: HomeAssistant, entity: str | State | None, req_state: Any, for_period: timedelta | None = None, attribute: str | None = None, variables: TemplateVarsType = None) -> bool: ...
|
46
43
|
def state_from_config(config: ConfigType) -> ConditionCheckerType: ...
|
47
|
-
def sun(hass: HomeAssistant, before: str | None = None, after: str | None = None, before_offset: timedelta | None = None, after_offset: timedelta | None = None) -> bool: ...
|
48
|
-
def sun_from_config(config: ConfigType) -> ConditionCheckerType: ...
|
49
44
|
def template(hass: HomeAssistant, value_template: Template, variables: TemplateVarsType = None) -> bool: ...
|
50
45
|
def async_template(hass: HomeAssistant, value_template: Template, variables: TemplateVarsType = None, trace_result: bool = True) -> bool: ...
|
51
46
|
def async_template_from_config(config: ConfigType) -> ConditionCheckerType: ...
|
@@ -3,10 +3,14 @@ import logging
|
|
3
3
|
from . import http as http
|
4
4
|
from .aiohttp_client import async_get_clientsession as async_get_clientsession
|
5
5
|
from .network import NoURLAvailableError as NoURLAvailableError
|
6
|
+
from .service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
7
|
+
from .service_info.ssdp import SsdpServiceInfo as SsdpServiceInfo
|
8
|
+
from .service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
6
9
|
from _typeshed import Incomplete
|
7
10
|
from abc import ABC, ABCMeta, abstractmethod
|
8
11
|
from aiohttp import client as client, web
|
9
12
|
from collections.abc import Awaitable, Callable as Callable
|
13
|
+
from habluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
10
14
|
from homeassistant import config_entries as config_entries
|
11
15
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
16
|
from homeassistant.loader import async_get_application_credentials as async_get_application_credentials
|
@@ -95,6 +99,12 @@ class AbstractOAuth2FlowHandler(config_entries.ConfigFlow, metaclass=ABCMeta):
|
|
95
99
|
async def async_step_authorize_rejected(self, data: None = None) -> config_entries.ConfigFlowResult: ...
|
96
100
|
async def async_oauth_create_entry(self, data: dict) -> config_entries.ConfigFlowResult: ...
|
97
101
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
|
102
|
+
async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> config_entries.ConfigFlowResult: ...
|
103
|
+
async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> config_entries.ConfigFlowResult: ...
|
104
|
+
async def async_step_homekit(self, discovery_info: ZeroconfServiceInfo) -> config_entries.ConfigFlowResult: ...
|
105
|
+
async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> config_entries.ConfigFlowResult: ...
|
106
|
+
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> config_entries.ConfigFlowResult: ...
|
107
|
+
async def async_step_oauth_discovery(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
|
98
108
|
@classmethod
|
99
109
|
def async_register_implementation(cls, hass: HomeAssistant, local_impl: LocalOAuth2Implementation) -> None: ...
|
100
110
|
|
@@ -5,7 +5,7 @@ from . import template as template_helper
|
|
5
5
|
from .frame import get_integration_logger as get_integration_logger
|
6
6
|
from .typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
7
7
|
from _typeshed import Incomplete
|
8
|
-
from collections.abc import Callable
|
8
|
+
from collections.abc import Callable, Hashable
|
9
9
|
from contextvars import ContextVar
|
10
10
|
from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
|
11
11
|
from enum import Enum, StrEnum
|
@@ -146,7 +146,8 @@ def _deprecated_or_removed(key: str, replacement_key: str | None, default: Any |
|
|
146
146
|
def deprecated(key: str, replacement_key: str | None = None, default: Any | None = None, raise_if_present: bool | None = False) -> Callable[[dict], dict]: ...
|
147
147
|
def removed(key: str, default: Any | None = None, raise_if_present: bool | None = True) -> Callable[[dict], dict]: ...
|
148
148
|
def renamed(old_key: str, new_key: str) -> Callable[[Any], Any]: ...
|
149
|
-
|
149
|
+
type ValueSchemas = dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]]
|
150
|
+
def key_value_schemas(key: str, value_schemas: ValueSchemas, default_schema: VolSchemaType | Callable[[Any], dict[str, Any]] | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
|
150
151
|
def key_dependency[_KT: Hashable, _VT](key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
|
151
152
|
def custom_serializer(schema: Any) -> Any: ...
|
152
153
|
def _custom_serializer(schema: Any, *, allow_section: bool) -> Any: ...
|
@@ -207,6 +208,10 @@ def expand_condition_shorthand(value: Any | None) -> Any: ...
|
|
207
208
|
|
208
209
|
dynamic_template_condition: Incomplete
|
209
210
|
CONDITION_SHORTHAND_SCHEMA: Incomplete
|
211
|
+
BUILT_IN_CONDITIONS: ValueSchemas
|
212
|
+
|
213
|
+
def _base_condition_validator(value: Any) -> Any: ...
|
214
|
+
|
210
215
|
CONDITION_SCHEMA: vol.Schema
|
211
216
|
CONDITIONS_SCHEMA: Incomplete
|
212
217
|
dynamic_template_condition_action: Incomplete
|
@@ -8,6 +8,6 @@ def async_device_info_to_link_from_entity(hass: HomeAssistant, entity_id_or_uuid
|
|
8
8
|
@callback
|
9
9
|
def async_device_info_to_link_from_device_id(hass: HomeAssistant, device_id: str | None) -> dr.DeviceInfo | None: ...
|
10
10
|
@callback
|
11
|
-
def async_remove_stale_devices_links_keep_entity_device(hass: HomeAssistant, entry_id: str, source_entity_id_or_uuid: str) -> None: ...
|
11
|
+
def async_remove_stale_devices_links_keep_entity_device(hass: HomeAssistant, entry_id: str, source_entity_id_or_uuid: str | None) -> None: ...
|
12
12
|
@callback
|
13
13
|
def async_remove_stale_devices_links_keep_current_device(hass: HomeAssistant, entry_id: str, current_device_id: str | None) -> None: ...
|
@@ -144,16 +144,16 @@ class DeletedDeviceEntry:
|
|
144
144
|
config_entries: set[str]
|
145
145
|
config_entries_subentries: dict[str, set[str | None]]
|
146
146
|
connections: set[tuple[str, str]]
|
147
|
-
identifiers: set[tuple[str, str]]
|
148
|
-
id: str
|
149
|
-
orphaned_timestamp: float | None
|
150
147
|
created_at: datetime
|
148
|
+
id: str
|
149
|
+
identifiers: set[tuple[str, str]]
|
151
150
|
modified_at: datetime
|
151
|
+
orphaned_timestamp: float | None
|
152
152
|
_cache: dict[str, Any]
|
153
153
|
def to_device_entry(self, config_entry_id: str, config_subentry_id: str | None, connections: set[tuple[str, str]], identifiers: set[tuple[str, str]]) -> DeviceEntry: ...
|
154
154
|
@under_cached_property
|
155
155
|
def as_storage_fragment(self) -> json_fragment: ...
|
156
|
-
def __init__(self, config_entries, config_entries_subentries, connections,
|
156
|
+
def __init__(self, config_entries, config_entries_subentries, connections, created_at, id, identifiers, modified_at, orphaned_timestamp, cache) -> None: ...
|
157
157
|
def __lt__(self, other): ...
|
158
158
|
def __le__(self, other): ...
|
159
159
|
def __gt__(self, other): ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import logging
|
2
2
|
from . import discovery as discovery, entity as entity, service as service
|
3
|
-
from .entity_platform import EntityPlatform as EntityPlatform
|
3
|
+
from .entity_platform import EntityPlatform as EntityPlatform, async_calculate_suggested_object_id as async_calculate_suggested_object_id
|
4
4
|
from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from collections.abc import Callable as Callable, Iterable
|
@@ -11,14 +11,17 @@ from homeassistant.core import Event as Event, HassJob as HassJob, HassJobType a
|
|
11
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
12
12
|
from homeassistant.loader import async_get_integration as async_get_integration, bind_hass as bind_hass
|
13
13
|
from homeassistant.setup import async_prepare_setup_platform as async_prepare_setup_platform
|
14
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
14
15
|
from types import ModuleType
|
15
16
|
from typing import Any
|
16
17
|
|
17
18
|
DEFAULT_SCAN_INTERVAL: Incomplete
|
18
|
-
DATA_INSTANCES: str
|
19
|
+
DATA_INSTANCES: HassKey[dict[str, EntityComponent]]
|
19
20
|
|
20
21
|
@bind_hass
|
21
22
|
async def async_update_entity(hass: HomeAssistant, entity_id: str) -> None: ...
|
23
|
+
@callback
|
24
|
+
def async_get_entity_suggested_object_id(hass: HomeAssistant, entity_id: str) -> str | None: ...
|
22
25
|
|
23
26
|
class EntityComponent[_EntityT: entity.Entity = entity.Entity]:
|
24
27
|
logger: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import asyncio
|
2
|
-
from . import service as service, translation as translation
|
2
|
+
from . import device_registry as dev_reg, service as service, translation as translation
|
3
3
|
from .entity import Entity as Entity
|
4
4
|
from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
|
5
5
|
from .event import async_call_later as async_call_later
|
@@ -106,6 +106,9 @@ class EntityPlatform:
|
|
106
106
|
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: ...
|
107
107
|
async def _async_update_entity_states(self) -> None: ...
|
108
108
|
|
109
|
+
@callback
|
110
|
+
def async_calculate_suggested_object_id(entity: Entity, device: dev_reg.DeviceEntry | None) -> str | None: ...
|
111
|
+
|
109
112
|
current_platform: ContextVar[EntityPlatform | None]
|
110
113
|
|
111
114
|
@callback
|
@@ -90,6 +90,7 @@ class RegistryEntry:
|
|
90
90
|
original_device_class: str | None
|
91
91
|
original_icon: str | None
|
92
92
|
original_name: str | None
|
93
|
+
suggested_object_id: str | None
|
93
94
|
supported_features: int
|
94
95
|
translation_key: str | None
|
95
96
|
unit_of_measurement: str | None
|
@@ -114,7 +115,7 @@ class RegistryEntry:
|
|
114
115
|
def as_storage_fragment(self) -> json_fragment: ...
|
115
116
|
@callback
|
116
117
|
def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
|
117
|
-
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, config_subentry_id, created_at, device_class, device_id, domain, disabled_by, entity_category, has_entity_name, hidden_by, icon, id, labels, modified_at, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement, cache) -> None: ...
|
118
|
+
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, config_subentry_id, created_at, device_class, device_id, domain, disabled_by, entity_category, has_entity_name, hidden_by, icon, id, labels, modified_at, name, options, original_device_class, original_icon, original_name, suggested_object_id, supported_features, translation_key, unit_of_measurement, cache) -> None: ...
|
118
119
|
def __lt__(self, other): ...
|
119
120
|
def __le__(self, other): ...
|
120
121
|
def __gt__(self, other): ...
|
@@ -126,17 +127,17 @@ class DeletedRegistryEntry:
|
|
126
127
|
platform: str
|
127
128
|
config_entry_id: str | None
|
128
129
|
config_subentry_id: str | None
|
130
|
+
created_at: datetime
|
129
131
|
domain: str
|
130
132
|
id: str
|
131
|
-
orphaned_timestamp: float | None
|
132
|
-
created_at: datetime
|
133
133
|
modified_at: datetime
|
134
|
+
orphaned_timestamp: float | None
|
134
135
|
_cache: dict[str, Any]
|
135
136
|
@domain.default
|
136
137
|
def _domain_default(self) -> str: ...
|
137
138
|
@under_cached_property
|
138
139
|
def as_storage_fragment(self) -> json_fragment: ...
|
139
|
-
def __init__(self, entity_id, unique_id, platform, config_entry_id, config_subentry_id, domain, id,
|
140
|
+
def __init__(self, entity_id, unique_id, platform, config_entry_id, config_subentry_id, created_at, domain, id, modified_at, orphaned_timestamp, cache) -> None: ...
|
140
141
|
def __lt__(self, other): ...
|
141
142
|
def __le__(self, other): ...
|
142
143
|
def __gt__(self, other): ...
|
@@ -182,9 +183,9 @@ class EntityRegistry(BaseRegistry):
|
|
182
183
|
def async_device_ids(self) -> list[str]: ...
|
183
184
|
def _entity_id_available(self, entity_id: str) -> bool: ...
|
184
185
|
@callback
|
185
|
-
def async_generate_entity_id(self, domain: str, suggested_object_id: str) -> str: ...
|
186
|
+
def async_generate_entity_id(self, domain: str, suggested_object_id: str, *, current_entity_id: str | None = None, reserved_entity_ids: set[str] | None = None) -> str: ...
|
186
187
|
@callback
|
187
|
-
def async_get_or_create(self, domain: str, platform: str, unique_id: str, *, suggested_object_id: str | None = None, disabled_by: RegistryEntryDisabler | None = None, hidden_by: RegistryEntryHider | None = None, get_initial_options: Callable[[], EntityOptionsType | None] | None = None, capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry: ConfigEntry | None | UndefinedType = ..., config_subentry_id: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., entity_category: EntityCategory | UndefinedType | None = ..., has_entity_name: bool | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | None | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
188
|
+
def async_get_or_create(self, domain: str, platform: str, unique_id: str, *, calculated_object_id: str | None = None, suggested_object_id: str | None = None, disabled_by: RegistryEntryDisabler | None = None, hidden_by: RegistryEntryHider | None = None, get_initial_options: Callable[[], EntityOptionsType | None] | None = None, capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry: ConfigEntry | None | UndefinedType = ..., config_subentry_id: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., entity_category: EntityCategory | UndefinedType | None = ..., has_entity_name: bool | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | None | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
188
189
|
@callback
|
189
190
|
def async_remove(self, entity_id: str) -> None: ...
|
190
191
|
@callback
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from .event import async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
|
2
|
+
from collections.abc import Callable as Callable, Coroutine
|
3
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, valid_entity_id as valid_entity_id
|
4
|
+
from typing import Any
|
5
|
+
|
6
|
+
def async_handle_source_entity_changes(hass: HomeAssistant, *, helper_config_entry_id: str, set_source_entity_id_or_uuid: Callable[[str], None], source_device_id: str | None, source_entity_id_or_uuid: str, source_entity_removed: Callable[[], Coroutine[Any, Any, None]]) -> CALLBACK_TYPE: ...
|
@@ -28,6 +28,11 @@ def _entity_feature_flag(domain: str, enum_name: str, feature_name: str) -> int:
|
|
28
28
|
def _validate_supported_feature(supported_feature: str) -> int: ...
|
29
29
|
def _validate_supported_features(supported_features: int | list[str]) -> int: ...
|
30
30
|
|
31
|
+
BASE_SELECTOR_CONFIG_SCHEMA: Incomplete
|
32
|
+
|
33
|
+
class BaseSelectorConfig(TypedDict, total=False):
|
34
|
+
read_only: bool
|
35
|
+
|
31
36
|
ENTITY_FILTER_SELECTOR_CONFIG_SCHEMA: Incomplete
|
32
37
|
|
33
38
|
class EntityFilterSelectorConfig(TypedDict, total=False):
|
@@ -44,15 +49,15 @@ class DeviceFilterSelectorConfig(TypedDict, total=False):
|
|
44
49
|
model: str
|
45
50
|
model_id: str
|
46
51
|
|
47
|
-
class ActionSelectorConfig(
|
52
|
+
class ActionSelectorConfig(BaseSelectorConfig): ...
|
48
53
|
|
49
54
|
class ActionSelector(Selector[ActionSelectorConfig]):
|
50
55
|
selector_type: str
|
51
|
-
CONFIG_SCHEMA
|
56
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
52
57
|
def __init__(self, config: ActionSelectorConfig | None = None) -> None: ...
|
53
58
|
def __call__(self, data: Any) -> Any: ...
|
54
59
|
|
55
|
-
class AddonSelectorConfig(
|
60
|
+
class AddonSelectorConfig(BaseSelectorConfig, total=False):
|
56
61
|
name: str
|
57
62
|
slug: str
|
58
63
|
|
@@ -62,7 +67,7 @@ class AddonSelector(Selector[AddonSelectorConfig]):
|
|
62
67
|
def __init__(self, config: AddonSelectorConfig | None = None) -> None: ...
|
63
68
|
def __call__(self, data: Any) -> str: ...
|
64
69
|
|
65
|
-
class AreaSelectorConfig(
|
70
|
+
class AreaSelectorConfig(BaseSelectorConfig, total=False):
|
66
71
|
entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
|
67
72
|
device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
|
68
73
|
multiple: bool
|
@@ -73,15 +78,15 @@ class AreaSelector(Selector[AreaSelectorConfig]):
|
|
73
78
|
def __init__(self, config: AreaSelectorConfig | None = None) -> None: ...
|
74
79
|
def __call__(self, data: Any) -> str | list[str]: ...
|
75
80
|
|
76
|
-
class AssistPipelineSelectorConfig(
|
81
|
+
class AssistPipelineSelectorConfig(BaseSelectorConfig, total=False): ...
|
77
82
|
|
78
83
|
class AssistPipelineSelector(Selector[AssistPipelineSelectorConfig]):
|
79
84
|
selector_type: str
|
80
|
-
CONFIG_SCHEMA
|
85
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
81
86
|
def __init__(self, config: AssistPipelineSelectorConfig | None = None) -> None: ...
|
82
87
|
def __call__(self, data: Any) -> str: ...
|
83
88
|
|
84
|
-
class AttributeSelectorConfig(
|
89
|
+
class AttributeSelectorConfig(BaseSelectorConfig, total=False):
|
85
90
|
entity_id: Required[str]
|
86
91
|
hide_attributes: list[str]
|
87
92
|
|
@@ -91,31 +96,31 @@ class AttributeSelector(Selector[AttributeSelectorConfig]):
|
|
91
96
|
def __init__(self, config: AttributeSelectorConfig) -> None: ...
|
92
97
|
def __call__(self, data: Any) -> str: ...
|
93
98
|
|
94
|
-
class BackupLocationSelectorConfig(
|
99
|
+
class BackupLocationSelectorConfig(BaseSelectorConfig, total=False): ...
|
95
100
|
|
96
101
|
class BackupLocationSelector(Selector[BackupLocationSelectorConfig]):
|
97
102
|
selector_type: str
|
98
|
-
CONFIG_SCHEMA
|
103
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
99
104
|
def __init__(self, config: BackupLocationSelectorConfig | None = None) -> None: ...
|
100
105
|
def __call__(self, data: Any) -> str: ...
|
101
106
|
|
102
|
-
class BooleanSelectorConfig(
|
107
|
+
class BooleanSelectorConfig(BaseSelectorConfig): ...
|
103
108
|
|
104
109
|
class BooleanSelector(Selector[BooleanSelectorConfig]):
|
105
110
|
selector_type: str
|
106
|
-
CONFIG_SCHEMA
|
111
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
107
112
|
def __init__(self, config: BooleanSelectorConfig | None = None) -> None: ...
|
108
113
|
def __call__(self, data: Any) -> bool: ...
|
109
114
|
|
110
|
-
class ColorRGBSelectorConfig(
|
115
|
+
class ColorRGBSelectorConfig(BaseSelectorConfig): ...
|
111
116
|
|
112
117
|
class ColorRGBSelector(Selector[ColorRGBSelectorConfig]):
|
113
118
|
selector_type: str
|
114
|
-
CONFIG_SCHEMA
|
119
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
115
120
|
def __init__(self, config: ColorRGBSelectorConfig | None = None) -> None: ...
|
116
121
|
def __call__(self, data: Any) -> list[int]: ...
|
117
122
|
|
118
|
-
class ColorTempSelectorConfig(
|
123
|
+
class ColorTempSelectorConfig(BaseSelectorConfig, total=False):
|
119
124
|
unit: ColorTempSelectorUnit
|
120
125
|
min: int
|
121
126
|
max: int
|
@@ -132,15 +137,15 @@ class ColorTempSelector(Selector[ColorTempSelectorConfig]):
|
|
132
137
|
def __init__(self, config: ColorTempSelectorConfig | None = None) -> None: ...
|
133
138
|
def __call__(self, data: Any) -> int: ...
|
134
139
|
|
135
|
-
class ConditionSelectorConfig(
|
140
|
+
class ConditionSelectorConfig(BaseSelectorConfig): ...
|
136
141
|
|
137
142
|
class ConditionSelector(Selector[ConditionSelectorConfig]):
|
138
143
|
selector_type: str
|
139
|
-
CONFIG_SCHEMA
|
144
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
140
145
|
def __init__(self, config: ConditionSelectorConfig | None = None) -> None: ...
|
141
146
|
def __call__(self, data: Any) -> Any: ...
|
142
147
|
|
143
|
-
class ConfigEntrySelectorConfig(
|
148
|
+
class ConfigEntrySelectorConfig(BaseSelectorConfig, total=False):
|
144
149
|
integration: str
|
145
150
|
|
146
151
|
class ConfigEntrySelector(Selector[ConfigEntrySelectorConfig]):
|
@@ -149,7 +154,7 @@ class ConfigEntrySelector(Selector[ConfigEntrySelectorConfig]):
|
|
149
154
|
def __init__(self, config: ConfigEntrySelectorConfig | None = None) -> None: ...
|
150
155
|
def __call__(self, data: Any) -> str: ...
|
151
156
|
|
152
|
-
class ConstantSelectorConfig(
|
157
|
+
class ConstantSelectorConfig(BaseSelectorConfig, total=False):
|
153
158
|
label: str
|
154
159
|
translation_key: str
|
155
160
|
value: str | int | bool
|
@@ -166,7 +171,7 @@ class QrErrorCorrectionLevel(StrEnum):
|
|
166
171
|
QUARTILE = 'quartile'
|
167
172
|
HIGH = 'high'
|
168
173
|
|
169
|
-
class QrCodeSelectorConfig(
|
174
|
+
class QrCodeSelectorConfig(BaseSelectorConfig, total=False):
|
170
175
|
data: str
|
171
176
|
scale: int
|
172
177
|
error_correction_level: QrErrorCorrectionLevel
|
@@ -177,7 +182,7 @@ class QrCodeSelector(Selector[QrCodeSelectorConfig]):
|
|
177
182
|
def __init__(self, config: QrCodeSelectorConfig) -> None: ...
|
178
183
|
def __call__(self, data: Any) -> Any: ...
|
179
184
|
|
180
|
-
class ConversationAgentSelectorConfig(
|
185
|
+
class ConversationAgentSelectorConfig(BaseSelectorConfig, total=False):
|
181
186
|
language: str
|
182
187
|
|
183
188
|
class ConversationAgentSelector(Selector[ConversationAgentSelectorConfig]):
|
@@ -186,7 +191,7 @@ class ConversationAgentSelector(Selector[ConversationAgentSelectorConfig]):
|
|
186
191
|
def __init__(self, config: ConversationAgentSelectorConfig | None = None) -> None: ...
|
187
192
|
def __call__(self, data: Any) -> str: ...
|
188
193
|
|
189
|
-
class CountrySelectorConfig(
|
194
|
+
class CountrySelectorConfig(BaseSelectorConfig, total=False):
|
190
195
|
countries: list[str]
|
191
196
|
no_sort: bool
|
192
197
|
|
@@ -196,23 +201,23 @@ class CountrySelector(Selector[CountrySelectorConfig]):
|
|
196
201
|
def __init__(self, config: CountrySelectorConfig | None = None) -> None: ...
|
197
202
|
def __call__(self, data: Any) -> Any: ...
|
198
203
|
|
199
|
-
class DateSelectorConfig(
|
204
|
+
class DateSelectorConfig(BaseSelectorConfig): ...
|
200
205
|
|
201
206
|
class DateSelector(Selector[DateSelectorConfig]):
|
202
207
|
selector_type: str
|
203
|
-
CONFIG_SCHEMA
|
208
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
204
209
|
def __init__(self, config: DateSelectorConfig | None = None) -> None: ...
|
205
210
|
def __call__(self, data: Any) -> Any: ...
|
206
211
|
|
207
|
-
class DateTimeSelectorConfig(
|
212
|
+
class DateTimeSelectorConfig(BaseSelectorConfig): ...
|
208
213
|
|
209
214
|
class DateTimeSelector(Selector[DateTimeSelectorConfig]):
|
210
215
|
selector_type: str
|
211
|
-
CONFIG_SCHEMA
|
216
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
212
217
|
def __init__(self, config: DateTimeSelectorConfig | None = None) -> None: ...
|
213
218
|
def __call__(self, data: Any) -> Any: ...
|
214
219
|
|
215
|
-
class DeviceSelectorConfig(DeviceFilterSelectorConfig, total=False):
|
220
|
+
class DeviceSelectorConfig(BaseSelectorConfig, DeviceFilterSelectorConfig, total=False):
|
216
221
|
entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
|
217
222
|
multiple: bool
|
218
223
|
filter: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
|
@@ -223,7 +228,7 @@ class DeviceSelector(Selector[DeviceSelectorConfig]):
|
|
223
228
|
def __init__(self, config: DeviceSelectorConfig | None = None) -> None: ...
|
224
229
|
def __call__(self, data: Any) -> str | list[str]: ...
|
225
230
|
|
226
|
-
class DurationSelectorConfig(
|
231
|
+
class DurationSelectorConfig(BaseSelectorConfig, total=False):
|
227
232
|
enable_day: bool
|
228
233
|
enable_millisecond: bool
|
229
234
|
allow_negative: bool
|
@@ -234,7 +239,7 @@ class DurationSelector(Selector[DurationSelectorConfig]):
|
|
234
239
|
def __init__(self, config: DurationSelectorConfig | None = None) -> None: ...
|
235
240
|
def __call__(self, data: Any) -> dict[str, float]: ...
|
236
241
|
|
237
|
-
class EntitySelectorConfig(EntityFilterSelectorConfig, total=False):
|
242
|
+
class EntitySelectorConfig(BaseSelectorConfig, EntityFilterSelectorConfig, total=False):
|
238
243
|
exclude_entities: list[str]
|
239
244
|
include_entities: list[str]
|
240
245
|
multiple: bool
|
@@ -246,7 +251,7 @@ class EntitySelector(Selector[EntitySelectorConfig]):
|
|
246
251
|
def __init__(self, config: EntitySelectorConfig | None = None) -> None: ...
|
247
252
|
def __call__(self, data: Any) -> str | list[str]: ...
|
248
253
|
|
249
|
-
class FloorSelectorConfig(
|
254
|
+
class FloorSelectorConfig(BaseSelectorConfig, total=False):
|
250
255
|
entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
|
251
256
|
device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
|
252
257
|
multiple: bool
|
@@ -257,7 +262,7 @@ class FloorSelector(Selector[FloorSelectorConfig]):
|
|
257
262
|
def __init__(self, config: FloorSelectorConfig | None = None) -> None: ...
|
258
263
|
def __call__(self, data: Any) -> str | list[str]: ...
|
259
264
|
|
260
|
-
class IconSelectorConfig(
|
265
|
+
class IconSelectorConfig(BaseSelectorConfig, total=False):
|
261
266
|
placeholder: str
|
262
267
|
|
263
268
|
class IconSelector(Selector[IconSelectorConfig]):
|
@@ -266,7 +271,7 @@ class IconSelector(Selector[IconSelectorConfig]):
|
|
266
271
|
def __init__(self, config: IconSelectorConfig | None = None) -> None: ...
|
267
272
|
def __call__(self, data: Any) -> str: ...
|
268
273
|
|
269
|
-
class LabelSelectorConfig(
|
274
|
+
class LabelSelectorConfig(BaseSelectorConfig, total=False):
|
270
275
|
multiple: bool
|
271
276
|
|
272
277
|
class LabelSelector(Selector[LabelSelectorConfig]):
|
@@ -275,7 +280,7 @@ class LabelSelector(Selector[LabelSelectorConfig]):
|
|
275
280
|
def __init__(self, config: LabelSelectorConfig | None = None) -> None: ...
|
276
281
|
def __call__(self, data: Any) -> str | list[str]: ...
|
277
282
|
|
278
|
-
class LanguageSelectorConfig(
|
283
|
+
class LanguageSelectorConfig(BaseSelectorConfig, total=False):
|
279
284
|
languages: list[str]
|
280
285
|
native_name: bool
|
281
286
|
no_sort: bool
|
@@ -286,7 +291,7 @@ class LanguageSelector(Selector[LanguageSelectorConfig]):
|
|
286
291
|
def __init__(self, config: LanguageSelectorConfig | None = None) -> None: ...
|
287
292
|
def __call__(self, data: Any) -> str: ...
|
288
293
|
|
289
|
-
class LocationSelectorConfig(
|
294
|
+
class LocationSelectorConfig(BaseSelectorConfig, total=False):
|
290
295
|
radius: bool
|
291
296
|
icon: str
|
292
297
|
|
@@ -297,16 +302,16 @@ class LocationSelector(Selector[LocationSelectorConfig]):
|
|
297
302
|
def __init__(self, config: LocationSelectorConfig | None = None) -> None: ...
|
298
303
|
def __call__(self, data: Any) -> dict[str, float]: ...
|
299
304
|
|
300
|
-
class MediaSelectorConfig(
|
305
|
+
class MediaSelectorConfig(BaseSelectorConfig): ...
|
301
306
|
|
302
307
|
class MediaSelector(Selector[MediaSelectorConfig]):
|
303
308
|
selector_type: str
|
304
|
-
CONFIG_SCHEMA
|
309
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
305
310
|
DATA_SCHEMA: Incomplete
|
306
311
|
def __init__(self, config: MediaSelectorConfig | None = None) -> None: ...
|
307
312
|
def __call__(self, data: Any) -> dict[str, float]: ...
|
308
313
|
|
309
|
-
class NumberSelectorConfig(
|
314
|
+
class NumberSelectorConfig(BaseSelectorConfig, total=False):
|
310
315
|
min: float
|
311
316
|
max: float
|
312
317
|
step: float | Literal['any']
|
@@ -325,11 +330,11 @@ class NumberSelector(Selector[NumberSelectorConfig]):
|
|
325
330
|
def __init__(self, config: NumberSelectorConfig | None = None) -> None: ...
|
326
331
|
def __call__(self, data: Any) -> float: ...
|
327
332
|
|
328
|
-
class ObjectSelectorConfig(
|
333
|
+
class ObjectSelectorConfig(BaseSelectorConfig): ...
|
329
334
|
|
330
335
|
class ObjectSelector(Selector[ObjectSelectorConfig]):
|
331
336
|
selector_type: str
|
332
|
-
CONFIG_SCHEMA
|
337
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
333
338
|
def __init__(self, config: ObjectSelectorConfig | None = None) -> None: ...
|
334
339
|
def __call__(self, data: Any) -> Any: ...
|
335
340
|
|
@@ -343,7 +348,7 @@ class SelectSelectorMode(StrEnum):
|
|
343
348
|
LIST = 'list'
|
344
349
|
DROPDOWN = 'dropdown'
|
345
350
|
|
346
|
-
class SelectSelectorConfig(
|
351
|
+
class SelectSelectorConfig(BaseSelectorConfig, total=False):
|
347
352
|
options: Required[Sequence[SelectOptionDict] | Sequence[str]]
|
348
353
|
multiple: bool
|
349
354
|
custom_value: bool
|
@@ -357,11 +362,11 @@ class SelectSelector(Selector[SelectSelectorConfig]):
|
|
357
362
|
def __init__(self, config: SelectSelectorConfig) -> None: ...
|
358
363
|
def __call__(self, data: Any) -> Any: ...
|
359
364
|
|
360
|
-
class TargetSelectorConfig(
|
365
|
+
class TargetSelectorConfig(BaseSelectorConfig, total=False):
|
361
366
|
entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
|
362
367
|
device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
|
363
368
|
|
364
|
-
class StateSelectorConfig(
|
369
|
+
class StateSelectorConfig(BaseSelectorConfig, total=False):
|
365
370
|
entity_id: Required[str]
|
366
371
|
|
367
372
|
class StateSelector(Selector[StateSelectorConfig]):
|
@@ -377,15 +382,15 @@ class TargetSelector(Selector[TargetSelectorConfig]):
|
|
377
382
|
def __init__(self, config: TargetSelectorConfig | None = None) -> None: ...
|
378
383
|
def __call__(self, data: Any) -> dict[str, list[str]]: ...
|
379
384
|
|
380
|
-
class TemplateSelectorConfig(
|
385
|
+
class TemplateSelectorConfig(BaseSelectorConfig): ...
|
381
386
|
|
382
387
|
class TemplateSelector(Selector[TemplateSelectorConfig]):
|
383
388
|
selector_type: str
|
384
|
-
CONFIG_SCHEMA
|
389
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
385
390
|
def __init__(self, config: TemplateSelectorConfig | None = None) -> None: ...
|
386
391
|
def __call__(self, data: Any) -> str: ...
|
387
392
|
|
388
|
-
class TextSelectorConfig(
|
393
|
+
class TextSelectorConfig(BaseSelectorConfig, total=False):
|
389
394
|
multiline: bool
|
390
395
|
prefix: str
|
391
396
|
suffix: str
|
@@ -414,7 +419,7 @@ class TextSelector(Selector[TextSelectorConfig]):
|
|
414
419
|
def __init__(self, config: TextSelectorConfig | None = None) -> None: ...
|
415
420
|
def __call__(self, data: Any) -> str | list[str]: ...
|
416
421
|
|
417
|
-
class ThemeSelectorConfig(
|
422
|
+
class ThemeSelectorConfig(BaseSelectorConfig): ...
|
418
423
|
|
419
424
|
class ThemeSelector(Selector[ThemeSelectorConfig]):
|
420
425
|
selector_type: str
|
@@ -422,23 +427,23 @@ class ThemeSelector(Selector[ThemeSelectorConfig]):
|
|
422
427
|
def __init__(self, config: ThemeSelectorConfig | None = None) -> None: ...
|
423
428
|
def __call__(self, data: Any) -> str: ...
|
424
429
|
|
425
|
-
class TimeSelectorConfig(
|
430
|
+
class TimeSelectorConfig(BaseSelectorConfig): ...
|
426
431
|
|
427
432
|
class TimeSelector(Selector[TimeSelectorConfig]):
|
428
433
|
selector_type: str
|
429
|
-
CONFIG_SCHEMA
|
434
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
430
435
|
def __init__(self, config: TimeSelectorConfig | None = None) -> None: ...
|
431
436
|
def __call__(self, data: Any) -> str: ...
|
432
437
|
|
433
|
-
class TriggerSelectorConfig(
|
438
|
+
class TriggerSelectorConfig(BaseSelectorConfig): ...
|
434
439
|
|
435
440
|
class TriggerSelector(Selector[TriggerSelectorConfig]):
|
436
441
|
selector_type: str
|
437
|
-
CONFIG_SCHEMA
|
442
|
+
CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
|
438
443
|
def __init__(self, config: TriggerSelectorConfig | None = None) -> None: ...
|
439
444
|
def __call__(self, data: Any) -> Any: ...
|
440
445
|
|
441
|
-
class FileSelectorConfig(
|
446
|
+
class FileSelectorConfig(BaseSelectorConfig):
|
442
447
|
accept: str
|
443
448
|
|
444
449
|
class FileSelector(Selector[FileSelectorConfig]):
|
@@ -5,7 +5,7 @@ from .group import expand_entity_ids as expand_entity_ids
|
|
5
5
|
from .selector import TargetSelector as TargetSelector
|
6
6
|
from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
7
7
|
from _typeshed import Incomplete
|
8
|
-
from collections.abc import
|
8
|
+
from collections.abc import Callable as Callable, Coroutine, Iterable
|
9
9
|
from functools import cache
|
10
10
|
from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
|
11
11
|
from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ACTION as CONF_ACTION, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_TARGET as CONF_TARGET, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
|
@@ -100,10 +100,10 @@ def _get_permissible_entity_candidates(call: ServiceCall, entities: dict[str, En
|
|
100
100
|
@bind_hass
|
101
101
|
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: ...
|
102
102
|
async def _handle_entity_call(hass: HomeAssistant, entity: Entity, func: str | HassJob, data: dict | ServiceCall, context: Context) -> ServiceResponse: ...
|
103
|
-
async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall],
|
103
|
+
async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], call: ServiceCall) -> ServiceResponse | EntityServiceResponse | None: ...
|
104
104
|
@bind_hass
|
105
105
|
@callback
|
106
|
-
def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall],
|
106
|
+
def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: VolSchemaType = ..., supports_response: SupportsResponse = ...) -> None: ...
|
107
107
|
@bind_hass
|
108
108
|
@callback
|
109
109
|
def verify_domain_control(hass: HomeAssistant, domain: str) -> Callable[[Callable[[ServiceCall], Any]], Callable[[ServiceCall], Any]]: ...
|
@@ -284,6 +284,8 @@ def raise_no_default(function: str, value: Any) -> NoReturn: ...
|
|
284
284
|
def forgiving_round(value, precision: int = 0, method: str = 'common', default=...): ...
|
285
285
|
def multiply(value, amount, default=...): ...
|
286
286
|
def add(value, amount, default=...): ...
|
287
|
+
def apply(value, fn, *args, **kwargs): ...
|
288
|
+
def as_function(macro: jinja2.runtime.Macro) -> Callable[..., Any]: ...
|
287
289
|
def logarithm(value, base=..., default=...): ...
|
288
290
|
def sine(value, default=...): ...
|
289
291
|
def cosine(value, default=...): ...
|
@@ -332,7 +334,8 @@ def bitwise_or(first_value, second_value): ...
|
|
332
334
|
def bitwise_xor(first_value, second_value): ...
|
333
335
|
def struct_pack(value: Any | None, format_string: str) -> bytes | None: ...
|
334
336
|
def struct_unpack(value: bytes, format_string: str, offset: int = 0) -> Any | None: ...
|
335
|
-
def
|
337
|
+
def from_hex(value: str) -> bytes: ...
|
338
|
+
def base64_encode(value: str | bytes) -> str: ...
|
336
339
|
def base64_decode(value: str, encoding: str | None = 'utf-8') -> str | bytes: ...
|
337
340
|
def ordinal(value): ...
|
338
341
|
def from_json(value): ...
|
@@ -10,9 +10,14 @@ class MockStreamReader:
|
|
10
10
|
def __init__(self, content: bytes) -> None: ...
|
11
11
|
async def read(self, byte_count: int = -1) -> bytes: ...
|
12
12
|
|
13
|
+
class MockStreamReaderChunked(MockStreamReader):
|
14
|
+
async def readchunk(self) -> tuple[bytes, bool]: ...
|
15
|
+
|
13
16
|
class MockPayloadWriter:
|
14
17
|
def enable_chunking(self) -> None: ...
|
18
|
+
def send_headers(self, *args: Any, **kwargs: Any) -> None: ...
|
15
19
|
async def write_headers(self, *args: Any, **kwargs: Any) -> None: ...
|
20
|
+
async def write(self, *args: Any, **kwargs: Any) -> None: ...
|
16
21
|
|
17
22
|
_MOCK_PAYLOAD_WRITER: Incomplete
|
18
23
|
|