homeassistant-stubs 2024.3.2__py3-none-any.whl → 2024.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +5 -4
- homeassistant-stubs/auth/auth_store.pyi +3 -1
- homeassistant-stubs/auth/mfa_modules/__init__.pyi +1 -0
- homeassistant-stubs/auth/models.pyi +2 -0
- homeassistant-stubs/auth/providers/__init__.pyi +8 -7
- homeassistant-stubs/auth/providers/command_line.pyi +2 -3
- homeassistant-stubs/auth/providers/homeassistant.pyi +2 -3
- homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +2 -3
- homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -3
- homeassistant-stubs/bootstrap.pyi +8 -4
- homeassistant-stubs/components/__init__.pyi +1 -0
- homeassistant-stubs/components/abode/alarm_control_panel.pyi +4 -5
- homeassistant-stubs/components/abode/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/abode/camera.pyi +2 -2
- homeassistant-stubs/components/abode/config_flow.pyi +9 -10
- homeassistant-stubs/components/abode/cover.pyi +2 -2
- homeassistant-stubs/components/abode/light.pyi +2 -2
- homeassistant-stubs/components/abode/lock.pyi +2 -2
- homeassistant-stubs/components/abode/sensor.pyi +8 -12
- homeassistant-stubs/components/abode/switch.pyi +2 -2
- homeassistant-stubs/components/accuweather/config_flow.pyi +3 -5
- homeassistant-stubs/components/accuweather/sensor.pyi +3 -7
- homeassistant-stubs/components/accuweather/weather.pyi +0 -2
- homeassistant-stubs/components/acmeda/config_flow.pyi +4 -5
- homeassistant-stubs/components/adax/config_flow.pyi +5 -6
- homeassistant-stubs/components/adguard/config_flow.pyi +6 -7
- homeassistant-stubs/components/aftership/config_flow.pyi +3 -6
- homeassistant-stubs/components/aftership/sensor.pyi +3 -8
- homeassistant-stubs/components/airly/config_flow.pyi +3 -4
- homeassistant-stubs/components/airnow/config_flow.pyi +4 -6
- homeassistant-stubs/components/airnow/sensor.pyi +3 -7
- homeassistant-stubs/components/airq/config_flow.pyi +3 -4
- homeassistant-stubs/components/airq/sensor.pyi +3 -7
- homeassistant-stubs/components/airthings/config_flow.pyi +3 -4
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/airtouch5/config_flow.pyi +1 -2
- homeassistant-stubs/components/airvisual/config_flow.pyi +10 -12
- homeassistant-stubs/components/airvisual_pro/config_flow.pyi +6 -8
- homeassistant-stubs/components/airzone/config_flow.pyi +6 -6
- homeassistant-stubs/components/airzone/select.pyi +3 -7
- homeassistant-stubs/components/airzone_cloud/climate.pyi +10 -1
- homeassistant-stubs/components/airzone_cloud/config_flow.pyi +4 -5
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +6 -7
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +3 -7
- homeassistant-stubs/components/alert/__init__.pyi +3 -3
- homeassistant-stubs/components/alexa/smart_home.pyi +1 -2
- homeassistant-stubs/components/amberelectric/config_flow.pyi +4 -5
- homeassistant-stubs/components/ambiclimate/config_flow.pyi +6 -7
- homeassistant-stubs/components/ambient_station/config_flow.pyi +4 -5
- homeassistant-stubs/components/amcrest/camera.pyi +1 -1
- homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -4
- homeassistant-stubs/components/android_ip_webcam/config_flow.pyi +3 -4
- homeassistant-stubs/components/android_ip_webcam/sensor.pyi +3 -7
- homeassistant-stubs/components/android_ip_webcam/switch.pyi +3 -7
- homeassistant-stubs/components/androidtv/config_flow.pyi +10 -11
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +9 -10
- homeassistant-stubs/components/anova/config_flow.pyi +2 -3
- homeassistant-stubs/components/anthemav/config_flow.pyi +2 -3
- homeassistant-stubs/components/apache_kafka/__init__.pyi +3 -3
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/apcupsd/config_flow.pyi +4 -5
- homeassistant-stubs/components/apcupsd/const.pyi +1 -0
- homeassistant-stubs/components/apcupsd/coordinator.pyi +11 -10
- homeassistant-stubs/components/apcupsd/diagnostics.pyi +11 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +3 -1
- homeassistant-stubs/components/api/__init__.pyi +1 -1
- homeassistant-stubs/components/apple_tv/__init__.pyi +3 -0
- homeassistant-stubs/components/apple_tv/config_flow.pyi +18 -18
- homeassistant-stubs/components/aranet/config_flow.pyi +6 -6
- homeassistant-stubs/components/arcam_fmj/config_flow.pyi +7 -8
- homeassistant-stubs/components/aseko_pool_live/__init__.pyi +3 -2
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +10 -5
- homeassistant-stubs/components/asuswrt/config_flow.pyi +5 -6
- homeassistant-stubs/components/auth/__init__.pyi +1 -0
- homeassistant-stubs/components/auth/login_flow.pyi +4 -3
- homeassistant-stubs/components/automation/__init__.pyi +19 -2
- homeassistant-stubs/components/awair/config_flow.pyi +9 -10
- homeassistant-stubs/components/awair/sensor.pyi +3 -7
- homeassistant-stubs/components/axis/__init__.pyi +1 -1
- homeassistant-stubs/components/axis/binary_sensor.pyi +26 -14
- homeassistant-stubs/components/axis/camera.pyi +2 -2
- homeassistant-stubs/components/axis/config_flow.pyi +20 -18
- homeassistant-stubs/components/axis/const.pyi +0 -1
- homeassistant-stubs/components/axis/diagnostics.pyi +1 -1
- homeassistant-stubs/components/axis/entity.pyi +16 -8
- homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/axis/hub/api.pyi +10 -0
- homeassistant-stubs/components/axis/hub/config.pyi +21 -0
- homeassistant-stubs/components/axis/hub/entity_loader.pyi +15 -0
- homeassistant-stubs/components/axis/hub/hub.pyi +41 -0
- homeassistant-stubs/components/axis/light.pyi +17 -8
- homeassistant-stubs/components/axis/switch.pyi +13 -5
- homeassistant-stubs/components/backup/http.pyi +1 -1
- homeassistant-stubs/components/baf/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/baf/config_flow.pyi +5 -6
- homeassistant-stubs/components/baf/number.pyi +3 -7
- homeassistant-stubs/components/baf/sensor.pyi +3 -7
- homeassistant-stubs/components/baf/switch.pyi +3 -7
- homeassistant-stubs/components/bang_olufsen/config_flow.pyi +5 -6
- homeassistant-stubs/components/bang_olufsen/const.pyi +22 -22
- homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -4
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +4 -5
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -1
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/blue_current/__init__.pyi +10 -12
- homeassistant-stubs/components/blue_current/config_flow.pyi +5 -6
- homeassistant-stubs/components/bluetooth/config_flow.pyi +5 -6
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -2
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +14 -14
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +3 -7
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +3 -7
- homeassistant-stubs/components/bond/button.pyi +4 -8
- homeassistant-stubs/components/bond/config_flow.pyi +7 -8
- homeassistant-stubs/components/bond/light.pyi +1 -1
- homeassistant-stubs/components/braviatv/button.pyi +3 -7
- homeassistant-stubs/components/braviatv/config_flow.pyi +11 -13
- homeassistant-stubs/components/brother/config_flow.pyi +7 -7
- homeassistant-stubs/components/brother/sensor.pyi +3 -7
- homeassistant-stubs/components/bthome/__init__.pyi +3 -2
- homeassistant-stubs/components/bthome/config_flow.pyi +7 -8
- homeassistant-stubs/components/bthome/logbook.pyi +2 -3
- homeassistant-stubs/components/canary/config_flow.pyi +4 -5
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +4 -5
- homeassistant-stubs/components/cert_expiry/helper.pyi +1 -2
- homeassistant-stubs/components/climate/__init__.pyi +10 -7
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/config_flow.pyi +2 -3
- homeassistant-stubs/components/cloud/http_api.pyi +3 -1
- homeassistant-stubs/components/cloud/prefs.pyi +1 -0
- homeassistant-stubs/components/cloud/repairs.pyi +1 -1
- homeassistant-stubs/components/cloud/tts.pyi +3 -3
- homeassistant-stubs/components/co2signal/config_flow.pyi +7 -9
- homeassistant-stubs/components/command_line/cover.pyi +3 -3
- homeassistant-stubs/components/command_line/sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/switch.pyi +4 -4
- homeassistant-stubs/components/command_line/utils.pyi +3 -2
- homeassistant-stubs/components/config/__init__.pyi +3 -47
- homeassistant-stubs/components/config/automation.pyi +2 -1
- homeassistant-stubs/components/config/category_registry.pyi +12 -0
- homeassistant-stubs/components/config/config_entries.pyi +8 -6
- homeassistant-stubs/components/config/const.pyi +3 -0
- homeassistant-stubs/components/config/core.pyi +1 -1
- homeassistant-stubs/components/config/label_registry.pyi +3 -0
- homeassistant-stubs/components/config/scene.pyi +2 -1
- homeassistant-stubs/components/config/script.pyi +2 -1
- homeassistant-stubs/components/config/view.pyi +48 -0
- homeassistant-stubs/components/configurator/__init__.pyi +1 -1
- homeassistant-stubs/components/cpuspeed/config_flow.pyi +2 -3
- homeassistant-stubs/components/crownstone/config_flow.pyi +10 -11
- homeassistant-stubs/components/deconz/__init__.pyi +6 -7
- homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
- homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/deconz/button.pyi +2 -2
- homeassistant-stubs/components/deconz/climate.pyi +2 -2
- homeassistant-stubs/components/deconz/config_flow.pyi +14 -16
- homeassistant-stubs/components/deconz/cover.pyi +2 -2
- homeassistant-stubs/components/deconz/deconz_device.pyi +5 -5
- homeassistant-stubs/components/deconz/deconz_event.pyi +4 -4
- homeassistant-stubs/components/deconz/device_trigger.pyi +1 -1
- homeassistant-stubs/components/deconz/diagnostics.pyi +1 -1
- homeassistant-stubs/components/deconz/fan.pyi +2 -2
- homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/deconz/hub/api.pyi +9 -0
- homeassistant-stubs/components/deconz/hub/config.pyi +18 -0
- homeassistant-stubs/components/deconz/{gateway.pyi → hub/hub.pyi} +10 -19
- homeassistant-stubs/components/deconz/light.pyi +3 -3
- homeassistant-stubs/components/deconz/lock.pyi +1 -1
- homeassistant-stubs/components/deconz/number.pyi +2 -4
- homeassistant-stubs/components/deconz/scene.pyi +1 -1
- homeassistant-stubs/components/deconz/select.pyi +1 -1
- homeassistant-stubs/components/deconz/sensor.pyi +4 -6
- homeassistant-stubs/components/deconz/services.pyi +5 -5
- homeassistant-stubs/components/deconz/siren.pyi +1 -1
- homeassistant-stubs/components/deconz/switch.pyi +1 -1
- homeassistant-stubs/components/demo/climate.pyi +3 -8
- homeassistant-stubs/components/demo/config_flow.pyi +10 -11
- homeassistant-stubs/components/demo/humidifier.pyi +1 -1
- homeassistant-stubs/components/derivative/sensor.pyi +2 -2
- homeassistant-stubs/components/device_tracker/const.pyi +2 -1
- homeassistant-stubs/components/device_tracker/legacy.pyi +6 -2
- homeassistant-stubs/components/devolo_home_control/config_flow.pyi +9 -11
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/button.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +9 -9
- homeassistant-stubs/components/devolo_home_network/image.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -7
- homeassistant-stubs/components/devolo_home_network/update.pyi +3 -7
- homeassistant-stubs/components/dhcp/__init__.pyi +4 -8
- homeassistant-stubs/components/discovergy/config_flow.pyi +5 -7
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +13 -14
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +4 -2
- homeassistant-stubs/components/dlna_dms/config_flow.pyi +7 -7
- homeassistant-stubs/components/dnsip/config_flow.pyi +6 -9
- homeassistant-stubs/components/doorbird/button.pyi +3 -7
- homeassistant-stubs/components/doorbird/config_flow.pyi +12 -12
- homeassistant-stubs/components/doorbird/view.pyi +1 -2
- homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +9 -10
- homeassistant-stubs/components/downloader/__init__.pyi +7 -12
- homeassistant-stubs/components/downloader/config_flow.pyi +12 -0
- homeassistant-stubs/components/downloader/const.pyi +13 -0
- homeassistant-stubs/components/dsmr/config_flow.pyi +14 -15
- homeassistant-stubs/components/dunehd/config_flow.pyi +6 -6
- homeassistant-stubs/components/duotecno/config_flow.pyi +3 -4
- homeassistant-stubs/components/easyenergy/config_flow.pyi +2 -3
- homeassistant-stubs/components/easyenergy/sensor.pyi +3 -7
- homeassistant-stubs/components/ecovacs/config_flow.pyi +5 -5
- homeassistant-stubs/components/ecovacs/event.pyi +19 -0
- homeassistant-stubs/components/ecowitt/config_flow.pyi +3 -4
- homeassistant-stubs/components/efergy/config_flow.pyi +4 -5
- homeassistant-stubs/components/electrasmart/config_flow.pyi +8 -9
- homeassistant-stubs/components/electric_kiwi/config_flow.pyi +4 -5
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +6 -14
- homeassistant-stubs/components/elgato/config_flow.pyi +6 -7
- homeassistant-stubs/components/elkm1/config_flow.pyi +13 -13
- homeassistant-stubs/components/elkm1/sensor.pyi +2 -2
- homeassistant-stubs/components/emulated_hue/__init__.pyi +2 -1
- homeassistant-stubs/components/emulated_hue/config.pyi +3 -3
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -3
- homeassistant-stubs/components/energy/sensor.pyi +5 -1
- homeassistant-stubs/components/energyzero/config_flow.pyi +2 -3
- homeassistant-stubs/components/energyzero/sensor.pyi +3 -7
- homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -6
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -0
- homeassistant-stubs/components/enphase_envoy/number.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/select.pyi +6 -14
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -53
- homeassistant-stubs/components/enphase_envoy/switch.pyi +9 -21
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -1
- homeassistant-stubs/components/esphome/button.pyi +1 -1
- homeassistant-stubs/components/esphome/climate.pyi +1 -1
- homeassistant-stubs/components/esphome/config_flow.pyi +15 -16
- homeassistant-stubs/components/esphome/cover.pyi +1 -1
- homeassistant-stubs/components/esphome/date.pyi +14 -0
- homeassistant-stubs/components/esphome/entity.pyi +5 -3
- homeassistant-stubs/components/esphome/entry_data.pyi +15 -14
- homeassistant-stubs/components/esphome/fan.pyi +1 -1
- homeassistant-stubs/components/esphome/light.pyi +1 -1
- homeassistant-stubs/components/esphome/lock.pyi +1 -1
- homeassistant-stubs/components/esphome/manager.pyi +3 -3
- homeassistant-stubs/components/esphome/media_player.pyi +1 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -1
- homeassistant-stubs/components/esphome/select.pyi +1 -1
- homeassistant-stubs/components/esphome/switch.pyi +1 -1
- homeassistant-stubs/components/esphome/text.pyi +1 -1
- homeassistant-stubs/components/esphome/time.pyi +14 -0
- homeassistant-stubs/components/esphome/update.pyi +1 -1
- homeassistant-stubs/components/evil_genius_labs/config_flow.pyi +3 -4
- homeassistant-stubs/components/faa_delays/config_flow.pyi +3 -4
- homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/config_flow.pyi +3 -4
- homeassistant-stubs/components/fastdotcom/coordinator.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/diagnostics.pyi +7 -0
- homeassistant-stubs/components/fastdotcom/sensor.pyi +3 -3
- homeassistant-stubs/components/fastdotcom/services.pyi +1 -1
- homeassistant-stubs/components/file_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/filesize/__init__.pyi +0 -2
- homeassistant-stubs/components/filesize/config_flow.pyi +2 -3
- homeassistant-stubs/components/filesize/coordinator.pyi +6 -1
- homeassistant-stubs/components/filter/sensor.pyi +3 -3
- homeassistant-stubs/components/fitbit/config_flow.pyi +6 -7
- homeassistant-stubs/components/flexit_bacnet/config_flow.pyi +3 -4
- homeassistant-stubs/components/flux_led/config_flow.pyi +14 -14
- homeassistant-stubs/components/flux_led/discovery.pyi +1 -0
- homeassistant-stubs/components/flux_led/number.pyi +0 -5
- homeassistant-stubs/components/flux_led/select.pyi +0 -3
- homeassistant-stubs/components/flux_led/sensor.pyi +0 -1
- homeassistant-stubs/components/flux_led/switch.pyi +0 -4
- homeassistant-stubs/components/forecast_solar/config_flow.pyi +3 -4
- homeassistant-stubs/components/fritz/button.pyi +3 -7
- homeassistant-stubs/components/fritz/common.pyi +1 -0
- homeassistant-stubs/components/fritz/config_flow.pyi +11 -12
- homeassistant-stubs/components/fritzbox/config_flow.pyi +7 -8
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +9 -10
- homeassistant-stubs/components/fronius/config_flow.pyi +5 -6
- homeassistant-stubs/components/frontend/__init__.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/button.pyi +3 -7
- homeassistant-stubs/components/fully_kiosk/config_flow.pyi +7 -8
- homeassistant-stubs/components/fully_kiosk/switch.pyi +3 -7
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +5 -5
- homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
- homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
- homeassistant-stubs/components/geocaching/config_flow.pyi +4 -4
- homeassistant-stubs/components/geocaching/sensor.pyi +3 -7
- homeassistant-stubs/components/gios/config_flow.pyi +3 -4
- homeassistant-stubs/components/glances/config_flow.pyi +6 -7
- homeassistant-stubs/components/glances/sensor.pyi +3 -7
- homeassistant-stubs/components/goalzero/config_flow.pyi +5 -6
- homeassistant-stubs/components/google/config_flow.pyi +11 -12
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +8 -10
- homeassistant-stubs/components/google_sheets/config_flow.pyi +4 -5
- homeassistant-stubs/components/gpsd/config_flow.pyi +4 -5
- homeassistant-stubs/components/group/__init__.pyi +7 -102
- homeassistant-stubs/components/group/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/group/config_flow.pyi +2 -2
- homeassistant-stubs/components/group/const.pyi +12 -0
- homeassistant-stubs/components/group/cover.pyi +1 -1
- homeassistant-stubs/components/group/entity.pyi +81 -0
- homeassistant-stubs/components/group/event.pyi +3 -3
- homeassistant-stubs/components/group/fan.pyi +1 -1
- homeassistant-stubs/components/group/light.pyi +1 -1
- homeassistant-stubs/components/group/lock.pyi +1 -1
- homeassistant-stubs/components/group/media_player.pyi +3 -3
- homeassistant-stubs/components/group/registry.pyi +23 -0
- homeassistant-stubs/components/group/sensor.pyi +1 -1
- homeassistant-stubs/components/group/switch.pyi +1 -1
- homeassistant-stubs/components/guardian/config_flow.pyi +7 -8
- homeassistant-stubs/components/hardkernel/config_flow.pyi +2 -3
- homeassistant-stubs/components/here_travel_time/__init__.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/config_flow.pyi +17 -18
- homeassistant-stubs/components/here_travel_time/sensor.pyi +0 -1
- homeassistant-stubs/components/history/__init__.pyi +1 -1
- homeassistant-stubs/components/history/websocket_api.pyi +2 -2
- homeassistant-stubs/components/history_stats/coordinator.pyi +2 -3
- homeassistant-stubs/components/history_stats/data.pyi +2 -3
- homeassistant-stubs/components/holiday/config_flow.pyi +7 -5
- homeassistant-stubs/components/homeassistant/trigger.pyi +2 -1
- homeassistant-stubs/components/homeassistant/triggers/event.pyi +5 -1
- homeassistant-stubs/components/homeassistant/triggers/homeassistant.pyi +1 -0
- homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
- homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -5
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -29
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +6 -5
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +18 -0
- homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -0
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +9 -10
- homeassistant-stubs/components/homekit/__init__.pyi +9 -6
- homeassistant-stubs/components/homekit/accessories.pyi +5 -6
- homeassistant-stubs/components/homekit/config_flow.pyi +16 -18
- homeassistant-stubs/components/homekit/const.pyi +3 -0
- homeassistant-stubs/components/homekit/type_cameras.pyi +3 -4
- homeassistant-stubs/components/homekit/type_covers.pyi +2 -3
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -3
- homeassistant-stubs/components/homekit/util.pyi +2 -3
- homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +13 -13
- homeassistant-stubs/components/homekit_controller/select.pyi +3 -7
- homeassistant-stubs/components/homewizard/config_flow.pyi +7 -7
- homeassistant-stubs/components/homewizard/coordinator.pyi +0 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +63 -0
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +25 -0
- homeassistant-stubs/components/homeworks/button.pyi +18 -0
- homeassistant-stubs/components/homeworks/config_flow.pyi +61 -0
- homeassistant-stubs/components/homeworks/const.pyi +14 -0
- homeassistant-stubs/components/homeworks/light.pyi +34 -0
- homeassistant-stubs/components/http/__init__.pyi +4 -3
- homeassistant-stubs/components/http/ban.pyi +4 -3
- homeassistant-stubs/components/http/const.pyi +1 -2
- homeassistant-stubs/components/http/cors.pyi +1 -0
- homeassistant-stubs/components/http/static.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +12 -13
- homeassistant-stubs/components/huawei_lte/select.pyi +3 -7
- homeassistant-stubs/components/humidifier/__init__.pyi +8 -8
- homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -8
- homeassistant-stubs/components/hyperion/config_flow.pyi +12 -13
- homeassistant-stubs/components/hyperion/const.pyi +2 -0
- homeassistant-stubs/components/hyperion/sensor.pyi +39 -0
- homeassistant-stubs/components/ibeacon/config_flow.pyi +7 -8
- homeassistant-stubs/components/ibeacon/device_tracker.pyi +1 -2
- homeassistant-stubs/components/ibeacon/sensor.pyi +3 -7
- homeassistant-stubs/components/idasen_desk/button.pyi +4 -8
- homeassistant-stubs/components/idasen_desk/config_flow.pyi +4 -5
- homeassistant-stubs/components/idasen_desk/cover.pyi +3 -3
- homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -7
- homeassistant-stubs/components/image/__init__.pyi +2 -2
- homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/config_flow.pyi +10 -10
- homeassistant-stubs/components/integration/sensor.pyi +36 -5
- homeassistant-stubs/components/ios/__init__.pyi +1 -1
- homeassistant-stubs/components/ipp/config_flow.pyi +5 -6
- homeassistant-stubs/components/ipp/sensor.pyi +3 -7
- homeassistant-stubs/components/iqvia/config_flow.pyi +3 -4
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +7 -8
- homeassistant-stubs/components/isy994/config_flow.pyi +18 -17
- homeassistant-stubs/components/jellyfin/config_flow.pyi +5 -6
- homeassistant-stubs/components/jellyfin/sensor.pyi +3 -7
- homeassistant-stubs/components/jvc_projector/config_flow.pyi +4 -5
- homeassistant-stubs/components/jvc_projector/sensor.pyi +20 -0
- homeassistant-stubs/components/kaleidescape/config_flow.pyi +4 -5
- homeassistant-stubs/components/kaleidescape/sensor.pyi +3 -7
- homeassistant-stubs/components/knx/config_flow.pyi +18 -19
- homeassistant-stubs/components/knx/expose.pyi +3 -3
- homeassistant-stubs/components/kraken/config_flow.pyi +7 -8
- homeassistant-stubs/components/kraken/sensor.pyi +3 -7
- homeassistant-stubs/components/lacrosse_view/config_flow.pyi +5 -6
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +3 -7
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +16 -8
- homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +7 -2
- homeassistant-stubs/components/lametric/config_flow.pyi +11 -11
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/laundrify/config_flow.pyi +5 -6
- homeassistant-stubs/components/lcn/config_flow.pyi +4 -5
- homeassistant-stubs/components/ld2410_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/led_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/lidarr/config_flow.pyi +4 -5
- homeassistant-stubs/components/lifx/config_flow.pyi +10 -11
- homeassistant-stubs/components/linear_garage_door/config_flow.pyi +5 -6
- homeassistant-stubs/components/litejet/config_flow.pyi +7 -8
- homeassistant-stubs/components/litterrobot/config_flow.pyi +5 -6
- homeassistant-stubs/components/litterrobot/switch.pyi +2 -5
- homeassistant-stubs/components/local_ip/config_flow.pyi +2 -3
- homeassistant-stubs/components/local_ip/sensor.pyi +1 -1
- homeassistant-stubs/components/local_todo/config_flow.pyi +3 -4
- homeassistant-stubs/components/logbook/helpers.pyi +1 -2
- homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
- homeassistant-stubs/components/logbook/websocket_api.pyi +1 -0
- homeassistant-stubs/components/lookin/config_flow.pyi +5 -6
- homeassistant-stubs/components/luftdaten/config_flow.pyi +4 -5
- homeassistant-stubs/components/map/__init__.pyi +6 -1
- homeassistant-stubs/components/matter/config_flow.pyi +14 -14
- homeassistant-stubs/components/met_eireann/config_flow.pyi +3 -4
- homeassistant-stubs/components/met_eireann/weather.pyi +1 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +7 -6
- homeassistant-stubs/components/metoffice/weather.pyi +2 -5
- homeassistant-stubs/components/mikrotik/config_flow.pyi +11 -12
- homeassistant-stubs/components/min_max/sensor.pyi +3 -3
- homeassistant-stubs/components/minecraft_server/binary_sensor.pyi +2 -9
- homeassistant-stubs/components/minecraft_server/config_flow.pyi +3 -4
- homeassistant-stubs/components/minecraft_server/sensor.pyi +3 -16
- homeassistant-stubs/components/mjpeg/config_flow.pyi +3 -4
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/base_platform.pyi +1 -3
- homeassistant-stubs/components/modbus/const.pyi +0 -2
- homeassistant-stubs/components/modbus/modbus.pyi +3 -5
- homeassistant-stubs/components/modbus/validators.pyi +7 -2
- homeassistant-stubs/components/modem_callerid/button.pyi +0 -1
- homeassistant-stubs/components/modem_callerid/config_flow.pyi +5 -6
- homeassistant-stubs/components/modem_callerid/const.pyi +0 -1
- homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
- homeassistant-stubs/components/moon/config_flow.pyi +2 -3
- homeassistant-stubs/components/moon/sensor.pyi +0 -2
- homeassistant-stubs/components/mopeka/config_flow.pyi +4 -5
- homeassistant-stubs/components/motionmount/config_flow.pyi +6 -7
- homeassistant-stubs/components/mqtt/__init__.pyi +2 -2
- homeassistant-stubs/components/mqtt/climate.pyi +1 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +8 -9
- homeassistant-stubs/components/mqtt/const.pyi +0 -1
- homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
- homeassistant-stubs/components/mqtt/event.pyi +2 -2
- homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
- homeassistant-stubs/components/mqtt/image.pyi +2 -2
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +5 -2
- homeassistant-stubs/components/mqtt/mixins.pyi +7 -7
- homeassistant-stubs/components/mqtt/models.pyi +9 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +4 -1
- homeassistant-stubs/components/mqtt/tag.pyi +3 -2
- homeassistant-stubs/components/mqtt/util.pyi +5 -1
- homeassistant-stubs/components/mysensors/config_flow.pyi +8 -10
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/myuplink/config_flow.pyi +4 -5
- homeassistant-stubs/components/myuplink/helpers.pyi +1 -0
- homeassistant-stubs/components/myuplink/number.pyi +1 -1
- homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
- homeassistant-stubs/components/myuplink/switch.pyi +1 -1
- homeassistant-stubs/components/nam/config_flow.pyi +8 -9
- homeassistant-stubs/components/nam/sensor.pyi +3 -7
- homeassistant-stubs/components/nanoleaf/config_flow.pyi +12 -13
- homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
- homeassistant-stubs/components/neato/config_flow.pyi +5 -6
- homeassistant-stubs/components/neato/vacuum.pyi +0 -1
- homeassistant-stubs/components/nest/config_flow.pyi +10 -11
- homeassistant-stubs/components/netatmo/config_flow.pyi +12 -13
- homeassistant-stubs/components/netatmo/sensor.pyi +3 -7
- homeassistant-stubs/components/network/network.pyi +1 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +4 -5
- homeassistant-stubs/components/nfandroidtv/config_flow.pyi +3 -4
- homeassistant-stubs/components/nightscout/config_flow.pyi +5 -5
- homeassistant-stubs/components/notify/legacy.pyi +1 -1
- homeassistant-stubs/components/notion/__init__.pyi +4 -29
- homeassistant-stubs/components/notion/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/notion/config_flow.pyi +5 -7
- homeassistant-stubs/components/notion/coordinator.pyi +44 -0
- homeassistant-stubs/components/notion/diagnostics.pyi +1 -2
- homeassistant-stubs/components/notion/sensor.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +10 -9
- homeassistant-stubs/components/nut/config_flow.pyi +12 -12
- homeassistant-stubs/components/onboarding/__init__.pyi +16 -2
- homeassistant-stubs/components/onboarding/views.pyi +8 -6
- homeassistant-stubs/components/oncue/config_flow.pyi +3 -4
- homeassistant-stubs/components/onewire/config_flow.pyi +5 -6
- homeassistant-stubs/components/open_meteo/config_flow.pyi +2 -3
- homeassistant-stubs/components/open_meteo/weather.pyi +0 -2
- homeassistant-stubs/components/openexchangerates/config_flow.pyi +5 -5
- homeassistant-stubs/components/opensky/config_flow.pyi +3 -4
- homeassistant-stubs/components/opensky/sensor.pyi +1 -1
- homeassistant-stubs/components/openuv/config_flow.pyi +6 -8
- homeassistant-stubs/components/oralb/config_flow.pyi +4 -5
- homeassistant-stubs/components/otbr/config_flow.pyi +3 -4
- homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +3 -7
- homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/overkiz/climate.pyi +1 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -2
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +30 -7
- homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +1 -0
- homeassistant-stubs/components/overkiz/config_flow.pyi +10 -12
- homeassistant-stubs/components/overkiz/executor.pyi +1 -1
- homeassistant-stubs/components/overkiz/number.pyi +3 -7
- homeassistant-stubs/components/overkiz/select.pyi +3 -7
- homeassistant-stubs/components/overkiz/switch.pyi +3 -7
- homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -3
- homeassistant-stubs/components/peco/config_flow.pyi +4 -5
- homeassistant-stubs/components/peco/sensor.pyi +3 -7
- homeassistant-stubs/components/persistent_notification/__init__.pyi +2 -1
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/pi_hole/config_flow.pyi +6 -7
- homeassistant-stubs/components/ping/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/ping/config_flow.pyi +8 -9
- homeassistant-stubs/components/ping/coordinator.pyi +1 -1
- homeassistant-stubs/components/ping/entity.pyi +12 -0
- homeassistant-stubs/components/ping/sensor.pyi +29 -0
- homeassistant-stubs/components/plugwise/config_flow.pyi +3 -4
- homeassistant-stubs/components/poolsense/config_flow.pyi +3 -4
- homeassistant-stubs/components/powerwall/config_flow.pyi +12 -11
- homeassistant-stubs/components/private_ble_device/config_flow.pyi +2 -3
- homeassistant-stubs/components/private_ble_device/device_tracker.pyi +1 -2
- homeassistant-stubs/components/private_ble_device/sensor.pyi +3 -7
- homeassistant-stubs/components/prometheus/__init__.pyi +4 -4
- homeassistant-stubs/components/proximity/config_flow.pyi +4 -5
- homeassistant-stubs/components/proximity/coordinator.pyi +3 -3
- homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
- homeassistant-stubs/components/prusalink/config_flow.pyi +6 -5
- homeassistant-stubs/components/pure_energie/config_flow.pyi +4 -5
- homeassistant-stubs/components/pure_energie/sensor.pyi +3 -7
- homeassistant-stubs/components/purpleair/config_flow.pyi +14 -17
- homeassistant-stubs/components/pushbullet/config_flow.pyi +3 -4
- homeassistant-stubs/components/pvoutput/config_flow.pyi +4 -5
- homeassistant-stubs/components/qnap_qsw/button.pyi +3 -7
- homeassistant-stubs/components/qnap_qsw/config_flow.pyi +6 -6
- homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -3
- homeassistant-stubs/components/radarr/config_flow.pyi +4 -5
- homeassistant-stubs/components/rainforest_raven/config_flow.pyi +5 -6
- homeassistant-stubs/components/rainmachine/config_flow.pyi +8 -10
- homeassistant-stubs/components/raspberry_pi/config_flow.pyi +2 -3
- homeassistant-stubs/components/rdw/config_flow.pyi +2 -3
- homeassistant-stubs/components/recollect_waste/calendar.pyi +1 -1
- homeassistant-stubs/components/recollect_waste/config_flow.pyi +7 -8
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +4 -3
- homeassistant-stubs/components/recorder/db_schema.pyi +7 -0
- homeassistant-stubs/components/recorder/history/modern.pyi +7 -6
- homeassistant-stubs/components/recorder/migration.pyi +47 -5
- homeassistant-stubs/components/recorder/models/legacy.pyi +10 -0
- homeassistant-stubs/components/recorder/models/state.pyi +4 -0
- homeassistant-stubs/components/recorder/queries.pyi +2 -1
- homeassistant-stubs/components/recorder/table_managers/states.pyi +3 -0
- homeassistant-stubs/components/renault/binary_sensor.pyi +3 -11
- homeassistant-stubs/components/renault/button.pyi +3 -7
- homeassistant-stubs/components/renault/config_flow.pyi +8 -9
- homeassistant-stubs/components/renault/select.pyi +3 -13
- homeassistant-stubs/components/renault/sensor.pyi +3 -12
- homeassistant-stubs/components/rest/__init__.pyi +1 -0
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +12 -12
- homeassistant-stubs/components/rfxtrx/event.pyi +22 -0
- homeassistant-stubs/components/rhasspy/config_flow.pyi +3 -4
- homeassistant-stubs/components/ridwell/calendar.pyi +1 -1
- homeassistant-stubs/components/ridwell/config_flow.pyi +6 -7
- homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +3 -4
- homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +3 -7
- homeassistant-stubs/components/roku/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/roku/config_flow.pyi +6 -7
- homeassistant-stubs/components/roku/select.pyi +6 -10
- homeassistant-stubs/components/roku/sensor.pyi +3 -7
- homeassistant-stubs/components/romy/config_flow.pyi +5 -6
- homeassistant-stubs/components/romy/entity.pyi +11 -0
- homeassistant-stubs/components/romy/vacuum.pyi +4 -11
- homeassistant-stubs/components/rpi_power/config_flow.pyi +2 -2
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +9 -10
- homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +5 -6
- homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/samsungtv/config_flow.pyi +17 -17
- homeassistant-stubs/components/samsungtv/media_player.pyi +1 -0
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
- homeassistant-stubs/components/search/__init__.pyi +41 -20
- homeassistant-stubs/components/sensibo/binary_sensor.pyi +6 -14
- homeassistant-stubs/components/sensibo/button.pyi +3 -7
- homeassistant-stubs/components/sensibo/config_flow.pyi +6 -7
- homeassistant-stubs/components/sensibo/number.pyi +3 -7
- homeassistant-stubs/components/sensibo/select.pyi +3 -7
- homeassistant-stubs/components/sensibo/sensor.pyi +6 -14
- homeassistant-stubs/components/sensibo/switch.pyi +3 -7
- homeassistant-stubs/components/sensibo/update.pyi +3 -7
- homeassistant-stubs/components/sensirion_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/sfr_box/button.pyi +3 -7
- homeassistant-stubs/components/sfr_box/config_flow.pyi +6 -7
- homeassistant-stubs/components/sfr_box/sensor.pyi +3 -7
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/shelly/button.pyi +3 -7
- homeassistant-stubs/components/shelly/config_flow.pyi +15 -14
- homeassistant-stubs/components/shelly/const.pyi +3 -2
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -1
- homeassistant-stubs/components/shelly/entity.pyi +4 -8
- homeassistant-stubs/components/shelly/event.pyi +2 -2
- homeassistant-stubs/components/shelly/light.pyi +30 -14
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +4 -4
- homeassistant-stubs/components/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/update.pyi +8 -15
- homeassistant-stubs/components/shelly/utils.pyi +9 -4
- homeassistant-stubs/components/shopping_list/config_flow.pyi +3 -4
- homeassistant-stubs/components/shopping_list/todo.pyi +0 -1
- homeassistant-stubs/components/simplepush/config_flow.pyi +3 -4
- homeassistant-stubs/components/simplisafe/config_flow.pyi +6 -8
- homeassistant-stubs/components/skybell/config_flow.pyi +5 -6
- homeassistant-stubs/components/skybell/sensor.pyi +3 -7
- homeassistant-stubs/components/slack/config_flow.pyi +3 -4
- homeassistant-stubs/components/sleepiq/button.pyi +3 -7
- homeassistant-stubs/components/sleepiq/config_flow.pyi +5 -6
- homeassistant-stubs/components/sleepiq/number.pyi +3 -7
- homeassistant-stubs/components/smhi/config_flow.pyi +6 -4
- homeassistant-stubs/components/smhi/weather.pyi +0 -2
- homeassistant-stubs/components/snooz/config_flow.pyi +8 -9
- homeassistant-stubs/components/sonarr/config_flow.pyi +6 -7
- homeassistant-stubs/components/speedtestdotnet/__init__.pyi +4 -2
- homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +7 -8
- homeassistant-stubs/components/speedtestdotnet/const.pyi +0 -1
- homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -2
- homeassistant-stubs/components/sql/config_flow.pyi +6 -7
- homeassistant-stubs/components/ssdp/__init__.pyi +9 -7
- homeassistant-stubs/components/starlink/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/starlink/button.pyi +3 -7
- homeassistant-stubs/components/starlink/config_flow.pyi +2 -3
- homeassistant-stubs/components/starlink/coordinator.pyi +6 -1
- homeassistant-stubs/components/starlink/device_tracker.pyi +3 -7
- homeassistant-stubs/components/starlink/sensor.pyi +3 -7
- homeassistant-stubs/components/starlink/switch.pyi +3 -7
- homeassistant-stubs/components/starlink/time.pyi +34 -0
- homeassistant-stubs/components/statistics/sensor.pyi +2 -2
- homeassistant-stubs/components/steamist/config_flow.pyi +9 -10
- homeassistant-stubs/components/steamist/sensor.pyi +3 -7
- homeassistant-stubs/components/stookalert/config_flow.pyi +2 -3
- homeassistant-stubs/components/stream/__init__.pyi +1 -0
- homeassistant-stubs/components/stream/core.pyi +1 -1
- homeassistant-stubs/components/streamlabswater/config_flow.pyi +3 -4
- homeassistant-stubs/components/stt/legacy.pyi +1 -1
- homeassistant-stubs/components/suez_water/config_flow.pyi +3 -4
- homeassistant-stubs/components/sun/__init__.pyi +4 -64
- homeassistant-stubs/components/sun/config_flow.pyi +3 -4
- homeassistant-stubs/components/sun/const.pyi +11 -0
- homeassistant-stubs/components/sun/entity.pyi +64 -0
- homeassistant-stubs/components/sun/sensor.pyi +1 -1
- homeassistant-stubs/components/surepetcare/config_flow.pyi +5 -6
- homeassistant-stubs/components/switch/light.pyi +2 -2
- homeassistant-stubs/components/switchbee/config_flow.pyi +3 -4
- homeassistant-stubs/components/switchbot_cloud/config_flow.pyi +3 -4
- homeassistant-stubs/components/switcher_kis/button.pyi +3 -7
- homeassistant-stubs/components/switcher_kis/config_flow.pyi +5 -6
- homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/switch.pyi +2 -0
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/button.pyi +3 -7
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +14 -15
- homeassistant-stubs/components/synology_dsm/entity.pyi +3 -7
- homeassistant-stubs/components/synology_dsm/sensor.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -2
- homeassistant-stubs/components/system_log/__init__.pyi +3 -2
- homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -1
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +14 -12
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +29 -46
- homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/sensor.pyi +23 -20
- homeassistant-stubs/components/systemmonitor/util.pyi +1 -1
- homeassistant-stubs/components/tailscale/config_flow.pyi +4 -5
- homeassistant-stubs/components/tailwind/config_flow.pyi +9 -9
- homeassistant-stubs/components/tami4/config_flow.pyi +4 -5
- homeassistant-stubs/components/tautulli/config_flow.pyi +4 -5
- homeassistant-stubs/components/tautulli/sensor.pyi +6 -14
- homeassistant-stubs/components/technove/config_flow.pyi +4 -5
- homeassistant-stubs/components/tedee/config_flow.pyi +7 -5
- homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tibber/config_flow.pyi +3 -4
- homeassistant-stubs/components/tile/config_flow.pyi +7 -8
- homeassistant-stubs/components/tile/device_tracker.pyi +1 -2
- homeassistant-stubs/components/tilt_ble/config_flow.pyi +4 -5
- homeassistant-stubs/components/tolo/__init__.pyi +3 -3
- homeassistant-stubs/components/tolo/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/tolo/button.pyi +0 -1
- homeassistant-stubs/components/tolo/climate.pyi +6 -5
- homeassistant-stubs/components/tolo/config_flow.pyi +5 -6
- homeassistant-stubs/components/tolo/const.pyi +11 -7
- homeassistant-stubs/components/tolo/number.pyi +6 -11
- homeassistant-stubs/components/tolo/select.pyi +19 -7
- homeassistant-stubs/components/tolo/sensor.pyi +6 -10
- homeassistant-stubs/components/tolo/switch.pyi +30 -0
- homeassistant-stubs/components/tplink/config_flow.pyi +14 -16
- homeassistant-stubs/components/tplink/switch.pyi +0 -1
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +17 -20
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +6 -7
- homeassistant-stubs/components/tplink_omada/entity.pyi +3 -3
- homeassistant-stubs/components/tplink_omada/switch.pyi +54 -17
- homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
- homeassistant-stubs/components/tractive/__init__.pyi +1 -2
- homeassistant-stubs/components/tractive/config_flow.pyi +5 -6
- homeassistant-stubs/components/tractive/const.pyi +0 -1
- homeassistant-stubs/components/tractive/sensor.pyi +4 -8
- homeassistant-stubs/components/tractive/switch.pyi +3 -7
- homeassistant-stubs/components/tradfri/config_flow.pyi +6 -7
- homeassistant-stubs/components/tradfri/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +7 -8
- homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +6 -7
- homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +3 -8
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +9 -10
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +3 -7
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +6 -7
- homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -7
- homeassistant-stubs/components/transmission/__init__.pyi +3 -2
- homeassistant-stubs/components/transmission/config_flow.pyi +13 -13
- homeassistant-stubs/components/transmission/const.pyi +2 -0
- homeassistant-stubs/components/transmission/switch.pyi +3 -7
- homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tts/__init__.pyi +1 -0
- homeassistant-stubs/components/tts/legacy.pyi +1 -1
- homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
- homeassistant-stubs/components/twentemilieu/config_flow.pyi +3 -4
- homeassistant-stubs/components/unifi/button.pyi +4 -8
- homeassistant-stubs/components/unifi/config_flow.pyi +16 -17
- homeassistant-stubs/components/unifi/device_tracker.pyi +4 -8
- homeassistant-stubs/components/unifi/entity.pyi +12 -15
- homeassistant-stubs/components/unifi/hub/config.pyi +31 -0
- homeassistant-stubs/components/unifi/hub/entity_loader.pyi +26 -0
- homeassistant-stubs/components/unifi/hub/hub.pyi +8 -28
- homeassistant-stubs/components/unifi/image.pyi +3 -8
- homeassistant-stubs/components/unifi/sensor.pyi +4 -10
- homeassistant-stubs/components/unifi/switch.pyi +6 -11
- homeassistant-stubs/components/unifi/update.pyi +4 -8
- homeassistant-stubs/components/unifiprotect/camera.pyi +5 -2
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +16 -17
- homeassistant-stubs/components/unifiprotect/migrate.pyi +18 -4
- homeassistant-stubs/components/unifiprotect/repairs.pyi +17 -6
- homeassistant-stubs/components/unifiprotect/select.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/services.pyi +8 -2
- homeassistant-stubs/components/unifiprotect/utils.pyi +2 -1
- homeassistant-stubs/components/upcloud/config_flow.pyi +8 -9
- homeassistant-stubs/components/uptime/config_flow.pyi +2 -3
- homeassistant-stubs/components/uptimerobot/config_flow.pyi +5 -6
- homeassistant-stubs/components/uptimerobot/sensor.pyi +0 -7
- homeassistant-stubs/components/uptimerobot/switch.pyi +1 -1
- homeassistant-stubs/components/usb/__init__.pyi +2 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +1 -4
- homeassistant-stubs/components/vacuum/const.pyi +7 -0
- homeassistant-stubs/components/vacuum/group.pyi +1 -1
- homeassistant-stubs/components/vallox/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/vallox/config_flow.pyi +3 -4
- homeassistant-stubs/components/vallox/date.pyi +22 -0
- homeassistant-stubs/components/vallox/number.pyi +3 -7
- homeassistant-stubs/components/vallox/switch.pyi +3 -7
- homeassistant-stubs/components/velbus/config_flow.pyi +6 -7
- homeassistant-stubs/components/vlc_telnet/config_flow.pyi +11 -11
- homeassistant-stubs/components/wallbox/config_flow.pyi +6 -6
- homeassistant-stubs/components/wallbox/number.pyi +3 -7
- homeassistant-stubs/components/waqi/__init__.pyi +0 -1
- homeassistant-stubs/components/waqi/config_flow.pyi +7 -11
- homeassistant-stubs/components/waqi/sensor.pyi +7 -22
- homeassistant-stubs/components/water_heater/const.pyi +6 -0
- homeassistant-stubs/components/water_heater/group.pyi +1 -1
- homeassistant-stubs/components/watttime/config_flow.pyi +10 -12
- homeassistant-stubs/components/weather/__init__.pyi +0 -13
- homeassistant-stubs/components/webhook/__init__.pyi +1 -2
- homeassistant-stubs/components/webostv/config_flow.pyi +8 -8
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -3
- homeassistant-stubs/components/websocket_api/http.pyi +1 -1
- homeassistant-stubs/components/websocket_api/messages.pyi +4 -3
- homeassistant-stubs/components/wemo/__init__.pyi +3 -1
- homeassistant-stubs/components/wemo/config_flow.pyi +2 -3
- homeassistant-stubs/components/wemo/wemo_device.pyi +2 -1
- homeassistant-stubs/components/whois/config_flow.pyi +2 -3
- homeassistant-stubs/components/withings/__init__.pyi +13 -0
- homeassistant-stubs/components/withings/config_flow.pyi +4 -5
- homeassistant-stubs/components/wiz/config_flow.pyi +8 -8
- homeassistant-stubs/components/wled/config_flow.pyi +6 -10
- homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +9 -10
- homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -2
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -6
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +14 -14
- homeassistant-stubs/components/yalexs_ble/sensor.pyi +3 -7
- homeassistant-stubs/components/youtube/config_flow.pyi +6 -7
- homeassistant-stubs/components/youtube/sensor.pyi +3 -7
- homeassistant-stubs/components/zeroconf/__init__.pyi +1 -1
- homeassistant-stubs/components/zodiac/config_flow.pyi +2 -3
- homeassistant-stubs/components/zodiac/sensor.pyi +0 -2
- homeassistant-stubs/components/zone/__init__.pyi +2 -2
- homeassistant-stubs/components/zone/config_flow.pyi +2 -2
- homeassistant-stubs/components/zone/trigger.pyi +2 -2
- homeassistant-stubs/components/zwave_js/api.pyi +1 -2
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/zwave_js/config_flow.pyi +39 -38
- homeassistant-stubs/components/zwave_js/humidifier.pyi +3 -7
- homeassistant-stubs/config.pyi +18 -3
- homeassistant-stubs/config_entries.pyi +52 -33
- homeassistant-stubs/const.pyi +11 -6
- homeassistant-stubs/core.pyi +62 -38
- homeassistant-stubs/data_entry_flow.pyi +38 -37
- homeassistant-stubs/exceptions.pyi +12 -5
- homeassistant-stubs/helpers/area_registry.pyi +7 -19
- homeassistant-stubs/helpers/category_registry.pyi +43 -0
- homeassistant-stubs/helpers/check_config.pyi +1 -1
- homeassistant-stubs/helpers/config_entry_flow.pyi +11 -12
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +6 -7
- homeassistant-stubs/helpers/config_validation.pyi +8 -1
- homeassistant-stubs/helpers/data_entry_flow.pyi +9 -5
- homeassistant-stubs/helpers/debounce.pyi +2 -1
- homeassistant-stubs/helpers/device_registry.pyi +9 -5
- homeassistant-stubs/helpers/discovery.pyi +2 -1
- homeassistant-stubs/helpers/discovery_flow.pyi +2 -2
- homeassistant-stubs/helpers/dispatcher.pyi +2 -10
- homeassistant-stubs/helpers/entity.pyi +9 -7
- homeassistant-stubs/helpers/entity_component.pyi +2 -1
- homeassistant-stubs/helpers/entity_platform.pyi +2 -2
- homeassistant-stubs/helpers/entity_registry.pyi +14 -9
- homeassistant-stubs/helpers/event.pyi +30 -30
- homeassistant-stubs/helpers/floor_registry.pyi +12 -24
- homeassistant-stubs/helpers/frame.pyi +11 -3
- homeassistant-stubs/helpers/http.pyi +6 -3
- homeassistant-stubs/helpers/importlib.pyi +11 -0
- homeassistant-stubs/helpers/integration_platform.pyi +8 -6
- homeassistant-stubs/helpers/intent.pyi +6 -4
- homeassistant-stubs/helpers/issue_registry.pyi +2 -3
- homeassistant-stubs/helpers/label_registry.pyi +11 -23
- homeassistant-stubs/helpers/normalized_name_base_registry.pyi +22 -0
- homeassistant-stubs/helpers/ratelimit.pyi +2 -3
- homeassistant-stubs/helpers/registry.pyi +15 -0
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +15 -15
- homeassistant-stubs/helpers/script.pyi +22 -8
- homeassistant-stubs/helpers/selector.pyi +20 -0
- homeassistant-stubs/helpers/service.pyi +9 -4
- homeassistant-stubs/helpers/storage.pyi +28 -4
- homeassistant-stubs/helpers/system_info.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +18 -3
- homeassistant-stubs/helpers/translation.pyi +2 -1
- homeassistant-stubs/helpers/trigger.pyi +1 -0
- homeassistant-stubs/helpers/typing.pyi +2 -5
- homeassistant-stubs/helpers/update_coordinator.pyi +5 -5
- homeassistant-stubs/loader.pyi +24 -5
- homeassistant-stubs/setup.pyi +21 -4
- homeassistant-stubs/util/async_.pyi +2 -2
- homeassistant-stubs/util/percentage.pyi +1 -1
- homeassistant-stubs/util/signal_type.pyi +20 -0
- homeassistant-stubs/util/unit_conversion.pyi +10 -0
- {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/METADATA +4 -5
- {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/RECORD +864 -825
- homeassistant-stubs/components/axis/device.pyi +0 -64
- homeassistant-stubs/components/binary_sensor/group.pyi +0 -5
- homeassistant-stubs/components/fan/group.pyi +0 -5
- homeassistant-stubs/components/humidifier/group.pyi +0 -5
- homeassistant-stubs/components/light/group.pyi +0 -5
- homeassistant-stubs/components/remote/group.pyi +0 -5
- homeassistant-stubs/components/switch/group.pyi +0 -5
- {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/WHEEL +0 -0
@@ -4,7 +4,7 @@ from . import device_registry as dr, entity_registry as er
|
|
4
4
|
from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
5
5
|
from .entity_platform import EntityPlatform as EntityPlatform
|
6
6
|
from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
|
7
|
-
from .typing import
|
7
|
+
from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
8
8
|
from _typeshed import Incomplete
|
9
9
|
from abc import ABCMeta
|
10
10
|
from collections import deque
|
@@ -13,7 +13,7 @@ from enum import Enum, IntFlag
|
|
13
13
|
from functools import cached_property as cached_property
|
14
14
|
from homeassistant.config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
|
15
15
|
from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
16
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HomeAssistant as HomeAssistant, callback as callback, get_release_channel as get_release_channel
|
16
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, get_release_channel as get_release_channel
|
17
17
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, InvalidStateError as InvalidStateError, NoEntitySpecifiedError as NoEntitySpecifiedError
|
18
18
|
from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
|
19
19
|
from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
|
@@ -109,6 +109,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
109
109
|
_entity_component_unrecorded_attributes: frozenset[str]
|
110
110
|
_unrecorded_attributes: frozenset[str]
|
111
111
|
__combined_unrecorded_attributes: frozenset[str]
|
112
|
+
_job_types: dict[str, HassJobType] | None
|
112
113
|
_state_info: StateInfo
|
113
114
|
__capabilities_updated_at: deque[float]
|
114
115
|
__capabilities_updated_at_reported: bool
|
@@ -136,6 +137,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
136
137
|
_attr_unique_id: str | None
|
137
138
|
_attr_unit_of_measurement: str | None
|
138
139
|
def __init_subclass__(cls, **kwargs: Any) -> None: ...
|
140
|
+
def get_hassjob_type(self, function_name: str) -> HassJobType: ...
|
139
141
|
@cached_property
|
140
142
|
def should_poll(self) -> bool: ...
|
141
143
|
@cached_property
|
@@ -144,7 +146,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
144
146
|
def use_device_name(self) -> bool: ...
|
145
147
|
@cached_property
|
146
148
|
def has_entity_name(self) -> bool: ...
|
147
|
-
def _device_class_name_helper(self, component_translations: dict[str,
|
149
|
+
def _device_class_name_helper(self, component_translations: dict[str, str]) -> str | None: ...
|
148
150
|
@cached_property
|
149
151
|
def _object_id_device_class_name(self) -> str | None: ...
|
150
152
|
@cached_property
|
@@ -153,7 +155,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
153
155
|
@cached_property
|
154
156
|
def _name_translation_key(self) -> str | None: ...
|
155
157
|
def _substitute_name_placeholders(self, name: str) -> str: ...
|
156
|
-
def _name_internal(self, device_class_name: str | None, platform_translations: dict[str,
|
158
|
+
def _name_internal(self, device_class_name: str | None, platform_translations: dict[str, str]) -> str | UndefinedType | None: ...
|
157
159
|
@property
|
158
160
|
def suggested_object_id(self) -> str | None: ...
|
159
161
|
@cached_property
|
@@ -224,10 +226,10 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
|
|
224
226
|
def async_registry_entry_updated(self) -> None: ...
|
225
227
|
async def async_internal_added_to_hass(self) -> None: ...
|
226
228
|
async def async_internal_will_remove_from_hass(self) -> None: ...
|
227
|
-
def _async_registry_updated(self, event:
|
228
|
-
async def _async_process_registry_update_or_remove(self, event:
|
229
|
+
def _async_registry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
|
230
|
+
async def _async_process_registry_update_or_remove(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
|
229
231
|
def _async_unsubscribe_device_updates(self) -> None: ...
|
230
|
-
def _async_device_registry_updated(self, event:
|
232
|
+
def _async_device_registry_updated(self, event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
|
231
233
|
def _async_subscribe_device_updates(self) -> None: ...
|
232
234
|
def __repr__(self) -> str: ...
|
233
235
|
async def async_request_call(self, coro: Coroutine[Any, Any, _T]) -> _T: ...
|
@@ -8,7 +8,7 @@ from collections.abc import Callable as Callable, Iterable
|
|
8
8
|
from datetime import timedelta
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
10
|
from homeassistant.const import CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
11
|
-
from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
11
|
+
from homeassistant.core import Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
13
|
from homeassistant.loader import async_get_integration as async_get_integration, bind_hass as bind_hass
|
14
14
|
from homeassistant.setup import async_prepare_setup_platform as async_prepare_setup_platform
|
@@ -39,6 +39,7 @@ class EntityComponent(Generic[_EntityT]):
|
|
39
39
|
def register_shutdown(self) -> None: ...
|
40
40
|
def setup(self, config: ConfigType) -> None: ...
|
41
41
|
async def async_setup(self, config: ConfigType) -> None: ...
|
42
|
+
async def _async_component_platform_discovered(self, platform: str, info: dict[str, Any] | None) -> None: ...
|
42
43
|
async def async_setup_entry(self, config_entry: ConfigEntry) -> bool: ...
|
43
44
|
async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
|
44
45
|
async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
|
@@ -15,7 +15,7 @@ from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_N
|
|
15
15
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
16
16
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
17
17
|
from homeassistant.generated import languages as languages
|
18
|
-
from homeassistant.setup import async_start_setup as async_start_setup
|
18
|
+
from homeassistant.setup import SetupPhases as SetupPhases, async_start_setup as async_start_setup
|
19
19
|
from homeassistant.util.async_ import create_eager_task as create_eager_task
|
20
20
|
from logging import Logger
|
21
21
|
from typing import Any, Protocol
|
@@ -71,7 +71,7 @@ class EntityPlatform:
|
|
71
71
|
def async_cancel_retry_setup(self) -> None: ...
|
72
72
|
async def async_setup_entry(self, config_entry: config_entries.ConfigEntry) -> bool: ...
|
73
73
|
async def _async_setup_platform(self, async_create_setup_awaitable: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
|
74
|
-
async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str,
|
74
|
+
async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, str]: ...
|
75
75
|
async def async_load_translations(self) -> None: ...
|
76
76
|
def _schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
77
77
|
def _async_schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
|
@@ -1,10 +1,11 @@
|
|
1
1
|
from . import storage as storage
|
2
2
|
from .device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED
|
3
|
-
from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes
|
3
|
+
from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
|
4
|
+
from .registry import BaseRegistry as BaseRegistry
|
4
5
|
from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
5
6
|
from _typeshed import Incomplete
|
6
7
|
from collections import UserDict
|
7
|
-
from collections.abc import Callable as Callable, Iterable, Mapping, ValuesView
|
8
|
+
from collections.abc import Callable as Callable, Iterable, KeysView, Mapping, ValuesView
|
8
9
|
from enum import StrEnum
|
9
10
|
from homeassistant.backports.functools import cached_property as cached_property
|
10
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -19,7 +20,6 @@ from typing import Any, Literal, NotRequired, TypeVar, TypedDict
|
|
19
20
|
T = TypeVar('T')
|
20
21
|
DATA_REGISTRY: str
|
21
22
|
EVENT_ENTITY_REGISTRY_UPDATED: str
|
22
|
-
SAVE_DELAY: int
|
23
23
|
_LOGGER: Incomplete
|
24
24
|
STORAGE_VERSION_MAJOR: int
|
25
25
|
STORAGE_VERSION_MINOR: int
|
@@ -65,6 +65,7 @@ class RegistryEntry:
|
|
65
65
|
previous_unique_id: str | None
|
66
66
|
aliases: set[str]
|
67
67
|
area_id: str | None
|
68
|
+
categories: dict[str, str]
|
68
69
|
capabilities: Mapping[str, Any] | None
|
69
70
|
config_entry_id: str | None
|
70
71
|
device_class: str | None
|
@@ -96,8 +97,9 @@ class RegistryEntry:
|
|
96
97
|
def as_partial_dict(self) -> dict[str, Any]: ...
|
97
98
|
def extended_dict(self) -> dict[str, Any]: ...
|
98
99
|
def partial_json_repr(self) -> bytes | None: ...
|
100
|
+
def as_storage_fragment(self) -> json_fragment: ...
|
99
101
|
def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
|
100
|
-
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
|
102
|
+
def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
|
101
103
|
def __lt__(self, other): ...
|
102
104
|
def __le__(self, other): ...
|
103
105
|
def __gt__(self, other): ...
|
@@ -112,6 +114,7 @@ class DeletedRegistryEntry:
|
|
112
114
|
id: str
|
113
115
|
orphaned_timestamp: float | None
|
114
116
|
def _domain_default(self) -> str: ...
|
117
|
+
def as_storage_fragment(self) -> json_fragment: ...
|
115
118
|
def __init__(self, entity_id, unique_id, platform, config_entry_id, domain, id, orphaned_timestamp) -> None: ...
|
116
119
|
def __lt__(self, other): ...
|
117
120
|
def __le__(self, other): ...
|
@@ -133,35 +136,36 @@ class EntityRegistryItems(UserDict[str, RegistryEntry]):
|
|
133
136
|
def _unindex_entry_value(self, key: str, value: str, index: dict[str, dict[str, Literal[True]]]) -> None: ...
|
134
137
|
def _unindex_entry(self, key: str) -> None: ...
|
135
138
|
def __delitem__(self, key: str) -> None: ...
|
139
|
+
def get_device_ids(self) -> KeysView[str]: ...
|
136
140
|
def get_entity_id(self, key: tuple[str, str, str]) -> str | None: ...
|
137
141
|
def get_entry(self, key: str) -> RegistryEntry | None: ...
|
138
142
|
def get_entries_for_device_id(self, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
|
139
143
|
def get_entries_for_config_entry_id(self, config_entry_id: str) -> list[RegistryEntry]: ...
|
140
144
|
def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
|
141
145
|
|
142
|
-
class EntityRegistry:
|
146
|
+
class EntityRegistry(BaseRegistry):
|
143
147
|
deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
|
144
148
|
entities: EntityRegistryItems
|
145
149
|
_entities_data: dict[str, RegistryEntry]
|
146
150
|
hass: Incomplete
|
147
151
|
_store: Incomplete
|
148
152
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
149
|
-
def async_get_device_class_lookup(self, domain_device_classes: set[tuple[str, str | None]]) -> dict[str, dict[tuple[str, str | None], str]]: ...
|
150
153
|
def async_is_registered(self, entity_id: str) -> bool: ...
|
151
154
|
def async_get(self, entity_id_or_uuid: str) -> RegistryEntry | None: ...
|
152
155
|
def async_get_entity_id(self, domain: str, platform: str, unique_id: str) -> str | None: ...
|
156
|
+
def async_device_ids(self) -> list[str]: ...
|
153
157
|
def _entity_id_available(self, entity_id: str, known_object_ids: Iterable[str] | None) -> bool: ...
|
154
158
|
def async_generate_entity_id(self, domain: str, suggested_object_id: str, known_object_ids: Iterable[str] | None = None) -> str: ...
|
155
159
|
def async_get_or_create(self, domain: str, platform: str, unique_id: str, *, known_object_ids: Iterable[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 = ..., 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: ...
|
156
160
|
def async_remove(self, entity_id: str) -> None: ...
|
157
161
|
def async_device_modified(self, event: Event) -> None: ...
|
158
|
-
def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
159
|
-
def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
162
|
+
def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., categories: dict[str, str] | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
163
|
+
def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., categories: dict[str, str] | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
160
164
|
def async_update_entity_platform(self, entity_id: str, new_platform: str, *, new_config_entry_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., new_device_id: str | None | UndefinedType = ...) -> RegistryEntry: ...
|
161
165
|
def async_update_entity_options(self, entity_id: str, domain: str, options: Mapping[str, Any] | None) -> RegistryEntry: ...
|
162
166
|
async def async_load(self) -> None: ...
|
163
|
-
def async_schedule_save(self) -> None: ...
|
164
167
|
def _data_to_save(self) -> dict[str, Any]: ...
|
168
|
+
def async_clear_category_id(self, scope: str, category_id: str) -> None: ...
|
165
169
|
def async_clear_label_id(self, label_id: str) -> None: ...
|
166
170
|
def async_clear_config_entry(self, config_entry_id: str) -> None: ...
|
167
171
|
def async_purge_expired_orphaned_entities(self) -> None: ...
|
@@ -172,6 +176,7 @@ async def async_load(hass: HomeAssistant) -> None: ...
|
|
172
176
|
def async_entries_for_device(registry: EntityRegistry, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
|
173
177
|
def async_entries_for_area(registry: EntityRegistry, area_id: str) -> list[RegistryEntry]: ...
|
174
178
|
def async_entries_for_label(registry: EntityRegistry, label_id: str) -> list[RegistryEntry]: ...
|
179
|
+
def async_entries_for_category(registry: EntityRegistry, scope: str, category_id: str) -> list[RegistryEntry]: ...
|
175
180
|
def async_entries_for_config_entry(registry: EntityRegistry, config_entry_id: str) -> list[RegistryEntry]: ...
|
176
181
|
def async_config_entry_disabled_by_changed(registry: EntityRegistry, config_entry: ConfigEntry) -> None: ...
|
177
182
|
def _async_setup_cleanup(hass: HomeAssistant, registry: EntityRegistry) -> None: ...
|
@@ -5,13 +5,13 @@ from .entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGIS
|
|
5
5
|
from .ratelimit import KeyedRateLimit as KeyedRateLimit
|
6
6
|
from .sun import get_astral_event_next as get_astral_event_next
|
7
7
|
from .template import RenderInfo as RenderInfo, Template as Template, result_as_boolean as result_as_boolean
|
8
|
-
from .typing import
|
8
|
+
from .typing import TemplateVarsType as TemplateVarsType
|
9
9
|
from _typeshed import Incomplete
|
10
10
|
from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
|
11
11
|
from dataclasses import dataclass
|
12
12
|
from datetime import datetime, timedelta
|
13
13
|
from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
|
14
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
14
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
15
15
|
from homeassistant.exceptions import TemplateError as TemplateError
|
16
16
|
from homeassistant.loader import bind_hass as bind_hass
|
17
17
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
@@ -41,8 +41,8 @@ class _KeyedEventTracker(Generic[_TypedDictT]):
|
|
41
41
|
listeners_key: str
|
42
42
|
callbacks_key: str
|
43
43
|
event_type: str
|
44
|
-
dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[
|
45
|
-
filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[
|
44
|
+
dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], Event[_TypedDictT]], None]
|
45
|
+
filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], _TypedDictT], bool]
|
46
46
|
run_immediately: bool
|
47
47
|
def __init__(self, listeners_key, callbacks_key, event_type, dispatcher_callable, filter_callable, run_immediately) -> None: ...
|
48
48
|
|
@@ -57,7 +57,7 @@ class TrackStates:
|
|
57
57
|
class TrackTemplate:
|
58
58
|
template: Template
|
59
59
|
variables: TemplateVarsType
|
60
|
-
rate_limit:
|
60
|
+
rate_limit: float | None = ...
|
61
61
|
def __init__(self, template, variables, rate_limit) -> None: ...
|
62
62
|
|
63
63
|
@dataclass(slots=True)
|
@@ -77,40 +77,40 @@ def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str
|
|
77
77
|
|
78
78
|
track_state_change: Incomplete
|
79
79
|
|
80
|
-
def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
81
|
-
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
82
|
-
def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
80
|
+
def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
81
|
+
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event: Event[EventStateChangedData]) -> None: ...
|
82
|
+
def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
|
83
83
|
|
84
84
|
_KEYED_TRACK_STATE_CHANGE: Incomplete
|
85
85
|
|
86
|
-
def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
86
|
+
def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
|
87
87
|
def _remove_empty_listener() -> None: ...
|
88
|
-
def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[
|
89
|
-
def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[
|
90
|
-
def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
91
|
-
def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
88
|
+
def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[Event[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[Event[_TypedDictT]], Any]]]) -> None: ...
|
89
|
+
def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[Event[_TypedDictT]], None], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
|
90
|
+
def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event: Event[EventEntityRegistryUpdatedData]) -> None: ...
|
91
|
+
def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event_data: EventEntityRegistryUpdatedData) -> bool: ...
|
92
92
|
|
93
93
|
_KEYED_TRACK_ENTITY_REGISTRY_UPDATED: Incomplete
|
94
94
|
|
95
|
-
def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
96
|
-
def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
97
|
-
def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
95
|
+
def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventEntityRegistryUpdatedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
96
|
+
def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]], event_data: EventDeviceRegistryUpdatedData) -> bool: ...
|
97
|
+
def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]], event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
|
98
98
|
|
99
99
|
_KEYED_TRACK_DEVICE_REGISTRY_UPDATED: Incomplete
|
100
100
|
|
101
|
-
def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[
|
102
|
-
def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
103
|
-
def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
104
|
-
def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
101
|
+
def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[Event[EventDeviceRegistryUpdatedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
102
|
+
def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event: Event[EventStateChangedData]) -> None: ...
|
103
|
+
def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
|
104
|
+
def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
105
105
|
|
106
106
|
_KEYED_TRACK_STATE_ADDED_DOMAIN: Incomplete
|
107
107
|
|
108
|
-
def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
109
|
-
def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
108
|
+
def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
|
109
|
+
def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
|
110
110
|
|
111
111
|
_KEYED_TRACK_STATE_REMOVED_DOMAIN: Incomplete
|
112
112
|
|
113
|
-
def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
113
|
+
def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
|
114
114
|
def _async_string_to_lower_list(instr: str | Iterable[str]) -> list[str]: ...
|
115
115
|
|
116
116
|
class _TrackStateChangeFiltered:
|
@@ -119,7 +119,7 @@ class _TrackStateChangeFiltered:
|
|
119
119
|
_action_as_hassjob: Incomplete
|
120
120
|
_listeners: Incomplete
|
121
121
|
_last_track_states: Incomplete
|
122
|
-
def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[
|
122
|
+
def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[Event[EventStateChangedData]], Any]) -> None: ...
|
123
123
|
def async_setup(self) -> None: ...
|
124
124
|
@property
|
125
125
|
def listeners(self) -> dict[str, bool | set[str]]: ...
|
@@ -127,11 +127,11 @@ class _TrackStateChangeFiltered:
|
|
127
127
|
def async_remove(self) -> None: ...
|
128
128
|
def _cancel_listener(self, listener_name: str) -> None: ...
|
129
129
|
def _setup_entities_listener(self, domains: set[str], entities: set[str]) -> None: ...
|
130
|
-
def _state_added(self, event:
|
130
|
+
def _state_added(self, event: Event[EventStateChangedData]) -> None: ...
|
131
131
|
def _setup_domains_listener(self, domains: set[str]) -> None: ...
|
132
132
|
def _setup_all_listener(self) -> None: ...
|
133
133
|
|
134
|
-
def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[
|
134
|
+
def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[Event[EventStateChangedData]], Any]) -> _TrackStateChangeFiltered: ...
|
135
135
|
def async_track_template(hass: HomeAssistant, template: Template, action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], variables: TemplateVarsType | None = None) -> CALLBACK_TYPE: ...
|
136
136
|
|
137
137
|
track_template: Incomplete
|
@@ -155,11 +155,11 @@ class TrackTemplateResultInfo:
|
|
155
155
|
def _update_time_listeners(self) -> None: ...
|
156
156
|
def async_remove(self) -> None: ...
|
157
157
|
def async_refresh(self) -> None: ...
|
158
|
-
def _render_template_if_ready(self, track_template_: TrackTemplate, now:
|
158
|
+
def _render_template_if_ready(self, track_template_: TrackTemplate, now: float, event: Event[EventStateChangedData] | None) -> bool | TrackTemplateResult: ...
|
159
159
|
@staticmethod
|
160
160
|
def _super_template_as_boolean(result: bool | str | TemplateError) -> bool: ...
|
161
161
|
def _apply_update(self, updates: list[TrackTemplateResult], update: bool | TrackTemplateResult, template: Template) -> bool: ...
|
162
|
-
def _refresh(self, event:
|
162
|
+
def _refresh(self, event: Event[EventStateChangedData] | None, track_templates: Iterable[TrackTemplate] | None = None, replayed: bool | None = False) -> None: ...
|
163
163
|
|
164
164
|
TrackTemplateResultListener: Incomplete
|
165
165
|
|
@@ -269,6 +269,6 @@ def process_state_match(parameter: None | str | Iterable[str], invert: bool = Fa
|
|
269
269
|
def _entities_domains_from_render_infos(render_infos: Iterable[RenderInfo]) -> tuple[set[str], set[str]]: ...
|
270
270
|
def _render_infos_needs_all_listener(render_infos: Iterable[RenderInfo]) -> bool: ...
|
271
271
|
def _render_infos_to_track_states(render_infos: Iterable[RenderInfo]) -> TrackStates: ...
|
272
|
-
def _event_triggers_rerender(event:
|
273
|
-
def _rate_limit_for_event(event:
|
272
|
+
def _event_triggers_rerender(event: Event[EventStateChangedData], info: RenderInfo) -> bool: ...
|
273
|
+
def _rate_limit_for_event(event: Event[EventStateChangedData], info: RenderInfo, track_template_: TrackTemplate) -> float | None: ...
|
274
274
|
def _suppress_domain_all_in_render_info(render_info: RenderInfo) -> RenderInfo: ...
|
@@ -1,10 +1,11 @@
|
|
1
|
+
from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
|
2
|
+
from .registry import BaseRegistry as BaseRegistry
|
1
3
|
from .storage import Store as Store
|
2
|
-
from .typing import
|
4
|
+
from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
3
5
|
from _typeshed import Incomplete
|
4
|
-
from collections import
|
5
|
-
from collections.abc import Iterable, ValuesView
|
6
|
+
from collections.abc import Iterable
|
6
7
|
from dataclasses import dataclass
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
8
9
|
from homeassistant.util import slugify as slugify
|
9
10
|
from typing import Literal, TypedDict
|
10
11
|
|
@@ -12,33 +13,22 @@ DATA_REGISTRY: str
|
|
12
13
|
EVENT_FLOOR_REGISTRY_UPDATED: str
|
13
14
|
STORAGE_KEY: str
|
14
15
|
STORAGE_VERSION_MAJOR: int
|
15
|
-
SAVE_DELAY: int
|
16
16
|
|
17
17
|
class EventFloorRegistryUpdatedData(TypedDict):
|
18
18
|
action: Literal['create', 'remove', 'update']
|
19
19
|
floor_id: str
|
20
|
-
EventFloorRegistryUpdated =
|
20
|
+
EventFloorRegistryUpdated = Event[EventFloorRegistryUpdatedData]
|
21
21
|
|
22
22
|
@dataclass(slots=True, kw_only=True, frozen=True)
|
23
|
-
class FloorEntry:
|
23
|
+
class FloorEntry(NormalizedNameBaseRegistryEntry):
|
24
24
|
aliases: set[str]
|
25
25
|
floor_id: str
|
26
26
|
icon: str | None = ...
|
27
|
-
level: int = ...
|
28
|
-
name:
|
29
|
-
normalized_name: str
|
30
|
-
def __init__(self, *, aliases, floor_id, icon, level, name, normalized_name) -> None: ...
|
27
|
+
level: int | None = ...
|
28
|
+
def __init__(self, *, name, normalized_name, aliases, floor_id, icon, level) -> None: ...
|
31
29
|
|
32
|
-
class
|
33
|
-
|
34
|
-
def __init__(self) -> None: ...
|
35
|
-
def values(self) -> ValuesView[FloorEntry]: ...
|
36
|
-
def __setitem__(self, key: str, entry: FloorEntry) -> None: ...
|
37
|
-
def __delitem__(self, key: str) -> None: ...
|
38
|
-
def get_floor_by_name(self, name: str) -> FloorEntry | None: ...
|
39
|
-
|
40
|
-
class FloorRegistry:
|
41
|
-
floors: FloorRegistryItems
|
30
|
+
class FloorRegistry(BaseRegistry):
|
31
|
+
floors: NormalizedNameBaseRegistryItems[FloorEntry]
|
42
32
|
_floor_data: dict[str, FloorEntry]
|
43
33
|
hass: Incomplete
|
44
34
|
_store: Incomplete
|
@@ -47,13 +37,11 @@ class FloorRegistry:
|
|
47
37
|
def async_get_floor_by_name(self, name: str) -> FloorEntry | None: ...
|
48
38
|
def async_list_floors(self) -> Iterable[FloorEntry]: ...
|
49
39
|
def _generate_id(self, name: str) -> str: ...
|
50
|
-
def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, level: int =
|
40
|
+
def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, level: int | None = None) -> FloorEntry: ...
|
51
41
|
def async_delete(self, floor_id: str) -> None: ...
|
52
42
|
def async_update(self, floor_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., level: int | UndefinedType = ..., name: str | UndefinedType = ...) -> FloorEntry: ...
|
53
43
|
async def async_load(self) -> None: ...
|
54
|
-
def async_schedule_save(self) -> None: ...
|
55
44
|
def _data_to_save(self) -> dict[str, list[dict[str, str | int | list[str] | None]]]: ...
|
56
45
|
|
57
46
|
def async_get(hass: HomeAssistant) -> FloorRegistry: ...
|
58
47
|
async def async_load(hass: HomeAssistant) -> None: ...
|
59
|
-
def _normalize_floor_name(floor_name: str) -> str: ...
|
@@ -2,10 +2,11 @@ import logging
|
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable
|
4
4
|
from dataclasses import dataclass
|
5
|
+
from functools import cached_property as cached_property
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass
|
6
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
8
|
from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
|
8
|
-
from
|
9
|
+
from types import FrameType
|
9
10
|
from typing import TypeVar
|
10
11
|
|
11
12
|
_LOGGER: Incomplete
|
@@ -15,13 +16,20 @@ _CallableT = TypeVar('_CallableT', bound=Callable)
|
|
15
16
|
@dataclass(kw_only=True)
|
16
17
|
class IntegrationFrame:
|
17
18
|
custom_integration: bool
|
18
|
-
frame: FrameSummary
|
19
19
|
integration: str
|
20
20
|
module: str | None
|
21
21
|
relative_filename: str
|
22
|
-
|
22
|
+
_frame: FrameType
|
23
|
+
@cached_property
|
24
|
+
def line_number(self) -> int: ...
|
25
|
+
@cached_property
|
26
|
+
def filename(self) -> str: ...
|
27
|
+
@cached_property
|
28
|
+
def line(self) -> str: ...
|
29
|
+
def __init__(self, *, custom_integration, integration, module, relative_filename, _frame) -> None: ...
|
23
30
|
|
24
31
|
def get_integration_logger(fallback_name: str) -> logging.Logger: ...
|
32
|
+
def get_current_frame(depth: int = 0) -> FrameType: ...
|
25
33
|
def get_integration_frame(exclude_integrations: set | None = None) -> IntegrationFrame: ...
|
26
34
|
|
27
35
|
class MissingIntegrationFrame(HomeAssistantError): ...
|
@@ -2,9 +2,8 @@ from .json import find_paths_unserializable_data as find_paths_unserializable_da
|
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from aiohttp import web
|
4
4
|
from aiohttp.typedefs import LooseHeaders as LooseHeaders
|
5
|
-
from aiohttp.web import Request as Request
|
6
|
-
from
|
7
|
-
from collections.abc import Awaitable, Callable as Callable
|
5
|
+
from aiohttp.web import AppKey, Request as Request
|
6
|
+
from collections.abc import Awaitable, Callable
|
8
7
|
from contextvars import ContextVar
|
9
8
|
from homeassistant import exceptions as exceptions
|
10
9
|
from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON
|
@@ -14,7 +13,11 @@ from http import HTTPStatus
|
|
14
13
|
from typing import Any, Final
|
15
14
|
|
16
15
|
_LOGGER: Incomplete
|
16
|
+
AllowCorsType: Incomplete
|
17
17
|
KEY_AUTHENTICATED: Final[str]
|
18
|
+
KEY_ALLOW_ALL_CORS: Incomplete
|
19
|
+
KEY_ALLOW_CONFIGRED_CORS: Incomplete
|
20
|
+
KEY_HASS: AppKey[HomeAssistant]
|
18
21
|
current_request: ContextVar[Request | None]
|
19
22
|
|
20
23
|
def request_handler_factory(hass: HomeAssistant, view: HomeAssistantView, handler: Callable) -> Callable[[web.Request], Awaitable[web.StreamResponse]]: ...
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from types import ModuleType
|
4
|
+
|
5
|
+
_LOGGER: Incomplete
|
6
|
+
DATA_IMPORT_CACHE: str
|
7
|
+
DATA_IMPORT_FUTURES: str
|
8
|
+
DATA_IMPORT_FAILURES: str
|
9
|
+
|
10
|
+
def _get_module(cache: dict[str, ModuleType], name: str) -> ModuleType: ...
|
11
|
+
async def async_import_module(hass: HomeAssistant, name: str) -> ModuleType: ...
|
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
import asyncio
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Awaitable, Callable as Callable
|
4
4
|
from dataclasses import dataclass
|
5
5
|
from homeassistant.const import EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED
|
6
|
-
from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
|
7
|
-
from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, async_get_loaded_integration as async_get_loaded_integration, bind_hass as bind_hass
|
6
|
+
from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, async_get_loaded_integration as async_get_loaded_integration, async_register_preload_platform as async_register_preload_platform, bind_hass as bind_hass
|
8
8
|
from homeassistant.setup import ATTR_COMPONENT as ATTR_COMPONENT, EventComponentLoaded as EventComponentLoaded
|
9
9
|
from homeassistant.util.logging import catch_log_exception as catch_log_exception
|
10
10
|
from types import ModuleType
|
@@ -20,7 +20,9 @@ class IntegrationPlatform:
|
|
20
20
|
seen_components: set[str]
|
21
21
|
def __init__(self, platform_name, process_job, seen_components) -> None: ...
|
22
22
|
|
23
|
-
def
|
24
|
-
def _async_process_integration_platforms_for_component(hass: HomeAssistant,
|
23
|
+
def _async_integration_platform_component_loaded(hass: HomeAssistant, integration_platforms: list[IntegrationPlatform], event: Event[EventComponentLoaded]) -> None: ...
|
24
|
+
async def _async_process_integration_platforms_for_component(hass: HomeAssistant, integration: Integration, platforms_that_exist: list[str], integration_platforms_by_name: dict[str, IntegrationPlatform]) -> None: ...
|
25
|
+
def _process_integration_platforms(hass: HomeAssistant, integration: Integration, platforms: dict[str, ModuleType], integration_platforms_by_name: dict[str, IntegrationPlatform]) -> list[asyncio.Future[Awaitable[None] | None]]: ...
|
25
26
|
def _format_err(name: str, platform_name: str, *args: Any) -> str: ...
|
26
|
-
async def async_process_integration_platforms(hass: HomeAssistant, platform_name: str, process_platform: Callable[[HomeAssistant, str, Any], Awaitable[None] | None]) -> None: ...
|
27
|
+
async def async_process_integration_platforms(hass: HomeAssistant, platform_name: str, process_platform: Callable[[HomeAssistant, str, Any], Awaitable[None] | None], wait_for_platforms: bool = False) -> None: ...
|
28
|
+
async def _async_process_integration_platforms(hass: HomeAssistant, platform_name: str, top_level_components: set[str], process_job: HassJob) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import abc
|
2
2
|
import asyncio
|
3
3
|
import voluptuous as vol
|
4
|
-
from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry
|
4
|
+
from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from abc import abstractmethod
|
7
7
|
from collections.abc import Collection, Iterable
|
@@ -42,9 +42,10 @@ class IntentUnexpectedError(IntentError): ...
|
|
42
42
|
class NoStatesMatchedError(IntentError):
|
43
43
|
name: Incomplete
|
44
44
|
area: Incomplete
|
45
|
+
floor: Incomplete
|
45
46
|
domains: Incomplete
|
46
47
|
device_classes: Incomplete
|
47
|
-
def __init__(self, name: str | None, area: str | None, domains: set[str] | None, device_classes: set[str] | None) -> None: ...
|
48
|
+
def __init__(self, name: str | None = None, area: str | None = None, floor: str | None = None, domains: set[str] | None = None, device_classes: set[str] | None = None) -> None: ...
|
48
49
|
|
49
50
|
class DuplicateNamesMatchedError(IntentError):
|
50
51
|
name: Incomplete
|
@@ -54,8 +55,9 @@ class DuplicateNamesMatchedError(IntentError):
|
|
54
55
|
def _is_device_class(state: State, entity: entity_registry.RegistryEntry | None, device_classes: Collection[str]) -> bool: ...
|
55
56
|
def _has_name(state: State, entity: entity_registry.RegistryEntry | None, name: str) -> bool: ...
|
56
57
|
def _find_area(id_or_name: str, areas: area_registry.AreaRegistry) -> area_registry.AreaEntry | None: ...
|
57
|
-
def
|
58
|
-
def
|
58
|
+
def _find_floor(id_or_name: str, floors: floor_registry.FloorRegistry) -> floor_registry.FloorEntry | None: ...
|
59
|
+
def _filter_by_areas(states_and_entities: list[tuple[State, entity_registry.RegistryEntry | None]], areas: Iterable[area_registry.AreaEntry], devices: device_registry.DeviceRegistry) -> Iterable[tuple[State, entity_registry.RegistryEntry | None]]: ...
|
60
|
+
def async_match_states(hass: HomeAssistant, name: str | None = None, area_name: str | None = None, area: area_registry.AreaEntry | None = None, floor_name: str | None = None, floor: floor_registry.FloorEntry | None = None, domains: Collection[str] | None = None, device_classes: Collection[str] | None = None, states: Iterable[State] | None = None, entities: entity_registry.EntityRegistry | None = None, areas: area_registry.AreaRegistry | None = None, floors: floor_registry.FloorRegistry | None = None, devices: device_registry.DeviceRegistry | None = None, assistant: str | None = None) -> Iterable[State]: ...
|
59
61
|
def async_test_feature(state: State, feature: int, feature_name: str) -> None: ...
|
60
62
|
|
61
63
|
class IntentHandler:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import dataclasses
|
2
|
+
from .registry import BaseRegistry as BaseRegistry
|
2
3
|
from .storage import Store as Store
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from datetime import datetime
|
@@ -12,7 +13,6 @@ EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED: str
|
|
12
13
|
STORAGE_KEY: str
|
13
14
|
STORAGE_VERSION_MAJOR: int
|
14
15
|
STORAGE_VERSION_MINOR: int
|
15
|
-
SAVE_DELAY: int
|
16
16
|
|
17
17
|
class IssueSeverity(StrEnum):
|
18
18
|
CRITICAL: str
|
@@ -41,7 +41,7 @@ class IssueEntry:
|
|
41
41
|
class IssueRegistryStore(Store[dict[str, list[dict[str, Any]]]]):
|
42
42
|
async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
|
43
43
|
|
44
|
-
class IssueRegistry:
|
44
|
+
class IssueRegistry(BaseRegistry):
|
45
45
|
hass: Incomplete
|
46
46
|
issues: Incomplete
|
47
47
|
_read_only: Incomplete
|
@@ -52,7 +52,6 @@ class IssueRegistry:
|
|
52
52
|
def async_delete(self, domain: str, issue_id: str) -> None: ...
|
53
53
|
def async_ignore(self, domain: str, issue_id: str, ignore: bool) -> IssueEntry: ...
|
54
54
|
async def async_load(self) -> None: ...
|
55
|
-
def async_schedule_save(self) -> None: ...
|
56
55
|
def _data_to_save(self) -> dict[str, list[dict[str, str | None]]]: ...
|
57
56
|
|
58
57
|
def async_get(hass: HomeAssistant) -> IssueRegistry: ...
|