homeassistant-stubs 2023.7.2__py3-none-any.whl → 2023.8.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/backports/enum.pyi +1 -9
- homeassistant-stubs/backports/functools.pyi +6 -8
- homeassistant-stubs/components/accuweather/sensor.pyi +3 -4
- homeassistant-stubs/components/accuweather/weather.pyi +3 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -1
- homeassistant-stubs/components/alarm_control_panel/const.pyi +1 -2
- homeassistant-stubs/components/alert/__init__.pyi +4 -4
- homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/apcupsd/sensor.pyi +0 -1
- homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -7
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +11 -0
- homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
- homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/vad.pyi +1 -1
- homeassistant-stubs/components/asuswrt/bridge.pyi +78 -0
- homeassistant-stubs/components/asuswrt/config_flow.pyi +2 -4
- homeassistant-stubs/components/asuswrt/const.pyi +3 -0
- homeassistant-stubs/components/asuswrt/router.pyi +8 -30
- homeassistant-stubs/components/asuswrt/sensor.pyi +5 -4
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/bluetooth/advertisement_tracker.pyi +1 -0
- homeassistant-stubs/components/bluetooth/manager.pyi +1 -0
- homeassistant-stubs/components/bluetooth/wrappers.pyi +2 -1
- homeassistant-stubs/components/braviatv/const.pyi +1 -1
- homeassistant-stubs/components/button/__init__.pyi +1 -1
- homeassistant-stubs/components/camera/const.pyi +1 -1
- homeassistant-stubs/components/cover/__init__.pyi +1 -2
- homeassistant-stubs/components/crownstone/devices.pyi +1 -0
- homeassistant-stubs/components/crownstone/light.pyi +1 -1
- homeassistant-stubs/components/demo/button.pyi +2 -2
- homeassistant-stubs/components/demo/climate.pyi +1 -0
- homeassistant-stubs/components/demo/event.pyi +22 -0
- homeassistant-stubs/components/demo/sensor.pyi +2 -3
- homeassistant-stubs/components/demo/water_heater.pyi +2 -0
- homeassistant-stubs/components/demo/weather.pyi +13 -5
- homeassistant-stubs/components/derivative/sensor.pyi +3 -3
- homeassistant-stubs/components/device_tracker/const.pyi +1 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +4 -4
- homeassistant-stubs/components/diagnostics/const.pyi +1 -1
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
- homeassistant-stubs/components/dsmr/sensor.pyi +1 -1
- homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
- homeassistant-stubs/components/electric_kiwi/__init__.pyi +13 -0
- homeassistant-stubs/components/electric_kiwi/api.pyi +10 -0
- homeassistant-stubs/components/electric_kiwi/application_credentials.pyi +9 -0
- homeassistant-stubs/components/electric_kiwi/config_flow.pyi +20 -0
- homeassistant-stubs/components/electric_kiwi/const.pyi +7 -0
- homeassistant-stubs/components/electric_kiwi/coordinator.pyi +17 -0
- homeassistant-stubs/components/electric_kiwi/oauth2.pyi +15 -0
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +37 -0
- homeassistant-stubs/components/emulated_hue/config.pyi +4 -4
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +3 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -39
- homeassistant-stubs/components/esphome/bluetooth/__init__.pyi +5 -4
- homeassistant-stubs/components/esphome/bluetooth/cache.pyi +15 -0
- homeassistant-stubs/components/esphome/bluetooth/client.pyi +27 -9
- homeassistant-stubs/components/esphome/bluetooth/device.pyi +15 -0
- homeassistant-stubs/components/esphome/camera.pyi +6 -3
- homeassistant-stubs/components/esphome/climate.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +2 -2
- homeassistant-stubs/components/esphome/const.pyi +8 -0
- homeassistant-stubs/components/esphome/domain_data.pyi +4 -14
- homeassistant-stubs/components/esphome/entity.pyi +4 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -6
- homeassistant-stubs/components/esphome/manager.pyi +69 -0
- homeassistant-stubs/components/esphome/update.pyi +3 -0
- homeassistant-stubs/components/event/__init__.pyi +50 -0
- homeassistant-stubs/components/event/const.pyi +3 -0
- homeassistant-stubs/components/event/recorder.pyi +4 -0
- homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -0
- homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -2
- homeassistant-stubs/components/fastdotcom/sensor.pyi +2 -1
- homeassistant-stubs/components/filter/sensor.pyi +4 -4
- homeassistant-stubs/components/fitbit/const.pyi +1 -11
- homeassistant-stubs/components/fitbit/sensor.pyi +11 -3
- homeassistant-stubs/components/fritz/common.pyi +2 -7
- homeassistant-stubs/components/fritz/const.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
- homeassistant-stubs/components/fronius/__init__.pyi +6 -2
- homeassistant-stubs/components/fronius/const.pyi +2 -0
- homeassistant-stubs/components/fronius/sensor.pyi +2 -1
- homeassistant-stubs/components/frontend/__init__.pyi +4 -2
- homeassistant-stubs/components/geo_location/trigger.pyi +3 -3
- homeassistant-stubs/components/group/__init__.pyi +5 -4
- homeassistant-stubs/components/group/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/group/cover.pyi +4 -4
- homeassistant-stubs/components/group/fan.pyi +4 -4
- homeassistant-stubs/components/group/light.pyi +3 -3
- homeassistant-stubs/components/group/lock.pyi +3 -3
- homeassistant-stubs/components/group/media_player.pyi +4 -2
- homeassistant-stubs/components/group/sensor.pyi +3 -3
- homeassistant-stubs/components/group/switch.pyi +3 -3
- homeassistant-stubs/components/guardian/__init__.pyi +0 -2
- homeassistant-stubs/components/history/websocket_api.pyi +2 -1
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +3 -0
- homeassistant-stubs/components/homekit/accessories.pyi +6 -5
- homeassistant-stubs/components/homekit/util.pyi +4 -2
- homeassistant-stubs/components/http/__init__.pyi +7 -0
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/coordinator.pyi +2 -2
- homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +2 -0
- homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/config_flow.pyi +1 -1
- homeassistant-stubs/components/imap/const.pyi +1 -0
- homeassistant-stubs/components/imap/coordinator.pyi +5 -1
- homeassistant-stubs/components/input_button/__init__.pyi +1 -1
- homeassistant-stubs/components/input_select/__init__.pyi +1 -2
- homeassistant-stubs/components/integration/sensor.pyi +4 -5
- homeassistant-stubs/components/isy994/climate.pyi +1 -0
- homeassistant-stubs/components/jellyfin/__init__.pyi +2 -0
- homeassistant-stubs/components/jellyfin/coordinator.pyi +2 -0
- homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
- homeassistant-stubs/components/kaleidescape/entity.pyi +2 -2
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -1
- homeassistant-stubs/components/knx/__init__.pyi +1 -1
- homeassistant-stubs/components/knx/date.pyi +29 -0
- homeassistant-stubs/components/knx/datetime.pyi +26 -0
- homeassistant-stubs/components/knx/expose.pyi +4 -4
- homeassistant-stubs/components/knx/knx_entity.pyi +0 -1
- homeassistant-stubs/components/knx/schema.pyi +10 -0
- homeassistant-stubs/components/knx/sensor.pyi +0 -1
- homeassistant-stubs/components/knx/telegrams.pyi +10 -3
- homeassistant-stubs/components/kraken/const.pyi +0 -12
- homeassistant-stubs/components/kraken/sensor.pyi +12 -2
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -0
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -0
- homeassistant-stubs/components/lifx/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/lifx/button.pyi +0 -1
- homeassistant-stubs/components/lifx/entity.pyi +1 -0
- homeassistant-stubs/components/lifx/light.pyi +1 -1
- homeassistant-stubs/components/lifx/select.pyi +0 -2
- homeassistant-stubs/components/lifx/sensor.pyi +0 -1
- homeassistant-stubs/components/light/__init__.pyi +2 -4
- homeassistant-stubs/components/logbook/helpers.pyi +2 -1
- homeassistant-stubs/components/logger/helpers.pyi +1 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/entity.pyi +1 -1
- homeassistant-stubs/components/matter/event.pyi +27 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/media_player/__init__.pyi +2 -3
- homeassistant-stubs/components/media_player/const.pyi +3 -2
- homeassistant-stubs/components/min_max/sensor.pyi +3 -3
- homeassistant-stubs/components/mqtt/__init__.pyi +5 -3
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/button.pyi +1 -0
- homeassistant-stubs/components/mqtt/camera.pyi +1 -0
- homeassistant-stubs/components/mqtt/client.pyi +4 -1
- homeassistant-stubs/components/mqtt/climate.pyi +2 -3
- homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
- homeassistant-stubs/components/mqtt/event.pyi +46 -0
- homeassistant-stubs/components/mqtt/fan.pyi +1 -0
- homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
- homeassistant-stubs/components/mqtt/image.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -0
- homeassistant-stubs/components/mqtt/lock.pyi +1 -0
- homeassistant-stubs/components/mqtt/mixins.pyi +15 -10
- homeassistant-stubs/components/mqtt/models.pyi +4 -4
- homeassistant-stubs/components/mqtt/number.pyi +1 -0
- homeassistant-stubs/components/mqtt/scene.pyi +4 -4
- homeassistant-stubs/components/mqtt/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/siren.pyi +3 -2
- homeassistant-stubs/components/mqtt/switch.pyi +1 -0
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/mqtt/text.pyi +1 -0
- homeassistant-stubs/components/mqtt/update.pyi +1 -0
- homeassistant-stubs/components/mqtt/vacuum/__init__.pyi +6 -0
- homeassistant-stubs/components/mqtt/vacuum/schema_legacy.pyi +1 -0
- homeassistant-stubs/components/mqtt/vacuum/schema_state.pyi +1 -0
- homeassistant-stubs/components/mqtt/water_heater.pyi +4 -1
- homeassistant-stubs/components/nanoleaf/button.pyi +3 -4
- homeassistant-stubs/components/nanoleaf/entity.pyi +1 -0
- homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
- homeassistant-stubs/components/nest/__init__.pyi +2 -3
- homeassistant-stubs/components/nest/camera.pyi +53 -3
- homeassistant-stubs/components/nest/climate.pyi +76 -3
- homeassistant-stubs/components/nest/config_flow.pyi +0 -23
- homeassistant-stubs/components/nest/sensor.pyi +35 -3
- homeassistant-stubs/components/notion/const.pyi +1 -0
- homeassistant-stubs/components/notion/sensor.pyi +1 -1
- homeassistant-stubs/components/number/__init__.pyi +1 -2
- homeassistant-stubs/components/number/const.pyi +4 -2
- homeassistant-stubs/components/nut/diagnostics.pyi +1 -1
- homeassistant-stubs/components/opensky/__init__.pyi +7 -0
- homeassistant-stubs/components/opensky/config_flow.pyi +11 -0
- homeassistant-stubs/components/opensky/const.pyi +17 -0
- homeassistant-stubs/components/opensky/sensor.pyi +7 -17
- homeassistant-stubs/components/otbr/websocket_api.pyi +2 -0
- homeassistant-stubs/components/persistent_notification/__init__.pyi +1 -1
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/pure_energie/sensor.pyi +1 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +6 -2
- homeassistant-stubs/components/purpleair/config_flow.pyi +7 -3
- homeassistant-stubs/components/purpleair/const.pyi +1 -0
- homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
- homeassistant-stubs/components/rainmachine/util.pyi +1 -1
- homeassistant-stubs/components/recorder/const.pyi +1 -1
- homeassistant-stubs/components/recorder/db_schema.pyi +1 -2
- homeassistant-stubs/components/scrape/__init__.pyi +1 -1
- homeassistant-stubs/components/scrape/sensor.pyi +10 -6
- homeassistant-stubs/components/sensibo/entity.pyi +1 -2
- homeassistant-stubs/components/sensor/__init__.pyi +1 -2
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/sensor/recorder.pyi +1 -1
- homeassistant-stubs/components/senz/climate.pyi +2 -1
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/sfr_box/button.pyi +1 -0
- homeassistant-stubs/components/sfr_box/sensor.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/const.pyi +5 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
- homeassistant-stubs/components/shelly/entity.pyi +0 -4
- homeassistant-stubs/components/shelly/logbook.pyi +2 -3
- homeassistant-stubs/components/shelly/sensor.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +1 -2
- homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/simplisafe/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/skybell/light.pyi +1 -0
- homeassistant-stubs/components/sql/__init__.pyi +2 -1
- homeassistant-stubs/components/sql/config_flow.pyi +3 -1
- homeassistant-stubs/components/sql/sensor.pyi +12 -10
- homeassistant-stubs/components/ssdp/__init__.pyi +3 -3
- homeassistant-stubs/components/statistics/sensor.pyi +3 -3
- homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/stream/worker.pyi +1 -2
- homeassistant-stubs/components/switch/__init__.pyi +1 -1
- homeassistant-stubs/components/switch/light.pyi +3 -3
- homeassistant-stubs/components/text/__init__.pyi +1 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/tolo/__init__.pyi +1 -0
- homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tolo/button.pyi +1 -1
- homeassistant-stubs/components/tolo/climate.pyi +1 -1
- homeassistant-stubs/components/tolo/fan.pyi +1 -1
- homeassistant-stubs/components/tolo/light.pyi +1 -1
- homeassistant-stubs/components/tolo/select.pyi +0 -1
- homeassistant-stubs/components/tplink/entity.pyi +1 -1
- homeassistant-stubs/components/tplink/light.pyi +1 -0
- homeassistant-stubs/components/tplink/sensor.pyi +0 -2
- homeassistant-stubs/components/tplink/switch.pyi +10 -1
- homeassistant-stubs/components/tractive/__init__.pyi +2 -1
- homeassistant-stubs/components/tractive/binary_sensor.pyi +0 -3
- homeassistant-stubs/components/tractive/const.pyi +6 -1
- homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
- homeassistant-stubs/components/tractive/entity.pyi +1 -0
- homeassistant-stubs/components/tractive/sensor.pyi +6 -4
- homeassistant-stubs/components/tractive/switch.pyi +0 -1
- homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
- homeassistant-stubs/components/tradfri/cover.pyi +1 -0
- homeassistant-stubs/components/tradfri/fan.pyi +1 -0
- homeassistant-stubs/components/tradfri/light.pyi +1 -0
- homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
- homeassistant-stubs/components/tradfri/switch.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +39 -0
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +12 -20
- homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
- homeassistant-stubs/components/unifi/entity.pyi +8 -5
- homeassistant-stubs/components/unifi/image.pyi +37 -0
- homeassistant-stubs/components/unifi/sensor.pyi +4 -2
- homeassistant-stubs/components/unifi/switch.pyi +3 -2
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/entity.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/models.pyi +7 -4
- homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -3
- homeassistant-stubs/components/unifiprotect/utils.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +1 -1
- homeassistant-stubs/components/uptimerobot/entity.pyi +2 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +4 -6
- homeassistant-stubs/components/vallox/__init__.pyi +1 -0
- homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/vallox/fan.pyi +1 -1
- homeassistant-stubs/components/vallox/number.pyi +0 -1
- homeassistant-stubs/components/vallox/sensor.pyi +0 -1
- homeassistant-stubs/components/vallox/switch.pyi +0 -1
- homeassistant-stubs/components/vlc_telnet/media_player.pyi +2 -3
- homeassistant-stubs/components/wallbox/const.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +5 -0
- homeassistant-stubs/components/weather/__init__.pyi +18 -4
- homeassistant-stubs/components/weather/const.pyi +7 -0
- homeassistant-stubs/components/weather/websocket_api.pyi +6 -1
- homeassistant-stubs/components/websocket_api/auth.pyi +1 -1
- homeassistant-stubs/components/websocket_api/commands.pyi +6 -1
- homeassistant-stubs/components/websocket_api/connection.pyi +2 -1
- homeassistant-stubs/components/websocket_api/http.pyi +2 -1
- homeassistant-stubs/components/wemo/__init__.pyi +10 -4
- homeassistant-stubs/components/wemo/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/wemo/fan.pyi +2 -2
- homeassistant-stubs/components/wemo/light.pyi +1 -1
- homeassistant-stubs/components/wemo/models.pyi +21 -0
- homeassistant-stubs/components/wemo/sensor.pyi +2 -2
- homeassistant-stubs/components/wemo/switch.pyi +2 -2
- homeassistant-stubs/components/wemo/wemo_device.pyi +5 -0
- homeassistant-stubs/components/wiz/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/entity.pyi +1 -0
- homeassistant-stubs/components/yalexs_ble/lock.pyi +0 -1
- homeassistant-stubs/components/zodiac/__init__.pyi +4 -1
- homeassistant-stubs/components/zodiac/config_flow.pyi +9 -0
- homeassistant-stubs/components/zodiac/const.pyi +1 -0
- homeassistant-stubs/components/zodiac/sensor.pyi +9 -4
- homeassistant-stubs/components/zone/__init__.pyi +4 -5
- homeassistant-stubs/components/zone/trigger.pyi +3 -3
- homeassistant-stubs/components/zwave_js/climate.pyi +3 -1
- homeassistant-stubs/components/zwave_js/device_action.pyi +3 -1
- homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
- homeassistant-stubs/config_entries.pyi +3 -5
- homeassistant-stubs/const.pyi +3 -1
- homeassistant-stubs/core.pyi +10 -12
- homeassistant-stubs/data_entry_flow.pyi +2 -3
- homeassistant-stubs/exceptions.pyi +0 -4
- homeassistant-stubs/helpers/check_config.pyi +1 -2
- homeassistant-stubs/helpers/config_validation.pyi +11 -2
- homeassistant-stubs/helpers/device_registry.pyi +32 -8
- homeassistant-stubs/helpers/entity.pyi +9 -7
- homeassistant-stubs/helpers/entity_platform.pyi +2 -3
- homeassistant-stubs/helpers/entity_registry.pyi +15 -2
- homeassistant-stubs/helpers/event.pyi +39 -33
- homeassistant-stubs/helpers/httpx_client.pyi +4 -2
- homeassistant-stubs/helpers/issue_registry.pyi +1 -1
- homeassistant-stubs/helpers/restore_state.pyi +1 -2
- homeassistant-stubs/helpers/selector.pyi +14 -6
- homeassistant-stubs/helpers/service.pyi +1 -1
- homeassistant-stubs/helpers/state.pyi +0 -12
- homeassistant-stubs/helpers/storage.pyi +1 -0
- homeassistant-stubs/helpers/system_info.pyi +8 -1
- homeassistant-stubs/helpers/template_entity.pyi +7 -7
- homeassistant-stubs/helpers/trace.pyi +1 -0
- homeassistant-stubs/helpers/typing.pyi +5 -2
- homeassistant-stubs/util/ssl.pyi +1 -1
- homeassistant-stubs/util/timeout.pyi +1 -2
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/METADATA +3 -4
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/RECORD +358 -341
- homeassistant-stubs/components/nest/camera_sdm.pyi +0 -58
- homeassistant-stubs/components/nest/climate_sdm.pyi +0 -81
- homeassistant-stubs/components/nest/legacy/__init__.pyi +0 -62
- homeassistant-stubs/components/nest/legacy/binary_sensor.pyi +0 -38
- homeassistant-stubs/components/nest/legacy/camera.pyi +0 -45
- homeassistant-stubs/components/nest/legacy/climate.pyi +0 -89
- homeassistant-stubs/components/nest/legacy/const.pyi +0 -4
- homeassistant-stubs/components/nest/legacy/local_auth.pyi +0 -7
- homeassistant-stubs/components/nest/legacy/sensor.pyi +0 -54
- homeassistant-stubs/components/nest/sensor_sdm.pyi +0 -42
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,5 @@
|
|
1
1
|
import asyncio
|
2
2
|
from . import data_entry_flow as data_entry_flow, loader as loader
|
3
|
-
from .backports.enum import StrEnum as StrEnum
|
4
3
|
from .components import persistent_notification as persistent_notification
|
5
4
|
from .components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
6
5
|
from .components.dhcp import DhcpServiceInfo as DhcpServiceInfo
|
@@ -24,9 +23,8 @@ from .util.decorator import Registry as Registry
|
|
24
23
|
from _typeshed import Incomplete
|
25
24
|
from collections.abc import Callable, Coroutine, Generator, Iterable, Mapping
|
26
25
|
from contextvars import ContextVar
|
27
|
-
from enum import Enum
|
28
|
-
from typing import Any, TypeVar
|
29
|
-
from typing_extensions import Self
|
26
|
+
from enum import Enum, StrEnum
|
27
|
+
from typing import Any, Self, TypeVar
|
30
28
|
|
31
29
|
_LOGGER: Incomplete
|
32
30
|
SOURCE_BLUETOOTH: str
|
@@ -124,7 +122,7 @@ class ConfigEntry:
|
|
124
122
|
def async_cancel_retry_setup(self) -> None: ...
|
125
123
|
async def async_unload(self, hass: HomeAssistant, *, integration: loader.Integration | None = ...) -> bool: ...
|
126
124
|
async def async_remove(self, hass: HomeAssistant) -> None: ...
|
127
|
-
def
|
125
|
+
def _async_set_state(self, hass: HomeAssistant, state: ConfigEntryState, reason: str | None) -> None: ...
|
128
126
|
async def async_migrate(self, hass: HomeAssistant) -> bool: ...
|
129
127
|
def add_update_listener(self, listener: UpdateListenerType) -> CALLBACK_TYPE: ...
|
130
128
|
def as_dict(self) -> dict[str, Any]: ...
|
homeassistant-stubs/const.pyi
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
from .backports.enum import StrEnum as StrEnum
|
2
1
|
from _typeshed import Incomplete
|
2
|
+
from enum import StrEnum
|
3
3
|
from typing import Final
|
4
4
|
|
5
5
|
APPLICATION_NAME: Final[str]
|
@@ -25,6 +25,7 @@ class Platform(StrEnum):
|
|
25
25
|
DATE: str
|
26
26
|
DATETIME: str
|
27
27
|
DEVICE_TRACKER: str
|
28
|
+
EVENT: str
|
28
29
|
FAN: str
|
29
30
|
GEO_LOCATION: str
|
30
31
|
HUMIDIFIER: str
|
@@ -726,6 +727,7 @@ SERVER_PORT: Final[int]
|
|
726
727
|
URL_ROOT: Final[str]
|
727
728
|
URL_API: Final[str]
|
728
729
|
URL_API_STREAM: Final[str]
|
730
|
+
URL_API_CORE_STATE: Final[str]
|
729
731
|
URL_API_CONFIG: Final[str]
|
730
732
|
URL_API_STATES: Final[str]
|
731
733
|
URL_API_STATES_ENTITY: Final[str]
|
homeassistant-stubs/core.pyi
CHANGED
@@ -5,7 +5,6 @@ import threading
|
|
5
5
|
import voluptuous as vol
|
6
6
|
from . import block_async_io as block_async_io, loader as loader, util as util
|
7
7
|
from .auth import AuthManager as AuthManager
|
8
|
-
from .backports.enum import StrEnum as StrEnum
|
9
8
|
from .components.http import ApiConfig as ApiConfig, HomeAssistantHTTP as HomeAssistantHTTP
|
10
9
|
from .config_entries import ConfigEntries as ConfigEntries
|
11
10
|
from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, LENGTH_METERS as LENGTH_METERS, MATCH_ALL as MATCH_ALL, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, __version__ as __version__
|
@@ -22,8 +21,7 @@ from .util.ulid import ulid as ulid, ulid_at_time as ulid_at_time
|
|
22
21
|
from .util.unit_system import METRIC_SYSTEM as METRIC_SYSTEM, UnitSystem as UnitSystem, _CONF_UNIT_SYSTEM_IMPERIAL as _CONF_UNIT_SYSTEM_IMPERIAL, _CONF_UNIT_SYSTEM_US_CUSTOMARY as _CONF_UNIT_SYSTEM_US_CUSTOMARY, get_unit_system as get_unit_system
|
23
22
|
from _typeshed import Incomplete
|
24
23
|
from collections.abc import Awaitable, Callable, Collection, Coroutine, Iterable, Mapping
|
25
|
-
from typing import Any, Generic,
|
26
|
-
from typing_extensions import Self
|
24
|
+
from typing import Any, Generic, Self, TypeVar, overload
|
27
25
|
|
28
26
|
STAGE_1_SHUTDOWN_TIMEOUT: int
|
29
27
|
STAGE_2_SHUTDOWN_TIMEOUT: int
|
@@ -42,7 +40,7 @@ DOMAIN: str
|
|
42
40
|
BLOCK_LOG_TIMEOUT: int
|
43
41
|
ServiceResponse: Incomplete
|
44
42
|
|
45
|
-
class ConfigSource(StrEnum):
|
43
|
+
class ConfigSource(enum.StrEnum):
|
46
44
|
DEFAULT: str
|
47
45
|
DISCOVERED: str
|
48
46
|
STORAGE: str
|
@@ -190,12 +188,10 @@ class Event:
|
|
190
188
|
def as_dict(self) -> ReadOnlyDict[str, Any]: ...
|
191
189
|
def __repr__(self) -> str: ...
|
192
190
|
|
193
|
-
|
194
|
-
job: HassJob[[Event], Coroutine[Any, Any, None] | None]
|
195
|
-
event_filter: Callable[[Event], bool] | None
|
196
|
-
run_immediately: bool
|
191
|
+
_FilterableJobType: Incomplete
|
197
192
|
|
198
193
|
class EventBus:
|
194
|
+
__slots__: Incomplete
|
199
195
|
_listeners: Incomplete
|
200
196
|
_match_all_listeners: Incomplete
|
201
197
|
_hass: Incomplete
|
@@ -207,10 +203,10 @@ class EventBus:
|
|
207
203
|
def async_fire(self, event_type: str, event_data: dict[str, Any] | None = ..., origin: EventOrigin = ..., context: Context | None = ..., time_fired: datetime.datetime | None = ...) -> None: ...
|
208
204
|
def listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
|
209
205
|
def async_listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None], event_filter: Callable[[Event], bool] | None = ..., run_immediately: bool = ...) -> CALLBACK_TYPE: ...
|
210
|
-
def _async_listen_filterable_job(self, event_type: str, filterable_job:
|
206
|
+
def _async_listen_filterable_job(self, event_type: str, filterable_job: _FilterableJobType) -> CALLBACK_TYPE: ...
|
211
207
|
def listen_once(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
|
212
208
|
def async_listen_once(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
|
213
|
-
def _async_remove_listener(self, event_type: str, filterable_job:
|
209
|
+
def _async_remove_listener(self, event_type: str, filterable_job: _FilterableJobType) -> None: ...
|
214
210
|
|
215
211
|
class State:
|
216
212
|
__slots__: Incomplete
|
@@ -236,6 +232,7 @@ class State:
|
|
236
232
|
def __repr__(self) -> str: ...
|
237
233
|
|
238
234
|
class StateMachine:
|
235
|
+
__slots__: Incomplete
|
239
236
|
_states: Incomplete
|
240
237
|
_reservations: Incomplete
|
241
238
|
_bus: Incomplete
|
@@ -255,7 +252,7 @@ class StateMachine:
|
|
255
252
|
def async_available(self, entity_id: str) -> bool: ...
|
256
253
|
def async_set(self, entity_id: str, new_state: str, attributes: Mapping[str, Any] | None = ..., force_update: bool = ..., context: Context | None = ...) -> None: ...
|
257
254
|
|
258
|
-
class SupportsResponse(StrEnum):
|
255
|
+
class SupportsResponse(enum.StrEnum):
|
259
256
|
NONE: str
|
260
257
|
OPTIONAL: str
|
261
258
|
ONLY: str
|
@@ -278,6 +275,7 @@ class ServiceCall:
|
|
278
275
|
def __repr__(self) -> str: ...
|
279
276
|
|
280
277
|
class ServiceRegistry:
|
278
|
+
__slots__: Incomplete
|
281
279
|
_services: Incomplete
|
282
280
|
_hass: Incomplete
|
283
281
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
@@ -292,7 +290,7 @@ class ServiceRegistry:
|
|
292
290
|
def async_remove(self, domain: str, service: str) -> None: ...
|
293
291
|
def call(self, domain: str, service: str, service_data: dict[str, Any] | None = ..., blocking: bool = ..., context: Context | None = ..., target: dict[str, Any] | None = ..., return_response: bool = ...) -> ServiceResponse: ...
|
294
292
|
async def async_call(self, domain: str, service: str, service_data: dict[str, Any] | None = ..., blocking: bool = ..., context: Context | None = ..., target: dict[str, Any] | None = ..., return_response: bool = ...) -> ServiceResponse: ...
|
295
|
-
def
|
293
|
+
async def _run_service_call_catch_exceptions(self, coro_or_task: Coroutine[Any, Any, Any] | asyncio.Task[Any], service_call: ServiceCall) -> None: ...
|
296
294
|
async def _execute_service(self, handler: Service, service_call: ServiceCall) -> ServiceResponse: ...
|
297
295
|
|
298
296
|
class Config:
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import abc
|
2
2
|
import voluptuous as vol
|
3
|
-
from .backports.enum import StrEnum as StrEnum
|
4
3
|
from .core import HomeAssistant as HomeAssistant, callback as callback
|
5
4
|
from .exceptions import HomeAssistantError as HomeAssistantError
|
6
5
|
from .helpers.frame import report as report
|
7
6
|
from _typeshed import Incomplete
|
8
7
|
from collections.abc import Callable as Callable, Iterable, Mapping
|
9
|
-
from
|
10
|
-
from
|
8
|
+
from enum import StrEnum
|
9
|
+
from typing import Any, Required, TypedDict
|
11
10
|
|
12
11
|
_LOGGER: Incomplete
|
13
12
|
|
@@ -66,10 +66,6 @@ class MaxLengthExceeded(HomeAssistantError):
|
|
66
66
|
max_length: Incomplete
|
67
67
|
def __init__(self, value: str, property_name: str, max_length: int) -> None: ...
|
68
68
|
|
69
|
-
class RequiredParameterMissing(HomeAssistantError):
|
70
|
-
parameter_names: Incomplete
|
71
|
-
def __init__(self, parameter_names: list[str]) -> None: ...
|
72
|
-
|
73
69
|
class DependencyError(HomeAssistantError):
|
74
70
|
failed_dependencies: Incomplete
|
75
71
|
def __init__(self, failed_dependencies: list[str]) -> None: ...
|
@@ -6,8 +6,7 @@ from homeassistant.config import CONF_CORE as CONF_CORE, CONF_PACKAGES as CONF_P
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
8
|
from homeassistant.requirements import RequirementsNotFound as RequirementsNotFound, async_clear_install_history as async_clear_install_history, async_get_integration_with_requirements as async_get_integration_with_requirements
|
9
|
-
from typing import NamedTuple
|
10
|
-
from typing_extensions import Self
|
9
|
+
from typing import NamedTuple, Self
|
11
10
|
|
12
11
|
class CheckConfigError(NamedTuple):
|
13
12
|
message: str
|
@@ -4,7 +4,7 @@ from . import template as template_helper
|
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable, Hashable
|
6
6
|
from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
|
7
|
-
from enum import Enum
|
7
|
+
from enum import Enum, StrEnum
|
8
8
|
from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ABOVE as CONF_ABOVE, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
10
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
|
@@ -15,6 +15,14 @@ from homeassistant.util import raise_if_invalid_path as raise_if_invalid_path
|
|
15
15
|
from typing import Any, TypeVar, overload
|
16
16
|
|
17
17
|
TIME_PERIOD_ERROR: str
|
18
|
+
|
19
|
+
class UrlProtocolSchema(StrEnum):
|
20
|
+
HTTP: str
|
21
|
+
HTTPS: str
|
22
|
+
HOMEASSISTANT: str
|
23
|
+
|
24
|
+
EXTERNAL_URL_PROTOCOL_SCHEMA_LIST: Incomplete
|
25
|
+
CONFIGURATION_URL_PROTOCOL_SCHEMA_LIST: Incomplete
|
18
26
|
byte: Incomplete
|
19
27
|
small_float: Incomplete
|
20
28
|
positive_int: Incomplete
|
@@ -96,7 +104,8 @@ def time_zone(value: str) -> str: ...
|
|
96
104
|
weekdays: Incomplete
|
97
105
|
|
98
106
|
def socket_timeout(value: Any | None) -> object: ...
|
99
|
-
def url(value: Any) -> str: ...
|
107
|
+
def url(value: Any, _schema_list: frozenset[UrlProtocolSchema] = ...) -> str: ...
|
108
|
+
def configuration_url(value: Any) -> str: ...
|
100
109
|
def url_no_path(value: Any) -> str: ...
|
101
110
|
def x10_address(value: str) -> str: ...
|
102
111
|
def uuid4_hex(value: Any) -> str: ...
|
@@ -1,18 +1,20 @@
|
|
1
1
|
from . import entity_registry as entity_registry, storage as storage
|
2
2
|
from .debounce import Debouncer as Debouncer
|
3
|
+
from .entity import DeviceInfo as DeviceInfo
|
3
4
|
from .frame import report as report
|
4
5
|
from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data
|
5
6
|
from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
6
7
|
from _typeshed import Incomplete
|
7
8
|
from collections import UserDict
|
8
9
|
from collections.abc import ValuesView
|
9
|
-
from
|
10
|
+
from enum import StrEnum
|
10
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
12
|
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
12
13
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
13
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
15
|
from homeassistant.util.json import format_unserializable_data as format_unserializable_data
|
15
|
-
from typing import Any, TypeVar
|
16
|
+
from typing import Any, Literal, TypeVar, TypedDict
|
17
|
+
from yarl import URL
|
16
18
|
|
17
19
|
_LOGGER: Incomplete
|
18
20
|
DATA_REGISTRY: str
|
@@ -28,6 +30,7 @@ CONNECTION_UPNP: str
|
|
28
30
|
CONNECTION_ZIGBEE: str
|
29
31
|
ORPHANED_DEVICE_KEEP_SECONDS: Incomplete
|
30
32
|
RUNTIME_ONLY_ATTRS: Incomplete
|
33
|
+
CONFIGURATION_URL_SCHEMES: Incomplete
|
31
34
|
|
32
35
|
class DeviceEntryDisabler(StrEnum):
|
33
36
|
CONFIG_ENTRY: str
|
@@ -37,10 +40,31 @@ class DeviceEntryDisabler(StrEnum):
|
|
37
40
|
DISABLED_CONFIG_ENTRY: Incomplete
|
38
41
|
DISABLED_INTEGRATION: Incomplete
|
39
42
|
DISABLED_USER: Incomplete
|
43
|
+
DEVICE_INFO_TYPES: Incomplete
|
44
|
+
DEVICE_INFO_KEYS: Incomplete
|
45
|
+
|
46
|
+
class _EventDeviceRegistryUpdatedData_CreateRemove(TypedDict):
|
47
|
+
action: Literal['create', 'remove']
|
48
|
+
device_id: str
|
49
|
+
|
50
|
+
class _EventDeviceRegistryUpdatedData_Update(TypedDict):
|
51
|
+
action: Literal['update']
|
52
|
+
device_id: str
|
53
|
+
changes: dict[str, Any]
|
54
|
+
|
55
|
+
EventDeviceRegistryUpdatedData: Incomplete
|
40
56
|
|
41
57
|
class DeviceEntryType(StrEnum):
|
42
58
|
SERVICE: str
|
43
59
|
|
60
|
+
class DeviceInfoError(HomeAssistantError):
|
61
|
+
device_info: Incomplete
|
62
|
+
domain: Incomplete
|
63
|
+
def __init__(self, domain: str, device_info: DeviceInfo, message: str) -> None: ...
|
64
|
+
|
65
|
+
def _validate_device_info(config_entry: ConfigEntry | None, device_info: DeviceInfo) -> str: ...
|
66
|
+
def _validate_configuration_url(value: Any) -> str | None: ...
|
67
|
+
|
44
68
|
class DeviceEntry:
|
45
69
|
area_id: str | None
|
46
70
|
config_entries: set[str]
|
@@ -98,7 +122,7 @@ class DeviceRegistryItems(UserDict[str, _EntryTypeT]):
|
|
98
122
|
def values(self) -> ValuesView[_EntryTypeT]: ...
|
99
123
|
def __setitem__(self, key: str, entry: _EntryTypeT) -> None: ...
|
100
124
|
def __delitem__(self, key: str) -> None: ...
|
101
|
-
def get_entry(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]] | None) -> _EntryTypeT | None: ...
|
125
|
+
def get_entry(self, identifiers: set[tuple[str, str]] | None, connections: set[tuple[str, str]] | None) -> _EntryTypeT | None: ...
|
102
126
|
|
103
127
|
class DeviceRegistry:
|
104
128
|
devices: DeviceRegistryItems[DeviceEntry]
|
@@ -108,10 +132,10 @@ class DeviceRegistry:
|
|
108
132
|
_store: Incomplete
|
109
133
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
110
134
|
def async_get(self, device_id: str) -> DeviceEntry | None: ...
|
111
|
-
def async_get_device(self, identifiers: set[tuple[str, str]]
|
112
|
-
def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]
|
113
|
-
def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | None | UndefinedType = ..., connections: set[tuple[str, str]] | None = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device: tuple[str, str] | None = ...) -> DeviceEntry: ...
|
114
|
-
def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
|
135
|
+
def async_get_device(self, identifiers: set[tuple[str, str]] | None = ..., connections: set[tuple[str, str]] | None = ...) -> DeviceEntry | None: ...
|
136
|
+
def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
|
137
|
+
def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
|
138
|
+
def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
|
115
139
|
def async_remove_device(self, device_id: str) -> None: ...
|
116
140
|
async def async_load(self) -> None: ...
|
117
141
|
def async_schedule_save(self) -> None: ...
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import asyncio
|
2
|
-
from . import entity_registry as er
|
3
|
-
from .device_registry import DeviceEntryType as DeviceEntryType
|
2
|
+
from . import device_registry as dr, entity_registry as er
|
3
|
+
from .device_registry import DeviceEntryType as DeviceEntryType, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
4
4
|
from .entity_platform import EntityPlatform as EntityPlatform
|
5
5
|
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
|
6
|
-
from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
6
|
+
from .typing import EventType as EventType, StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from abc import ABC
|
9
9
|
from collections.abc import Coroutine, Iterable, Mapping, MutableMapping
|
@@ -12,11 +12,12 @@ from enum import Enum
|
|
12
12
|
from homeassistant.backports.functools import cached_property as cached_property
|
13
13
|
from homeassistant.config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
|
14
14
|
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
|
15
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context,
|
15
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HomeAssistant as HomeAssistant, callback as callback
|
16
16
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, NoEntitySpecifiedError as NoEntitySpecifiedError
|
17
17
|
from homeassistant.loader import bind_hass as bind_hass
|
18
18
|
from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
|
19
19
|
from typing import Any, Final, Literal, TypeVar, TypedDict
|
20
|
+
from yarl import URL
|
20
21
|
|
21
22
|
_T = TypeVar('_T')
|
22
23
|
_LOGGER: Incomplete
|
@@ -36,7 +37,7 @@ def get_supported_features(hass: HomeAssistant, entity_id: str) -> int: ...
|
|
36
37
|
def get_unit_of_measurement(hass: HomeAssistant, entity_id: str) -> str | None: ...
|
37
38
|
|
38
39
|
class DeviceInfo(TypedDict, total=False):
|
39
|
-
configuration_url: str | None
|
40
|
+
configuration_url: str | URL | None
|
40
41
|
connections: set[tuple[str, str]]
|
41
42
|
default_manufacturer: str
|
42
43
|
default_model: str
|
@@ -85,6 +86,7 @@ class Entity(ABC):
|
|
85
86
|
_update_staged: bool
|
86
87
|
parallel_updates: asyncio.Semaphore | None
|
87
88
|
registry_entry: er.RegistryEntry | None
|
89
|
+
device_entry: dr.DeviceEntry | None
|
88
90
|
_on_remove: list[CALLBACK_TYPE] | None
|
89
91
|
_unsub_device_updates: CALLBACK_TYPE | None
|
90
92
|
_context: Context | None
|
@@ -196,9 +198,9 @@ class Entity(ABC):
|
|
196
198
|
def async_registry_entry_updated(self) -> None: ...
|
197
199
|
async def async_internal_added_to_hass(self) -> None: ...
|
198
200
|
async def async_internal_will_remove_from_hass(self) -> None: ...
|
199
|
-
async def _async_registry_updated(self, event:
|
201
|
+
async def _async_registry_updated(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
|
200
202
|
def _async_unsubscribe_device_updates(self) -> None: ...
|
201
|
-
def _async_device_registry_updated(self, event:
|
203
|
+
def _async_device_registry_updated(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
|
202
204
|
def _async_subscribe_device_updates(self) -> None: ...
|
203
205
|
def __repr__(self) -> str: ...
|
204
206
|
async def async_request_call(self, coro: Coroutine[Any, Any, _T]) -> _T: ...
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import asyncio
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import service as service, translation as translation
|
4
|
-
from .device_registry import DeviceRegistry as DeviceRegistry
|
5
4
|
from .entity import Entity as Entity
|
6
5
|
from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
|
7
6
|
from .event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
|
@@ -14,7 +13,7 @@ from datetime import datetime, timedelta
|
|
14
13
|
from homeassistant import config_entries as config_entries
|
15
14
|
from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
|
16
15
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
17
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
16
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
|
18
17
|
from homeassistant.generated import languages as languages
|
19
18
|
from homeassistant.setup import async_start_setup as async_start_setup
|
20
19
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
@@ -74,7 +73,7 @@ class EntityPlatform:
|
|
74
73
|
def add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = ...) -> None: ...
|
75
74
|
async def async_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = ...) -> None: ...
|
76
75
|
def _entity_id_already_exists(self, entity_id: str) -> tuple[bool, bool]: ...
|
77
|
-
async def _async_add_entity(self, entity: Entity, update_before_add: bool, entity_registry: EntityRegistry
|
76
|
+
async def _async_add_entity(self, entity: Entity, update_before_add: bool, entity_registry: EntityRegistry) -> None: ...
|
78
77
|
async def async_reset(self) -> None: ...
|
79
78
|
def async_unsub_polling(self) -> None: ...
|
80
79
|
async def async_destroy(self) -> None: ...
|
@@ -5,7 +5,7 @@ from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from collections import UserDict
|
7
7
|
from collections.abc import Callable as Callable, Iterable, Mapping, ValuesView
|
8
|
-
from
|
8
|
+
from enum import StrEnum
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
10
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_RESTORED as ATTR_RESTORED, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EntityCategory as EntityCategory, MAX_LENGTH_STATE_DOMAIN as MAX_LENGTH_STATE_DOMAIN, MAX_LENGTH_STATE_ENTITY_ID as MAX_LENGTH_STATE_ENTITY_ID, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
11
11
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
|
@@ -13,7 +13,8 @@ from homeassistant.exceptions import MaxLengthExceeded as MaxLengthExceeded
|
|
13
13
|
from homeassistant.util import slugify as slugify
|
14
14
|
from homeassistant.util.json import format_unserializable_data as format_unserializable_data
|
15
15
|
from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
|
16
|
-
from typing import Any, TypeVar
|
16
|
+
from typing import Any, Literal, TypeVar, TypedDict
|
17
|
+
from typing_extensions import NotRequired
|
17
18
|
|
18
19
|
T = TypeVar('T')
|
19
20
|
DATA_REGISTRY: str
|
@@ -39,6 +40,18 @@ class RegistryEntryDisabler(StrEnum):
|
|
39
40
|
class RegistryEntryHider(StrEnum):
|
40
41
|
INTEGRATION: str
|
41
42
|
USER: str
|
43
|
+
|
44
|
+
class _EventEntityRegistryUpdatedData_CreateRemove(TypedDict):
|
45
|
+
action: Literal['create', 'remove']
|
46
|
+
entity_id: str
|
47
|
+
|
48
|
+
class _EventEntityRegistryUpdatedData_Update(TypedDict):
|
49
|
+
action: Literal['update']
|
50
|
+
entity_id: str
|
51
|
+
changes: dict[str, Any]
|
52
|
+
old_entity_id: NotRequired[str]
|
53
|
+
|
54
|
+
EventEntityRegistryUpdatedData: Incomplete
|
42
55
|
EntityOptionsType = Mapping[str, Mapping[str, Any]]
|
43
56
|
ReadOnlyEntityOptionsType = ReadOnlyDict[str, Mapping[str, Any]]
|
44
57
|
DISLAY_DICT_OPTIONAL: Incomplete
|
@@ -1,19 +1,19 @@
|
|
1
1
|
import time
|
2
|
-
from .device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED
|
3
|
-
from .entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGISTRY_UPDATED
|
2
|
+
from .device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
3
|
+
from .entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGISTRY_UPDATED, EventEntityRegistryUpdatedData as EventEntityRegistryUpdatedData
|
4
4
|
from .ratelimit import KeyedRateLimit as KeyedRateLimit
|
5
5
|
from .sun import get_astral_event_next as get_astral_event_next
|
6
6
|
from .template import RenderInfo as RenderInfo, Template as Template, result_as_boolean as result_as_boolean
|
7
|
-
from .typing import TemplateVarsType as TemplateVarsType
|
7
|
+
from .typing import EventType as EventType, TemplateVarsType as TemplateVarsType
|
8
8
|
from _typeshed import Incomplete
|
9
|
-
from collections.abc import Callable, Coroutine, Iterable, Sequence
|
9
|
+
from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
|
10
10
|
from datetime import datetime, timedelta
|
11
|
-
from homeassistant.const import
|
12
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE,
|
11
|
+
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
|
12
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
13
13
|
from homeassistant.exceptions import TemplateError as TemplateError
|
14
14
|
from homeassistant.loader import bind_hass as bind_hass
|
15
15
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
16
|
-
from typing import Any, Concatenate
|
16
|
+
from typing import Any, Concatenate, TypeVar, TypedDict
|
17
17
|
|
18
18
|
TRACK_STATE_CHANGE_CALLBACKS: str
|
19
19
|
TRACK_STATE_CHANGE_LISTENER: str
|
@@ -31,6 +31,7 @@ _ENTITIES_LISTENER: str
|
|
31
31
|
_LOGGER: Incomplete
|
32
32
|
RANDOM_MICROSECOND_MIN: int
|
33
33
|
RANDOM_MICROSECOND_MAX: int
|
34
|
+
_TypedDictT = TypeVar('_TypedDictT', bound=Mapping[str, Any])
|
34
35
|
_P: Incomplete
|
35
36
|
|
36
37
|
class TrackStates:
|
@@ -51,30 +52,35 @@ class TrackTemplateResult:
|
|
51
52
|
result: Any
|
52
53
|
def __init__(self, template, last_result, result) -> None: ...
|
53
54
|
|
55
|
+
class EventStateChangedData(TypedDict):
|
56
|
+
entity_id: str
|
57
|
+
old_state: State | None
|
58
|
+
new_state: State | None
|
59
|
+
|
54
60
|
def threaded_listener_factory(async_factory: Callable[Concatenate[HomeAssistant, _P], Any]) -> Callable[Concatenate[HomeAssistant, _P], CALLBACK_TYPE]: ...
|
55
61
|
def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], from_state: None | str | Iterable[str] = ..., to_state: None | str | Iterable[str] = ...) -> CALLBACK_TYPE: ...
|
56
62
|
|
57
63
|
track_state_change: Incomplete
|
58
64
|
|
59
|
-
def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
60
|
-
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
61
|
-
def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
62
|
-
def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
65
|
+
def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
|
66
|
+
def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> None: ...
|
67
|
+
def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
|
68
|
+
def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
|
63
69
|
def _remove_empty_listener() -> None: ...
|
64
|
-
def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[
|
65
|
-
def _async_track_event(hass: HomeAssistant, keys: str | Iterable[str], callbacks_key: str, listeners_key: str, event_type: str, dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[
|
66
|
-
def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
67
|
-
def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
68
|
-
def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[
|
69
|
-
def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
70
|
-
def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
71
|
-
def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[
|
72
|
-
def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
73
|
-
def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
74
|
-
def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
75
|
-
def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
76
|
-
def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[
|
77
|
-
def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[
|
70
|
+
def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[EventType[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]]) -> None: ...
|
71
|
+
def _async_track_event(hass: HomeAssistant, keys: str | Iterable[str], callbacks_key: str, listeners_key: str, event_type: str, dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]], EventType[_TypedDictT]], None], filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]], EventType[_TypedDictT]], bool], action: Callable[[EventType[_TypedDictT]], None]) -> CALLBACK_TYPE: ...
|
72
|
+
def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventEntityRegistryUpdatedData]], Any]]], event: EventType[EventEntityRegistryUpdatedData]) -> None: ...
|
73
|
+
def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventEntityRegistryUpdatedData]], Any]]], event: EventType[EventEntityRegistryUpdatedData]) -> bool: ...
|
74
|
+
def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventEntityRegistryUpdatedData]], Any]) -> CALLBACK_TYPE: ...
|
75
|
+
def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventDeviceRegistryUpdatedData]], Any]]], event: EventType[EventDeviceRegistryUpdatedData]) -> bool: ...
|
76
|
+
def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventDeviceRegistryUpdatedData]], Any]]], event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
|
77
|
+
def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[EventType[EventDeviceRegistryUpdatedData]], Any]) -> CALLBACK_TYPE: ...
|
78
|
+
def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> None: ...
|
79
|
+
def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
|
80
|
+
def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
|
81
|
+
def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
|
82
|
+
def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
|
83
|
+
def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
|
78
84
|
def _async_string_to_lower_list(instr: str | Iterable[str]) -> list[str]: ...
|
79
85
|
|
80
86
|
class _TrackStateChangeFiltered:
|
@@ -83,7 +89,7 @@ class _TrackStateChangeFiltered:
|
|
83
89
|
_action_as_hassjob: Incomplete
|
84
90
|
_listeners: Incomplete
|
85
91
|
_last_track_states: Incomplete
|
86
|
-
def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[
|
92
|
+
def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[EventType[EventStateChangedData]], Any]) -> None: ...
|
87
93
|
def async_setup(self) -> None: ...
|
88
94
|
@property
|
89
95
|
def listeners(self) -> dict[str, bool | set[str]]: ...
|
@@ -91,11 +97,11 @@ class _TrackStateChangeFiltered:
|
|
91
97
|
def async_remove(self) -> None: ...
|
92
98
|
def _cancel_listener(self, listener_name: str) -> None: ...
|
93
99
|
def _setup_entities_listener(self, domains: set[str], entities: set[str]) -> None: ...
|
94
|
-
def _state_added(self, event:
|
100
|
+
def _state_added(self, event: EventType[EventStateChangedData]) -> None: ...
|
95
101
|
def _setup_domains_listener(self, domains: set[str]) -> None: ...
|
96
102
|
def _setup_all_listener(self) -> None: ...
|
97
103
|
|
98
|
-
def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[
|
104
|
+
def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[EventType[EventStateChangedData]], Any]) -> _TrackStateChangeFiltered: ...
|
99
105
|
def async_track_template(hass: HomeAssistant, template: Template, action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], variables: TemplateVarsType | None = ...) -> CALLBACK_TYPE: ...
|
100
106
|
|
101
107
|
track_template: Incomplete
|
@@ -110,7 +116,7 @@ class TrackTemplateResultInfo:
|
|
110
116
|
_info: Incomplete
|
111
117
|
_track_state_changes: Incomplete
|
112
118
|
_time_listeners: Incomplete
|
113
|
-
def __init__(self, hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action:
|
119
|
+
def __init__(self, hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action: TrackTemplateResultListener, has_super_template: bool = ...) -> None: ...
|
114
120
|
def __repr__(self) -> str: ...
|
115
121
|
def async_setup(self, raise_on_template_error: bool, strict: bool = ...) -> None: ...
|
116
122
|
@property
|
@@ -119,10 +125,10 @@ class TrackTemplateResultInfo:
|
|
119
125
|
def _update_time_listeners(self) -> None: ...
|
120
126
|
def async_remove(self) -> None: ...
|
121
127
|
def async_refresh(self) -> None: ...
|
122
|
-
def _render_template_if_ready(self, track_template_: TrackTemplate, now: datetime, event:
|
128
|
+
def _render_template_if_ready(self, track_template_: TrackTemplate, now: datetime, event: EventType[EventStateChangedData] | None) -> bool | TrackTemplateResult: ...
|
123
129
|
@staticmethod
|
124
130
|
def _super_template_as_boolean(result: bool | str | TemplateError) -> bool: ...
|
125
|
-
def _refresh(self, event:
|
131
|
+
def _refresh(self, event: EventType[EventStateChangedData] | None, track_templates: Iterable[TrackTemplate] | None = ..., replayed: bool | None = ...) -> None: ...
|
126
132
|
|
127
133
|
TrackTemplateResultListener: Incomplete
|
128
134
|
|
@@ -187,6 +193,6 @@ def process_state_match(parameter: None | str | Iterable[str], invert: bool = ..
|
|
187
193
|
def _entities_domains_from_render_infos(render_infos: Iterable[RenderInfo]) -> tuple[set[str], set[str]]: ...
|
188
194
|
def _render_infos_needs_all_listener(render_infos: Iterable[RenderInfo]) -> bool: ...
|
189
195
|
def _render_infos_to_track_states(render_infos: Iterable[RenderInfo]) -> TrackStates: ...
|
190
|
-
def _event_triggers_rerender(event:
|
191
|
-
def _rate_limit_for_event(event:
|
196
|
+
def _event_triggers_rerender(event: EventType[EventStateChangedData], info: RenderInfo) -> bool: ...
|
197
|
+
def _rate_limit_for_event(event: EventType[EventStateChangedData], info: RenderInfo, track_template_: TrackTemplate) -> timedelta | None: ...
|
192
198
|
def _suppress_domain_all_in_render_info(render_info: RenderInfo) -> RenderInfo: ...
|
@@ -6,11 +6,13 @@ from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, EVENT_HOME
|
|
6
6
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.loader import bind_hass as bind_hass
|
8
8
|
from homeassistant.util.ssl import SSLCipherList as SSLCipherList, client_context as client_context, create_no_verify_ssl_context as create_no_verify_ssl_context
|
9
|
-
from typing import Any
|
10
|
-
from typing_extensions import Self
|
9
|
+
from typing import Any, Self
|
11
10
|
|
11
|
+
KEEP_ALIVE_TIMEOUT: int
|
12
12
|
DATA_ASYNC_CLIENT: str
|
13
13
|
DATA_ASYNC_CLIENT_NOVERIFY: str
|
14
|
+
DEFAULT_LIMITS: Incomplete
|
15
|
+
limits: Incomplete
|
14
16
|
SERVER_SOFTWARE: Incomplete
|
15
17
|
USER_AGENT: str
|
16
18
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .storage import Store as Store
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from datetime import datetime
|
4
|
-
from
|
4
|
+
from enum import StrEnum
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
6
|
from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
|
7
7
|
from typing import Any
|
@@ -11,8 +11,7 @@ from datetime import datetime
|
|
11
11
|
from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
12
12
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback, valid_entity_id as valid_entity_id
|
13
13
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
|
-
from typing import Any
|
15
|
-
from typing_extensions import Self
|
14
|
+
from typing import Any, Self
|
16
15
|
|
17
16
|
DATA_RESTORE_STATE: str
|
18
17
|
_LOGGER: Incomplete
|