homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
- homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
- homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
- homeassistant-stubs/components/amazon_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/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 +1 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- 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/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 +7 -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 -5
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
- 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 +4 -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 +37 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- 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/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 +35 -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 +25 -8
- 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/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/nest/config_flow.pyi +2 -0
- 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/pandora/media_player.pyi +12 -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/media_source.pyi +2 -1
- 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/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 +12 -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/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/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/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -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/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -1
- 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_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/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.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +388 -331
- 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.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -8,6 +8,8 @@ CODE_KEY: str
|
|
8
8
|
CONF_STATION: str
|
9
9
|
CHARGER_ADDED_DISCHARGED_ENERGY_KEY: str
|
10
10
|
CHARGER_ADDED_ENERGY_KEY: str
|
11
|
+
CHARGER_ADDED_GREEN_ENERGY_KEY: str
|
12
|
+
CHARGER_ADDED_GRID_ENERGY_KEY: str
|
11
13
|
CHARGER_ADDED_RANGE_KEY: str
|
12
14
|
CHARGER_CHARGING_POWER_KEY: str
|
13
15
|
CHARGER_CHARGING_SPEED_KEY: str
|
@@ -35,6 +37,9 @@ CHARGER_STATE_OF_CHARGE_KEY: str
|
|
35
37
|
CHARGER_STATUS_ID_KEY: str
|
36
38
|
CHARGER_STATUS_DESCRIPTION_KEY: str
|
37
39
|
CHARGER_CONNECTIONS: str
|
40
|
+
CHARGER_ECO_SMART_KEY: str
|
41
|
+
CHARGER_ECO_SMART_STATUS_KEY: str
|
42
|
+
CHARGER_ECO_SMART_MODE_KEY: str
|
38
43
|
|
39
44
|
class ChargerStatus(StrEnum):
|
40
45
|
CHARGING = 'Charging'
|
@@ -55,3 +60,8 @@ class ChargerStatus(StrEnum):
|
|
55
60
|
WAITING_MID_SAFETY = 'Waiting MID safety margin exceeded'
|
56
61
|
WAITING_IN_QUEUE_ECO_SMART = 'Waiting in queue by Eco-Smart'
|
57
62
|
UNKNOWN = 'Unknown'
|
63
|
+
|
64
|
+
class EcoSmartMode(StrEnum):
|
65
|
+
OFF = 'off'
|
66
|
+
ECO_MODE = 'eco_mode'
|
67
|
+
FULL_SOLAR = 'full_solar'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, CHARGER_STATUS_ID_KEY as CHARGER_STATUS_ID_KEY, CODE_KEY as CODE_KEY, CONF_STATION as CONF_STATION, ChargerStatus as ChargerStatus, DOMAIN as DOMAIN, UPDATE_INTERVAL as UPDATE_INTERVAL
|
1
|
+
from .const import CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ECO_SMART_KEY as CHARGER_ECO_SMART_KEY, CHARGER_ECO_SMART_MODE_KEY as CHARGER_ECO_SMART_MODE_KEY, CHARGER_ECO_SMART_STATUS_KEY as CHARGER_ECO_SMART_STATUS_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, CHARGER_STATUS_ID_KEY as CHARGER_STATUS_ID_KEY, CODE_KEY as CODE_KEY, CONF_STATION as CONF_STATION, ChargerStatus as ChargerStatus, DOMAIN as DOMAIN, EcoSmartMode as EcoSmartMode, UPDATE_INTERVAL as UPDATE_INTERVAL
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable as Callable
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -39,5 +39,8 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
39
39
|
@_require_authentication
|
40
40
|
def _pause_charger(self, pause: bool) -> None: ...
|
41
41
|
async def async_pause_charger(self, pause: bool) -> None: ...
|
42
|
+
@_require_authentication
|
43
|
+
def _set_eco_smart(self, option: str) -> None: ...
|
44
|
+
async def async_set_eco_smart(self, option: str) -> None: ...
|
42
45
|
|
43
46
|
class InvalidAuth(HomeAssistantError): ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from .const import CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ECO_SMART_KEY as CHARGER_ECO_SMART_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN, EcoSmartMode as EcoSmartMode
|
2
|
+
from .coordinator import WallboxCoordinator as WallboxCoordinator
|
3
|
+
from .entity import WallboxEntity as WallboxEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Awaitable, Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class WallboxSelectEntityDescription(SelectEntityDescription):
|
15
|
+
current_option_fn: Callable[[WallboxCoordinator], str | None]
|
16
|
+
select_option_fn: Callable[[WallboxCoordinator, str], Awaitable[None]]
|
17
|
+
supported_fn: Callable[[WallboxCoordinator], bool]
|
18
|
+
|
19
|
+
SELECT_TYPES: dict[str, WallboxSelectEntityDescription]
|
20
|
+
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
22
|
+
|
23
|
+
class WallboxSelect(WallboxEntity, SelectEntity):
|
24
|
+
entity_description: WallboxSelectEntityDescription
|
25
|
+
_attr_unique_id: Incomplete
|
26
|
+
def __init__(self, coordinator: WallboxCoordinator, description: WallboxSelectEntityDescription) -> None: ...
|
27
|
+
@property
|
28
|
+
def current_option(self) -> str | None: ...
|
29
|
+
async def async_select_option(self, option: str) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CHARGER_ADDED_DISCHARGED_ENERGY_KEY as CHARGER_ADDED_DISCHARGED_ENERGY_KEY, CHARGER_ADDED_ENERGY_KEY as CHARGER_ADDED_ENERGY_KEY, CHARGER_ADDED_RANGE_KEY as CHARGER_ADDED_RANGE_KEY, CHARGER_CHARGING_POWER_KEY as CHARGER_CHARGING_POWER_KEY, CHARGER_CHARGING_SPEED_KEY as CHARGER_CHARGING_SPEED_KEY, CHARGER_COST_KEY as CHARGER_COST_KEY, CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_CURRENT_MODE_KEY as CHARGER_CURRENT_MODE_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_DEPOT_PRICE_KEY as CHARGER_DEPOT_PRICE_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY as CHARGER_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, CHARGER_STATE_OF_CHARGE_KEY as CHARGER_STATE_OF_CHARGE_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, DOMAIN as DOMAIN
|
1
|
+
from .const import CHARGER_ADDED_DISCHARGED_ENERGY_KEY as CHARGER_ADDED_DISCHARGED_ENERGY_KEY, CHARGER_ADDED_ENERGY_KEY as CHARGER_ADDED_ENERGY_KEY, CHARGER_ADDED_GREEN_ENERGY_KEY as CHARGER_ADDED_GREEN_ENERGY_KEY, CHARGER_ADDED_GRID_ENERGY_KEY as CHARGER_ADDED_GRID_ENERGY_KEY, CHARGER_ADDED_RANGE_KEY as CHARGER_ADDED_RANGE_KEY, CHARGER_CHARGING_POWER_KEY as CHARGER_CHARGING_POWER_KEY, CHARGER_CHARGING_SPEED_KEY as CHARGER_CHARGING_SPEED_KEY, CHARGER_COST_KEY as CHARGER_COST_KEY, CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_CURRENT_MODE_KEY as CHARGER_CURRENT_MODE_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_DEPOT_PRICE_KEY as CHARGER_DEPOT_PRICE_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY as CHARGER_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, CHARGER_STATE_OF_CHARGE_KEY as CHARGER_STATE_OF_CHARGE_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, DOMAIN as DOMAIN
|
2
2
|
from .coordinator import WallboxCoordinator as WallboxCoordinator
|
3
3
|
from .entity import WallboxEntity as WallboxEntity
|
4
4
|
from _typeshed import Incomplete
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import WEMO_SUBSCRIPTION_EVENT as WEMO_SUBSCRIPTION_EVENT
|
1
|
+
from .const import DOMAIN as DOMAIN, WEMO_SUBSCRIPTION_EVENT as WEMO_SUBSCRIPTION_EVENT
|
2
2
|
from .coordinator import async_get_coordinator as async_get_coordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from . import async_wemo_dispatcher_connect as async_wemo_dispatcher_connect
|
2
|
+
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import DeviceCoordinator as DeviceCoordinator
|
3
4
|
from .entity import WemoBinaryStateEntity as WemoBinaryStateEntity, WemoEntity as WemoEntity
|
4
5
|
from _typeshed import Incomplete
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import ATTR_EXPIRES as ATTR_EXPIRES, ATTR_NAME_SERVERS as ATTR_NAME_SERVERS, ATTR_REGISTRAR as ATTR_REGISTRAR, ATTR_UPDATED as ATTR_UPDATED, DOMAIN as DOMAIN
|
1
|
+
from .const import ATTR_EXPIRES as ATTR_EXPIRES, ATTR_NAME_SERVERS as ATTR_NAME_SERVERS, ATTR_REGISTRAR as ATTR_REGISTRAR, ATTR_UPDATED as ATTR_UPDATED, DOMAIN as DOMAIN, STATUS_TYPES as STATUS_TYPES
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable as Callable
|
4
4
|
from dataclasses import dataclass
|
@@ -18,6 +18,7 @@ class WhoisSensorEntityDescription(SensorEntityDescription):
|
|
18
18
|
|
19
19
|
def _days_until_expiration(domain: Domain) -> int | None: ...
|
20
20
|
def _ensure_timezone(timestamp: datetime | None) -> datetime | None: ...
|
21
|
+
def _get_status_type(status: str | None) -> str | None: ...
|
21
22
|
|
22
23
|
SENSORS: tuple[WhoisSensorEntityDescription, ...]
|
23
24
|
|
@@ -4,7 +4,7 @@ from .entity import YouTubeChannelEntity as YouTubeChannelEntity
|
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
6
6
|
from dataclasses import dataclass
|
7
|
-
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
7
|
+
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
9
|
from homeassistant.const import ATTR_ICON as ATTR_ICON
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -16,6 +16,7 @@ from homeassistant.helpers.service_info.hassio import HassioServiceInfo as Hassi
|
|
16
16
|
from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
|
17
17
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
18
18
|
from homeassistant.helpers.typing import VolDictType as VolDictType
|
19
|
+
from pathlib import Path
|
19
20
|
from typing import Any
|
20
21
|
from zwave_js_server.client import Client as Client
|
21
22
|
from zwave_js_server.model.driver import Driver as Driver
|
@@ -60,11 +61,12 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
60
61
|
backup_task: asyncio.Task | None
|
61
62
|
restore_backup_task: asyncio.Task | None
|
62
63
|
backup_data: bytes | None
|
63
|
-
backup_filepath:
|
64
|
+
backup_filepath: Path | None
|
64
65
|
use_addon: bool
|
65
66
|
_migrating: bool
|
66
67
|
_reconfigure_config_entry: ConfigEntry | None
|
67
68
|
_usb_discovery: bool
|
69
|
+
_recommended_install: bool
|
68
70
|
def __init__(self) -> None: ...
|
69
71
|
async def async_step_install_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
70
72
|
async def async_step_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -78,6 +80,7 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
78
80
|
async def _async_install_addon(self) -> None: ...
|
79
81
|
async def _async_get_addon_discovery_info(self) -> dict: ...
|
80
82
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
83
|
+
async def async_step_installation_type(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
81
84
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
82
85
|
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
83
86
|
async def async_step_zeroconf_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
|
@@ -86,6 +89,8 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
86
89
|
async def async_step_manual(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
87
90
|
async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
|
88
91
|
async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
92
|
+
async def async_step_intent_recommended(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
93
|
+
async def async_step_intent_custom(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
89
94
|
async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
90
95
|
async def async_step_configure_addon_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
91
96
|
async def async_step_finish_addon_setup_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -354,7 +354,6 @@ class ConfigEntries:
|
|
354
354
|
def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
|
355
355
|
async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
|
356
356
|
async def _async_forward_entry_setups_locked(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
|
357
|
-
async def async_forward_entry_setup(self, entry: ConfigEntry, domain: Platform | str) -> bool: ...
|
358
357
|
async def _async_forward_entry_setup(self, entry: ConfigEntry, domain: Platform | str, preload_platform: bool) -> bool: ...
|
359
358
|
async def async_unload_platforms(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> bool: ...
|
360
359
|
async def async_forward_entry_unload(self, entry: ConfigEntry, domain: Platform | str) -> bool: ...
|
homeassistant-stubs/const.pyi
CHANGED
@@ -423,8 +423,13 @@ class UnitOfEnergy(StrEnum):
|
|
423
423
|
MEGA_CALORIE = 'Mcal'
|
424
424
|
GIGA_CALORIE = 'Gcal'
|
425
425
|
|
426
|
+
class UnitOfReactiveEnergy(StrEnum):
|
427
|
+
VOLT_AMPERE_REACTIVE_HOUR = 'varh'
|
428
|
+
KILO_VOLT_AMPERE_REACTIVE_HOUR = 'kvarh'
|
429
|
+
|
426
430
|
class UnitOfEnergyDistance(StrEnum):
|
427
431
|
KILO_WATT_HOUR_PER_100_KM = 'kWh/100km'
|
432
|
+
WATT_HOUR_PER_KM = 'Wh/km'
|
428
433
|
MILES_PER_KILO_WATT_HOUR = 'mi/kWh'
|
429
434
|
KM_PER_KILO_WATT_HOUR = 'km/kWh'
|
430
435
|
|
@@ -5,7 +5,6 @@ from .const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME
|
|
5
5
|
from .core import HomeAssistant as HomeAssistant
|
6
6
|
from .generated.currencies import HISTORIC_CURRENCIES as HISTORIC_CURRENCIES
|
7
7
|
from .helpers.entity_values import EntityValues as EntityValues
|
8
|
-
from .helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
|
9
8
|
from .helpers.storage import Store as Store
|
10
9
|
from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
11
10
|
from .util import location as location
|
@@ -97,7 +96,6 @@ class Config:
|
|
97
96
|
def is_allowed_path(self, path: str) -> bool: ...
|
98
97
|
def as_dict(self) -> dict[str, Any]: ...
|
99
98
|
async def async_set_time_zone(self, time_zone_str: str) -> None: ...
|
100
|
-
def set_time_zone(self, time_zone_str: str) -> None: ...
|
101
99
|
async def _async_update(self, *, country: str | UndefinedType | None = ..., currency: str | None = None, elevation: int | None = None, external_url: str | UndefinedType | None = ..., internal_url: str | UndefinedType | None = ..., language: str | None = None, latitude: float | None = None, location_name: str | None = None, longitude: float | None = None, radius: int | None = None, source: ConfigSource, time_zone: str | None = None, unit_system: str | None = None) -> None: ...
|
102
100
|
async def async_update(self, **kwargs: Any) -> None: ...
|
103
101
|
async def async_load(self) -> None: ...
|
@@ -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
|
@@ -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
|