homeassistant-stubs 2023.8.4__py3-none-any.whl → 2023.9.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/__main__.pyi +0 -1
- homeassistant-stubs/components/abode/__init__.pyi +2 -1
- homeassistant-stubs/components/abode/sensor.pyi +18 -6
- homeassistant-stubs/components/accuweather/__init__.pyi +1 -2
- homeassistant-stubs/components/accuweather/const.pyi +2 -0
- homeassistant-stubs/components/accuweather/sensor.pyi +4 -6
- homeassistant-stubs/components/accuweather/weather.pyi +6 -5
- homeassistant-stubs/components/actiontec/model.pyi +0 -1
- homeassistant-stubs/components/adguard/entity.pyi +2 -2
- homeassistant-stubs/components/adguard/sensor.pyi +0 -2
- homeassistant-stubs/components/adguard/switch.pyi +0 -2
- homeassistant-stubs/components/airly/sensor.pyi +1 -3
- homeassistant-stubs/components/airzone/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/airzone/entity.pyi +7 -1
- homeassistant-stubs/components/airzone/select.pyi +0 -2
- homeassistant-stubs/components/airzone/sensor.pyi +9 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -2
- homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -1
- homeassistant-stubs/components/aladdin_connect/cover.pyi +1 -1
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +1 -3
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -1
- homeassistant-stubs/components/alexa/__init__.pyi +16 -0
- homeassistant-stubs/components/alexa/auth.pyi +31 -0
- homeassistant-stubs/components/alexa/capabilities.pyi +281 -0
- homeassistant-stubs/components/alexa/config.pyi +57 -0
- homeassistant-stubs/components/alexa/const.pyi +51 -0
- homeassistant-stubs/components/alexa/entities.pyi +176 -0
- homeassistant-stubs/components/alexa/errors.pyi +69 -0
- homeassistant-stubs/components/alexa/flash_briefings.pyi +22 -0
- homeassistant-stubs/components/alexa/handlers.pyi +64 -0
- homeassistant-stubs/components/alexa/intent.pyi +53 -0
- homeassistant-stubs/components/alexa/logbook.pyi +6 -0
- homeassistant-stubs/components/alexa/resources.pyi +114 -0
- homeassistant-stubs/components/alexa/smart_home.pyi +51 -0
- homeassistant-stubs/components/alexa/state_report.pyi +53 -0
- homeassistant-stubs/components/ambient_station/__init__.pyi +1 -15
- homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -3
- homeassistant-stubs/components/ambient_station/entity.pyi +21 -0
- homeassistant-stubs/components/ambient_station/sensor.pyi +2 -1
- homeassistant-stubs/components/amcrest/__init__.pyi +0 -1
- homeassistant-stubs/components/amcrest/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/analytics/analytics.pyi +0 -1
- homeassistant-stubs/components/anova/__init__.pyi +1 -1
- homeassistant-stubs/components/anova/config_flow.pyi +4 -4
- homeassistant-stubs/components/anova/coordinator.pyi +2 -2
- homeassistant-stubs/components/anova/entity.pyi +2 -2
- homeassistant-stubs/components/anova/models.pyi +0 -1
- homeassistant-stubs/components/anova/sensor.pyi +0 -2
- homeassistant-stubs/components/anthemav/__init__.pyi +1 -1
- homeassistant-stubs/components/anthemav/const.pyi +1 -1
- homeassistant-stubs/components/anthemav/media_player.pyi +2 -2
- homeassistant-stubs/components/apcupsd/__init__.pyi +1 -1
- homeassistant-stubs/components/aqualogic/sensor.pyi +0 -1
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/aseko_pool_live/entity.pyi +2 -1
- homeassistant-stubs/components/aseko_pool_live/sensor.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/const.pyi +3 -0
- homeassistant-stubs/components/assist_pipeline/error.pyi +2 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +35 -14
- homeassistant-stubs/components/assist_pipeline/ring_buffer.pyi +15 -0
- homeassistant-stubs/components/assist_pipeline/vad.pyi +41 -6
- homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
- homeassistant-stubs/components/asuswrt/router.pyi +1 -2
- homeassistant-stubs/components/asuswrt/sensor.pyi +0 -1
- homeassistant-stubs/components/auth/__init__.pyi +2 -1
- homeassistant-stubs/components/automation/__init__.pyi +0 -1
- homeassistant-stubs/components/awair/__init__.pyi +0 -1
- homeassistant-stubs/components/awair/sensor.pyi +1 -3
- homeassistant-stubs/components/backup/manager.pyi +0 -1
- homeassistant-stubs/components/baf/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/baf/entity.pyi +2 -2
- homeassistant-stubs/components/baf/light.pyi +1 -2
- homeassistant-stubs/components/baf/models.pyi +0 -2
- homeassistant-stubs/components/baf/number.pyi +0 -2
- homeassistant-stubs/components/baf/sensor.pyi +0 -2
- homeassistant-stubs/components/baf/switch.pyi +0 -2
- homeassistant-stubs/components/bayesian/helpers.pyi +0 -1
- homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -1
- homeassistant-stubs/components/bluetooth/base_scanner.pyi +0 -1
- homeassistant-stubs/components/bluetooth/match.pyi +0 -1
- homeassistant-stubs/components/bluetooth/models.pyi +0 -1
- homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +59 -20
- homeassistant-stubs/components/bluetooth/update_coordinator.pyi +6 -3
- homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -2
- homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +6 -5
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +0 -2
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +0 -2
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +0 -2
- homeassistant-stubs/components/bond/button.pyi +0 -2
- homeassistant-stubs/components/bond/entity.pyi +2 -1
- homeassistant-stubs/components/bond/models.pyi +0 -1
- homeassistant-stubs/components/braviatv/button.pyi +0 -2
- homeassistant-stubs/components/braviatv/coordinator.pyi +2 -2
- homeassistant-stubs/components/braviatv/entity.pyi +1 -1
- homeassistant-stubs/components/brother/sensor.pyi +1 -3
- homeassistant-stubs/components/button/__init__.pyi +0 -1
- homeassistant-stubs/components/calendar/__init__.pyi +5 -3
- homeassistant-stubs/components/calendar/trigger.pyi +0 -2
- homeassistant-stubs/components/camera/__init__.pyi +3 -1
- homeassistant-stubs/components/camera/prefs.pyi +0 -1
- homeassistant-stubs/components/canary/camera.pyi +1 -1
- homeassistant-stubs/components/canary/sensor.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +3 -2
- homeassistant-stubs/components/cloud/http_api.pyi +3 -3
- homeassistant-stubs/components/cover/__init__.pyi +2 -3
- homeassistant-stubs/components/cpuspeed/sensor.pyi +1 -1
- homeassistant-stubs/components/crownstone/devices.pyi +2 -1
- homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/deconz/button.pyi +0 -2
- homeassistant-stubs/components/deconz/deconz_device.pyi +2 -2
- homeassistant-stubs/components/deconz/device_trigger.pyi +1 -0
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/deconz/number.pyi +0 -2
- homeassistant-stubs/components/deconz/sensor.pyi +0 -2
- homeassistant-stubs/components/demo/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/demo/button.pyi +1 -1
- homeassistant-stubs/components/demo/calendar.pyi +2 -2
- homeassistant-stubs/components/demo/climate.pyi +1 -1
- homeassistant-stubs/components/demo/cover.pyi +1 -1
- homeassistant-stubs/components/demo/date.pyi +1 -1
- homeassistant-stubs/components/demo/datetime.pyi +1 -1
- homeassistant-stubs/components/demo/event.pyi +1 -1
- homeassistant-stubs/components/demo/light.pyi +1 -1
- homeassistant-stubs/components/demo/number.pyi +1 -1
- homeassistant-stubs/components/demo/select.pyi +1 -1
- homeassistant-stubs/components/demo/sensor.pyi +1 -1
- homeassistant-stubs/components/demo/switch.pyi +1 -1
- homeassistant-stubs/components/demo/text.pyi +1 -1
- homeassistant-stubs/components/demo/time.pyi +1 -1
- homeassistant-stubs/components/demo/update.pyi +1 -1
- homeassistant-stubs/components/demo/weather.pyi +1 -0
- homeassistant-stubs/components/derivative/sensor.pyi +1 -1
- homeassistant-stubs/components/device_automation/__init__.pyi +0 -1
- homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -1
- homeassistant-stubs/components/devolo_home_control/devolo_device.pyi +2 -1
- homeassistant-stubs/components/devolo_home_network/__init__.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/devolo_home_network/button.pyi +0 -2
- homeassistant-stubs/components/devolo_home_network/const.pyi +2 -0
- homeassistant-stubs/components/devolo_home_network/entity.pyi +2 -1
- homeassistant-stubs/components/devolo_home_network/image.pyi +32 -0
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +0 -2
- homeassistant-stubs/components/devolo_home_network/switch.pyi +0 -2
- homeassistant-stubs/components/devolo_home_network/update.pyi +40 -0
- homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
- homeassistant-stubs/components/diagnostics/__init__.pyi +0 -2
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -2
- homeassistant-stubs/components/dnsip/sensor.pyi +1 -2
- homeassistant-stubs/components/doorbird/__init__.pyi +25 -0
- homeassistant-stubs/components/doorbird/button.pyi +32 -0
- homeassistant-stubs/components/doorbird/camera.pyi +33 -0
- homeassistant-stubs/components/doorbird/config_flow.pyi +37 -0
- homeassistant-stubs/components/doorbird/const.pyi +19 -0
- homeassistant-stubs/components/doorbird/device.pyi +40 -0
- homeassistant-stubs/components/doorbird/entity.pyi +14 -0
- homeassistant-stubs/components/doorbird/logbook.pyi +8 -0
- homeassistant-stubs/components/doorbird/models.pyi +8 -0
- homeassistant-stubs/components/doorbird/util.pyi +8 -0
- homeassistant-stubs/components/doorbird/view.pyi +14 -0
- homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/dormakaba_dkey/entity.pyi +1 -1
- homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -1
- homeassistant-stubs/components/dsmr/sensor.pyi +1 -3
- homeassistant-stubs/components/dunehd/media_player.pyi +3 -7
- homeassistant-stubs/components/efergy/__init__.pyi +2 -1
- homeassistant-stubs/components/electrasmart/climate.pyi +1 -1
- homeassistant-stubs/components/electric_kiwi/select.pyi +27 -0
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +1 -3
- homeassistant-stubs/components/elgato/button.pyi +0 -2
- homeassistant-stubs/components/elgato/coordinator.pyi +0 -1
- homeassistant-stubs/components/elgato/entity.pyi +1 -2
- homeassistant-stubs/components/elgato/sensor.pyi +0 -2
- homeassistant-stubs/components/elgato/switch.pyi +0 -2
- homeassistant-stubs/components/elkm1/__init__.pyi +2 -2
- homeassistant-stubs/components/elkm1/climate.pyi +6 -15
- homeassistant-stubs/components/elkm1/sensor.pyi +10 -18
- homeassistant-stubs/components/energy/sensor.pyi +0 -1
- homeassistant-stubs/components/energy/validate.pyi +0 -3
- homeassistant-stubs/components/esphome/bluetooth/cache.pyi +0 -1
- homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -3
- homeassistant-stubs/components/esphome/bluetooth/device.pyi +0 -1
- homeassistant-stubs/components/esphome/bluetooth/scanner.pyi +2 -0
- homeassistant-stubs/components/esphome/domain_data.pyi +0 -1
- homeassistant-stubs/components/esphome/entity.pyi +2 -1
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/esphome/update.pyi +1 -1
- homeassistant-stubs/components/esphome/voice_assistant.pyi +5 -7
- homeassistant-stubs/components/event/__init__.pyi +0 -2
- homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -1
- homeassistant-stubs/components/evil_genius_labs/util.pyi +3 -2
- homeassistant-stubs/components/fan/__init__.pyi +0 -1
- homeassistant-stubs/components/feedreader/__init__.pyi +21 -18
- homeassistant-stubs/components/file_upload/__init__.pyi +0 -1
- homeassistant-stubs/components/filesize/__init__.pyi +2 -1
- homeassistant-stubs/components/filesize/coordinator.pyi +12 -0
- homeassistant-stubs/components/filesize/sensor.pyi +3 -8
- homeassistant-stubs/components/filter/sensor.pyi +0 -1
- homeassistant-stubs/components/fitbit/sensor.pyi +0 -1
- homeassistant-stubs/components/flux_led/entity.pyi +2 -1
- homeassistant-stubs/components/forecast_solar/__init__.pyi +2 -1
- homeassistant-stubs/components/forecast_solar/config_flow.pyi +1 -1
- homeassistant-stubs/components/forecast_solar/const.pyi +2 -0
- homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
- homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -3
- homeassistant-stubs/components/fritz/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/fritz/button.pyi +1 -4
- homeassistant-stubs/components/fritz/common.pyi +2 -6
- homeassistant-stubs/components/fritz/sensor.pyi +0 -1
- homeassistant-stubs/components/fritz/switch.pyi +2 -2
- homeassistant-stubs/components/fritzbox/__init__.pyi +3 -2
- homeassistant-stubs/components/fritzbox/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/fritzbox/button.pyi +1 -1
- homeassistant-stubs/components/fritzbox/coordinator.pyi +0 -1
- homeassistant-stubs/components/fritzbox/model.pyi +0 -1
- homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
- homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
- homeassistant-stubs/components/fronius/__init__.pyi +1 -1
- homeassistant-stubs/components/fronius/const.pyi +1 -1
- homeassistant-stubs/components/fronius/sensor.pyi +1 -2
- homeassistant-stubs/components/fully_kiosk/button.pyi +0 -2
- homeassistant-stubs/components/fully_kiosk/entity.pyi +2 -2
- homeassistant-stubs/components/fully_kiosk/sensor.pyi +0 -1
- homeassistant-stubs/components/fully_kiosk/switch.pyi +0 -2
- homeassistant-stubs/components/geocaching/sensor.pyi +1 -4
- homeassistant-stubs/components/gios/sensor.pyi +1 -4
- homeassistant-stubs/components/goalzero/entity.pyi +2 -1
- homeassistant-stubs/components/google/calendar.pyi +3 -8
- homeassistant-stubs/components/group/__init__.pyi +4 -1
- homeassistant-stubs/components/group/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/group/config_flow.pyi +22 -7
- homeassistant-stubs/components/group/cover.pyi +6 -9
- homeassistant-stubs/components/group/event.pyi +29 -0
- homeassistant-stubs/components/group/fan.pyi +6 -9
- homeassistant-stubs/components/group/light.pyi +3 -4
- homeassistant-stubs/components/group/lock.pyi +2 -3
- homeassistant-stubs/components/group/media_player.pyi +5 -3
- homeassistant-stubs/components/group/sensor.pyi +2 -3
- homeassistant-stubs/components/group/switch.pyi +2 -3
- homeassistant-stubs/components/guardian/__init__.pyi +2 -4
- homeassistant-stubs/components/guardian/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/guardian/button.pyi +0 -2
- homeassistant-stubs/components/guardian/sensor.pyi +0 -1
- homeassistant-stubs/components/guardian/switch.pyi +0 -2
- homeassistant-stubs/components/guardian/util.pyi +0 -1
- homeassistant-stubs/components/hardware/models.pyi +0 -3
- homeassistant-stubs/components/hardware/websocket_api.pyi +0 -1
- homeassistant-stubs/components/here_travel_time/model.pyi +0 -1
- homeassistant-stubs/components/here_travel_time/sensor.pyi +1 -2
- homeassistant-stubs/components/history/websocket_api.pyi +0 -1
- homeassistant-stubs/components/homeassistant/exposed_entities.pyi +0 -2
- homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +0 -1
- homeassistant-stubs/components/homeassistant_green/__init__.pyi +7 -0
- homeassistant-stubs/components/homeassistant_green/config_flow.pyi +8 -0
- homeassistant-stubs/components/homeassistant_green/const.pyi +1 -0
- homeassistant-stubs/components/homeassistant_green/hardware.pyi +11 -0
- homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -13
- homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -0
- homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -0
- homeassistant-stubs/components/homekit_controller/button.pyi +0 -1
- homeassistant-stubs/components/homewizard/const.pyi +0 -1
- homeassistant-stubs/components/homewizard/entity.pyi +1 -1
- homeassistant-stubs/components/homewizard/helpers.pyi +3 -2
- homeassistant-stubs/components/homewizard/sensor.pyi +0 -2
- homeassistant-stubs/components/homewizard/switch.pyi +0 -2
- homeassistant-stubs/components/http/__init__.pyi +5 -1
- homeassistant-stubs/components/http/ban.pyi +2 -2
- homeassistant-stubs/components/http/data_validator.pyi +2 -2
- homeassistant-stubs/components/http/decorators.pyi +15 -0
- homeassistant-stubs/components/http/headers.pyi +5 -0
- homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -4
- homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -11
- homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/notify.pyi +0 -1
- homeassistant-stubs/components/huawei_lte/sensor.pyi +0 -4
- homeassistant-stubs/components/huawei_lte/switch.pyi +0 -5
- homeassistant-stubs/components/hyperion/camera.pyi +4 -5
- homeassistant-stubs/components/hyperion/const.pyi +0 -2
- homeassistant-stubs/components/hyperion/light.pyi +3 -5
- homeassistant-stubs/components/hyperion/switch.pyi +5 -6
- homeassistant-stubs/components/ibeacon/entity.pyi +2 -1
- homeassistant-stubs/components/ibeacon/sensor.pyi +0 -2
- homeassistant-stubs/components/image/__init__.pyi +0 -2
- homeassistant-stubs/components/image_processing/__init__.pyi +0 -1
- homeassistant-stubs/components/imap/sensor.pyi +1 -2
- homeassistant-stubs/components/integration/sensor.pyi +1 -2
- homeassistant-stubs/components/ipp/__init__.pyi +11 -0
- homeassistant-stubs/components/ipp/config_flow.pyi +22 -0
- homeassistant-stubs/components/ipp/const.pyi +13 -0
- homeassistant-stubs/components/ipp/coordinator.pyi +15 -0
- homeassistant-stubs/components/ipp/entity.pyi +13 -0
- homeassistant-stubs/components/ipp/sensor.pyi +36 -0
- homeassistant-stubs/components/isy994/__init__.pyi +1 -2
- homeassistant-stubs/components/isy994/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/isy994/button.pyi +2 -1
- homeassistant-stubs/components/isy994/climate.pyi +2 -1
- homeassistant-stubs/components/isy994/cover.pyi +2 -1
- homeassistant-stubs/components/isy994/entity.pyi +2 -1
- homeassistant-stubs/components/isy994/fan.pyi +2 -1
- homeassistant-stubs/components/isy994/helpers.pyi +1 -1
- homeassistant-stubs/components/isy994/light.pyi +2 -1
- homeassistant-stubs/components/isy994/lock.pyi +2 -1
- homeassistant-stubs/components/isy994/models.pyi +1 -2
- homeassistant-stubs/components/isy994/number.pyi +2 -1
- homeassistant-stubs/components/isy994/select.pyi +1 -1
- homeassistant-stubs/components/isy994/sensor.pyi +2 -1
- homeassistant-stubs/components/isy994/switch.pyi +1 -2
- homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
- homeassistant-stubs/components/jellyfin/media_player.pyi +1 -1
- homeassistant-stubs/components/jellyfin/models.pyi +0 -1
- homeassistant-stubs/components/jellyfin/sensor.pyi +0 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/jvc_projector/entity.pyi +1 -1
- homeassistant-stubs/components/kaleidescape/__init__.pyi +0 -1
- homeassistant-stubs/components/kaleidescape/entity.pyi +2 -1
- homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -2
- homeassistant-stubs/components/knx/config_flow.pyi +1 -4
- homeassistant-stubs/components/knx/device.pyi +1 -1
- homeassistant-stubs/components/knx/helpers/keyring.pyi +12 -0
- homeassistant-stubs/components/knx/project.pyi +0 -1
- homeassistant-stubs/components/knx/sensor.pyi +0 -1
- homeassistant-stubs/components/kraken/sensor.pyi +3 -5
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -3
- homeassistant-stubs/components/lametric/button.pyi +0 -2
- homeassistant-stubs/components/lametric/entity.pyi +1 -2
- homeassistant-stubs/components/lametric/helpers.pyi +3 -2
- homeassistant-stubs/components/lametric/number.pyi +0 -2
- homeassistant-stubs/components/lametric/select.pyi +0 -2
- homeassistant-stubs/components/lametric/sensor.pyi +0 -2
- homeassistant-stubs/components/lametric/switch.pyi +0 -2
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/lawn_mower/__init__.pyi +35 -0
- homeassistant-stubs/components/lawn_mower/const.pyi +17 -0
- homeassistant-stubs/components/lcn/__init__.pyi +2 -1
- homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ld2410_ble/coordinator.pyi +1 -1
- homeassistant-stubs/components/ld2410_ble/models.pyi +0 -1
- homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -1
- homeassistant-stubs/components/lidarr/__init__.pyi +2 -2
- homeassistant-stubs/components/lidarr/sensor.pyi +0 -2
- homeassistant-stubs/components/lifx/__init__.pyi +1 -1
- homeassistant-stubs/components/lifx/entity.pyi +1 -1
- homeassistant-stubs/components/lifx/light.pyi +1 -2
- homeassistant-stubs/components/light/__init__.pyi +0 -3
- homeassistant-stubs/components/litejet/config_flow.pyi +2 -1
- homeassistant-stubs/components/litejet/light.pyi +1 -1
- homeassistant-stubs/components/litejet/scene.pyi +1 -1
- homeassistant-stubs/components/litejet/switch.pyi +1 -1
- homeassistant-stubs/components/litterrobot/__init__.pyi +2 -0
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/litterrobot/button.pyi +0 -2
- homeassistant-stubs/components/litterrobot/entity.pyi +2 -1
- homeassistant-stubs/components/litterrobot/select.pyi +0 -2
- homeassistant-stubs/components/litterrobot/sensor.pyi +0 -1
- homeassistant-stubs/components/litterrobot/switch.pyi +0 -2
- homeassistant-stubs/components/litterrobot/time.pyi +0 -2
- homeassistant-stubs/components/lock/__init__.pyi +0 -1
- homeassistant-stubs/components/logbook/models.pyi +0 -2
- homeassistant-stubs/components/logbook/processor.pyi +0 -1
- homeassistant-stubs/components/logbook/websocket_api.pyi +0 -1
- homeassistant-stubs/components/logger/helpers.pyi +0 -2
- homeassistant-stubs/components/lookin/const.pyi +1 -1
- homeassistant-stubs/components/lookin/entity.pyi +1 -1
- homeassistant-stubs/components/lookin/models.pyi +0 -1
- homeassistant-stubs/components/luftdaten/sensor.pyi +1 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/matter/entity.pyi +2 -2
- homeassistant-stubs/components/matter/helpers.pyi +0 -1
- homeassistant-stubs/components/matter/models.pyi +0 -2
- homeassistant-stubs/components/matter/sensor.pyi +0 -1
- homeassistant-stubs/components/media_extractor/__init__.pyi +31 -0
- homeassistant-stubs/components/media_player/__init__.pyi +0 -1
- homeassistant-stubs/components/media_source/local_source.pyi +1 -1
- homeassistant-stubs/components/media_source/models.pyi +0 -2
- homeassistant-stubs/components/metoffice/__init__.pyi +1 -1
- homeassistant-stubs/components/metoffice/const.pyi +1 -0
- homeassistant-stubs/components/metoffice/data.pyi +0 -1
- homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
- homeassistant-stubs/components/metoffice/weather.pyi +1 -2
- homeassistant-stubs/components/mjpeg/camera.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/base_platform.pyi +4 -3
- homeassistant-stubs/components/modbus/climate.pyi +4 -3
- homeassistant-stubs/components/modbus/const.pyi +3 -11
- homeassistant-stubs/components/modbus/modbus.pyi +6 -6
- homeassistant-stubs/components/modbus/sensor.pyi +4 -1
- homeassistant-stubs/components/modbus/validators.pyi +1 -0
- homeassistant-stubs/components/modem_callerid/button.pyi +4 -1
- homeassistant-stubs/components/modem_callerid/sensor.pyi +5 -2
- homeassistant-stubs/components/moon/sensor.pyi +1 -3
- homeassistant-stubs/components/mqtt/abbreviations.pyi +1 -0
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -3
- homeassistant-stubs/components/mqtt/climate.pyi +4 -1
- homeassistant-stubs/components/mqtt/const.pyi +13 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -0
- homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +64 -0
- homeassistant-stubs/components/mqtt/mixins.pyi +4 -14
- homeassistant-stubs/components/mqtt/models.pyi +7 -1
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/device.pyi +2 -1
- homeassistant-stubs/components/nam/__init__.pyi +1 -1
- homeassistant-stubs/components/nam/config_flow.pyi +0 -1
- homeassistant-stubs/components/nam/sensor.pyi +0 -2
- homeassistant-stubs/components/nanoleaf/__init__.pyi +0 -1
- homeassistant-stubs/components/nanoleaf/entity.pyi +1 -1
- homeassistant-stubs/components/neato/__init__.pyi +1 -0
- homeassistant-stubs/components/neato/button.pyi +18 -0
- homeassistant-stubs/components/neato/camera.pyi +4 -9
- homeassistant-stubs/components/neato/entity.pyi +12 -0
- homeassistant-stubs/components/neato/sensor.pyi +3 -9
- homeassistant-stubs/components/neato/switch.pyi +4 -9
- homeassistant-stubs/components/neato/vacuum.pyi +5 -5
- homeassistant-stubs/components/nest/camera.pyi +6 -4
- homeassistant-stubs/components/nest/climate.pyi +5 -11
- homeassistant-stubs/components/nest/device_info.pyi +1 -1
- homeassistant-stubs/components/nest/media_source.pyi +0 -1
- homeassistant-stubs/components/netatmo/__init__.pyi +1 -0
- homeassistant-stubs/components/netatmo/climate.pyi +1 -1
- homeassistant-stubs/components/netatmo/data_handler.pyi +0 -4
- homeassistant-stubs/components/netatmo/helper.pyi +0 -1
- homeassistant-stubs/components/netatmo/netatmo_entity_base.pyi +2 -1
- homeassistant-stubs/components/netatmo/sensor.pyi +0 -2
- homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/nextdns/sensor.pyi +0 -2
- homeassistant-stubs/components/nextdns/switch.pyi +0 -2
- homeassistant-stubs/components/notion/__init__.pyi +2 -2
- homeassistant-stubs/components/notion/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/notion/model.pyi +0 -1
- homeassistant-stubs/components/notion/sensor.pyi +0 -1
- homeassistant-stubs/components/number/__init__.pyi +0 -2
- homeassistant-stubs/components/nut/__init__.pyi +0 -1
- homeassistant-stubs/components/nut/sensor.pyi +1 -1
- homeassistant-stubs/components/oncue/entity.pyi +3 -1
- homeassistant-stubs/components/onewire/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/onewire/model.pyi +1 -2
- homeassistant-stubs/components/onewire/onewire_entities.pyi +2 -2
- homeassistant-stubs/components/onewire/onewirehub.pyi +1 -1
- homeassistant-stubs/components/onewire/sensor.pyi +0 -1
- homeassistant-stubs/components/onewire/switch.pyi +0 -1
- homeassistant-stubs/components/open_meteo/weather.pyi +7 -6
- homeassistant-stubs/components/openexchangerates/sensor.pyi +4 -5
- homeassistant-stubs/components/opensky/__init__.pyi +5 -1
- homeassistant-stubs/components/opensky/config_flow.pyi +10 -3
- homeassistant-stubs/components/opensky/const.pyi +3 -1
- homeassistant-stubs/components/opensky/coordinator.pyi +17 -0
- homeassistant-stubs/components/opensky/sensor.pyi +14 -22
- homeassistant-stubs/components/openuv/config_flow.pyi +0 -1
- homeassistant-stubs/components/otbr/util.pyi +6 -4
- homeassistant-stubs/components/otbr/websocket_api.pyi +0 -1
- homeassistant-stubs/components/overkiz/__init__.pyi +0 -1
- homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +0 -2
- homeassistant-stubs/components/overkiz/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/overkiz/button.pyi +0 -1
- homeassistant-stubs/components/overkiz/entity.pyi +2 -1
- homeassistant-stubs/components/overkiz/number.pyi +0 -2
- homeassistant-stubs/components/overkiz/select.pyi +0 -2
- homeassistant-stubs/components/overkiz/sensor.pyi +1 -2
- homeassistant-stubs/components/overkiz/switch.pyi +0 -2
- homeassistant-stubs/components/peco/__init__.pyi +0 -1
- homeassistant-stubs/components/peco/sensor.pyi +3 -3
- homeassistant-stubs/components/pi_hole/__init__.pyi +1 -1
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/pi_hole/update.pyi +0 -1
- homeassistant-stubs/components/powerwall/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/powerwall/entity.pyi +2 -1
- homeassistant-stubs/components/powerwall/models.pyi +0 -2
- homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
- homeassistant-stubs/components/powerwall/switch.pyi +1 -2
- homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
- homeassistant-stubs/components/prusalink/button.pyi +0 -2
- homeassistant-stubs/components/prusalink/sensor.pyi +0 -2
- homeassistant-stubs/components/pure_energie/sensor.pyi +1 -3
- homeassistant-stubs/components/purpleair/__init__.pyi +1 -1
- homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
- homeassistant-stubs/components/purpleair/sensor.pyi +0 -2
- homeassistant-stubs/components/pvoutput/sensor.pyi +1 -3
- homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/qnap_qsw/button.pyi +1 -3
- homeassistant-stubs/components/qnap_qsw/entity.pyi +3 -3
- homeassistant-stubs/components/qnap_qsw/sensor.pyi +2 -1
- homeassistant-stubs/components/qnap_qsw/update.pyi +0 -1
- homeassistant-stubs/components/radarr/__init__.pyi +2 -2
- homeassistant-stubs/components/radarr/sensor.pyi +0 -2
- homeassistant-stubs/components/rainmachine/__init__.pyi +1 -2
- homeassistant-stubs/components/rainmachine/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/rainmachine/button.pyi +0 -2
- homeassistant-stubs/components/rainmachine/model.pyi +0 -4
- homeassistant-stubs/components/rainmachine/select.pyi +0 -4
- homeassistant-stubs/components/rainmachine/sensor.pyi +0 -2
- homeassistant-stubs/components/rainmachine/switch.pyi +2 -5
- homeassistant-stubs/components/rainmachine/util.pyi +0 -1
- homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -4
- homeassistant-stubs/components/rdw/sensor.pyi +1 -4
- homeassistant-stubs/components/recollect_waste/entity.pyi +1 -2
- homeassistant-stubs/components/recorder/migration.pyi +0 -2
- homeassistant-stubs/components/recorder/models/database.pyi +0 -2
- homeassistant-stubs/components/recorder/statistics.pyi +0 -2
- homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +0 -1
- homeassistant-stubs/components/recorder/tasks.pyi +0 -30
- homeassistant-stubs/components/recorder/util.pyi +2 -2
- homeassistant-stubs/components/remote/__init__.pyi +0 -1
- homeassistant-stubs/components/renault/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/renault/button.pyi +0 -2
- homeassistant-stubs/components/renault/entity.pyi +0 -2
- homeassistant-stubs/components/renault/renault_hub.pyi +1 -0
- homeassistant-stubs/components/renault/renault_vehicle.pyi +3 -4
- homeassistant-stubs/components/renault/select.pyi +0 -2
- homeassistant-stubs/components/renault/sensor.pyi +0 -2
- homeassistant-stubs/components/repairs/websocket_api.pyi +1 -0
- homeassistant-stubs/components/rest/binary_sensor.pyi +7 -5
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/rest/sensor.pyi +13 -6
- homeassistant-stubs/components/rest/switch.pyi +6 -5
- homeassistant-stubs/components/rest/util.pyi +7 -0
- homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -1
- homeassistant-stubs/components/rfxtrx/sensor.pyi +0 -1
- homeassistant-stubs/components/ridwell/entity.pyi +1 -2
- homeassistant-stubs/components/ridwell/switch.pyi +0 -1
- homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/rituals_perfume_genie/entity.pyi +2 -1
- homeassistant-stubs/components/rituals_perfume_genie/number.pyi +0 -2
- homeassistant-stubs/components/rituals_perfume_genie/select.pyi +0 -2
- homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +0 -2
- homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +0 -2
- homeassistant-stubs/components/roku/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/roku/coordinator.pyi +2 -1
- homeassistant-stubs/components/roku/entity.pyi +4 -6
- homeassistant-stubs/components/roku/helpers.pyi +2 -2
- homeassistant-stubs/components/roku/select.pyi +0 -2
- homeassistant-stubs/components/roku/sensor.pyi +0 -2
- homeassistant-stubs/components/ruuvi_gateway/models.pyi +0 -1
- homeassistant-stubs/components/samsungtv/entity.pyi +2 -1
- homeassistant-stubs/components/scrape/__init__.pyi +1 -1
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
- homeassistant-stubs/components/scrape/sensor.pyi +9 -6
- homeassistant-stubs/components/select/__init__.pyi +0 -1
- homeassistant-stubs/components/sensibo/binary_sensor.pyi +0 -4
- homeassistant-stubs/components/sensibo/button.pyi +0 -2
- homeassistant-stubs/components/sensibo/climate.pyi +3 -0
- homeassistant-stubs/components/sensibo/entity.pyi +3 -4
- homeassistant-stubs/components/sensibo/number.pyi +0 -2
- homeassistant-stubs/components/sensibo/select.pyi +0 -2
- homeassistant-stubs/components/sensibo/sensor.pyi +0 -4
- homeassistant-stubs/components/sensibo/switch.pyi +0 -2
- homeassistant-stubs/components/sensibo/update.pyi +0 -2
- homeassistant-stubs/components/sensor/__init__.pyi +0 -2
- homeassistant-stubs/components/senz/climate.pyi +1 -1
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -3
- homeassistant-stubs/components/sfr_box/button.pyi +3 -5
- homeassistant-stubs/components/sfr_box/models.pyi +0 -1
- homeassistant-stubs/components/sfr_box/sensor.pyi +1 -3
- homeassistant-stubs/components/shelly/__init__.pyi +2 -1
- homeassistant-stubs/components/shelly/binary_sensor.pyi +0 -3
- homeassistant-stubs/components/shelly/button.pyi +1 -4
- homeassistant-stubs/components/shelly/climate.pyi +1 -3
- homeassistant-stubs/components/shelly/const.pyi +1 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +4 -4
- homeassistant-stubs/components/shelly/entity.pyi +2 -6
- homeassistant-stubs/components/shelly/number.pyi +0 -1
- homeassistant-stubs/components/shelly/sensor.pyi +0 -3
- homeassistant-stubs/components/shelly/switch.pyi +20 -2
- homeassistant-stubs/components/shelly/update.pyi +0 -4
- homeassistant-stubs/components/simplisafe/__init__.pyi +1 -1
- homeassistant-stubs/components/simplisafe/button.pyi +0 -2
- homeassistant-stubs/components/skybell/entity.pyi +2 -1
- homeassistant-stubs/components/skybell/sensor.pyi +0 -2
- homeassistant-stubs/components/slack/__init__.pyi +2 -2
- homeassistant-stubs/components/sleepiq/button.pyi +0 -2
- homeassistant-stubs/components/sleepiq/coordinator.pyi +0 -1
- homeassistant-stubs/components/sleepiq/entity.pyi +2 -1
- homeassistant-stubs/components/sleepiq/number.pyi +0 -2
- homeassistant-stubs/components/smhi/weather.pyi +11 -6
- homeassistant-stubs/components/snooz/config_flow.pyi +0 -1
- homeassistant-stubs/components/snooz/fan.pyi +4 -1
- homeassistant-stubs/components/snooz/models.pyi +0 -1
- homeassistant-stubs/components/sonarr/entity.pyi +2 -2
- homeassistant-stubs/components/sonarr/sensor.pyi +0 -2
- homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -3
- homeassistant-stubs/components/sql/__init__.pyi +1 -1
- homeassistant-stubs/components/sql/models.pyi +0 -1
- homeassistant-stubs/components/sql/sensor.pyi +7 -9
- homeassistant-stubs/components/ssdp/__init__.pyi +0 -1
- homeassistant-stubs/components/starlink/__init__.pyi +11 -0
- homeassistant-stubs/components/starlink/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/starlink/button.pyi +25 -0
- homeassistant-stubs/components/starlink/config_flow.pyi +12 -0
- homeassistant-stubs/components/starlink/const.pyi +1 -0
- homeassistant-stubs/components/starlink/coordinator.pyi +21 -0
- homeassistant-stubs/components/starlink/device_tracker.pyi +31 -0
- homeassistant-stubs/components/starlink/diagnostics.pyi +11 -0
- homeassistant-stubs/components/starlink/entity.pyi +13 -0
- homeassistant-stubs/components/starlink/sensor.pyi +28 -0
- homeassistant-stubs/components/starlink/switch.pyi +30 -0
- homeassistant-stubs/components/steamist/entity.pyi +2 -1
- homeassistant-stubs/components/steamist/sensor.pyi +0 -2
- homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/stream/__init__.pyi +1 -1
- homeassistant-stubs/components/stream/core.pyi +4 -2
- homeassistant-stubs/components/sun/sensor.pyi +1 -4
- homeassistant-stubs/components/surepetcare/__init__.pyi +1 -0
- homeassistant-stubs/components/surepetcare/entity.pyi +1 -1
- homeassistant-stubs/components/switch/__init__.pyi +0 -1
- homeassistant-stubs/components/switchbee/entity.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/button.pyi +2 -4
- homeassistant-stubs/components/switcher_kis/climate.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/cover.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/sensor.pyi +7 -20
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/button.pyi +1 -3
- homeassistant-stubs/components/synology_dsm/camera.pyi +1 -2
- homeassistant-stubs/components/synology_dsm/entity.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/models.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/sensor.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +1 -2
- homeassistant-stubs/components/synology_dsm/update.pyi +0 -1
- homeassistant-stubs/components/systemmonitor/sensor.pyi +0 -2
- homeassistant-stubs/components/tailscale/__init__.pyi +2 -2
- homeassistant-stubs/components/tailscale/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/tailscale/sensor.pyi +0 -2
- homeassistant-stubs/components/tautulli/__init__.pyi +2 -2
- homeassistant-stubs/components/tautulli/sensor.pyi +0 -4
- homeassistant-stubs/components/text/__init__.pyi +0 -2
- homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tibber/sensor.pyi +1 -1
- homeassistant-stubs/components/tile/__init__.pyi +0 -1
- homeassistant-stubs/components/tile/device_tracker.pyi +5 -1
- homeassistant-stubs/components/tolo/__init__.pyi +1 -1
- homeassistant-stubs/components/tolo/number.pyi +0 -2
- homeassistant-stubs/components/tolo/sensor.pyi +0 -2
- homeassistant-stubs/components/tplink/diagnostics.pyi +1 -0
- homeassistant-stubs/components/tplink/entity.pyi +3 -3
- homeassistant-stubs/components/tplink/sensor.pyi +0 -1
- homeassistant-stubs/components/tplink_omada/entity.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/update.pyi +2 -2
- homeassistant-stubs/components/tractive/__init__.pyi +3 -2
- homeassistant-stubs/components/tractive/binary_sensor.pyi +5 -8
- homeassistant-stubs/components/tractive/const.pyi +2 -0
- homeassistant-stubs/components/tractive/device_tracker.pyi +2 -3
- homeassistant-stubs/components/tractive/entity.pyi +13 -4
- homeassistant-stubs/components/tractive/sensor.pyi +11 -24
- homeassistant-stubs/components/tractive/switch.pyi +4 -9
- homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
- homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
- homeassistant-stubs/components/trafikverket_camera/__init__.pyi +13 -0
- homeassistant-stubs/components/trafikverket_camera/camera.pyi +28 -0
- homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +15 -0
- homeassistant-stubs/components/trafikverket_camera/const.pyi +9 -0
- homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +24 -0
- homeassistant-stubs/components/trafikverket_camera/recorder.pyi +5 -0
- homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -4
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +2 -1
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +13 -4
- homeassistant-stubs/components/trafikverket_train/const.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +7 -7
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +26 -26
- homeassistant-stubs/components/trafikverket_train/util.pyi +4 -1
- homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -4
- homeassistant-stubs/components/tts/models.pyi +0 -1
- homeassistant-stubs/components/twentemilieu/entity.pyi +2 -2
- homeassistant-stubs/components/twentemilieu/sensor.pyi +0 -2
- homeassistant-stubs/components/unifi/button.pyi +30 -0
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/controller.pyi +10 -14
- homeassistant-stubs/components/unifi/device_tracker.pyi +0 -2
- homeassistant-stubs/components/unifi/entity.pyi +7 -7
- homeassistant-stubs/components/unifi/image.pyi +1 -3
- homeassistant-stubs/components/unifi/sensor.pyi +3 -7
- homeassistant-stubs/components/unifi/switch.pyi +12 -13
- homeassistant-stubs/components/unifi/update.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/button.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/entity.pyi +2 -1
- homeassistant-stubs/components/unifiprotect/models.pyi +0 -4
- homeassistant-stubs/components/unifiprotect/number.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/select.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/switch.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/text.pyi +0 -1
- homeassistant-stubs/components/upcloud/__init__.pyi +1 -3
- homeassistant-stubs/components/update/__init__.pyi +1 -1
- homeassistant-stubs/components/uptime/sensor.pyi +1 -2
- homeassistant-stubs/components/uptimerobot/entity.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +0 -1
- homeassistant-stubs/components/usb/models.pyi +0 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
- homeassistant-stubs/components/vallox/__init__.pyi +1 -2
- homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -2
- homeassistant-stubs/components/vallox/number.pyi +0 -2
- homeassistant-stubs/components/vallox/sensor.pyi +0 -1
- homeassistant-stubs/components/vallox/switch.pyi +0 -2
- homeassistant-stubs/components/velbus/button.pyi +1 -1
- homeassistant-stubs/components/velbus/climate.pyi +1 -1
- homeassistant-stubs/components/velbus/cover.pyi +1 -1
- homeassistant-stubs/components/velbus/entity.pyi +9 -1
- homeassistant-stubs/components/velbus/light.pyi +1 -1
- homeassistant-stubs/components/velbus/select.pyi +1 -1
- homeassistant-stubs/components/velbus/switch.pyi +1 -1
- homeassistant-stubs/components/vlc_telnet/media_player.pyi +3 -4
- homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
- homeassistant-stubs/components/wallbox/number.pyi +0 -1
- homeassistant-stubs/components/wallbox/sensor.pyi +0 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +0 -1
- homeassistant-stubs/components/watttime/sensor.pyi +2 -1
- homeassistant-stubs/components/weather/__init__.pyi +60 -34
- homeassistant-stubs/components/weather/websocket_api.pyi +1 -0
- homeassistant-stubs/components/webostv/media_player.pyi +3 -3
- homeassistant-stubs/components/wemo/entity.pyi +1 -1
- homeassistant-stubs/components/wemo/light.pyi +1 -2
- homeassistant-stubs/components/wemo/models.pyi +0 -2
- homeassistant-stubs/components/wemo/sensor.pyi +0 -1
- homeassistant-stubs/components/wemo/wemo_device.pyi +1 -4
- homeassistant-stubs/components/whois/sensor.pyi +1 -4
- homeassistant-stubs/components/wiz/entity.pyi +2 -2
- homeassistant-stubs/components/wiz/models.pyi +0 -1
- homeassistant-stubs/components/wiz/number.pyi +0 -2
- homeassistant-stubs/components/wled/helpers.pyi +3 -2
- homeassistant-stubs/components/wled/models.pyi +1 -2
- homeassistant-stubs/components/wled/number.pyi +0 -2
- homeassistant-stubs/components/wled/sensor.pyi +0 -2
- homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -1
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +1 -1
- homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -1
- homeassistant-stubs/components/yale_smart_alarm/entity.pyi +2 -2
- homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
- homeassistant-stubs/components/yalexs_ble/entity.pyi +2 -1
- homeassistant-stubs/components/yalexs_ble/models.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/sensor.pyi +0 -2
- homeassistant-stubs/components/zeroconf/__init__.pyi +0 -1
- homeassistant-stubs/components/zodiac/sensor.pyi +1 -2
- homeassistant-stubs/components/zwave_js/__init__.pyi +2 -0
- homeassistant-stubs/components/zwave_js/api.pyi +1 -1
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +0 -3
- homeassistant-stubs/components/zwave_js/device_action.pyi +2 -2
- homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -4
- homeassistant-stubs/components/zwave_js/device_condition.pyi +2 -2
- homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -2
- homeassistant-stubs/components/zwave_js/discovery.pyi +0 -5
- homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +0 -12
- homeassistant-stubs/components/zwave_js/entity.pyi +4 -3
- homeassistant-stubs/components/zwave_js/helpers.pyi +1 -4
- homeassistant-stubs/components/zwave_js/humidifier.pyi +0 -2
- homeassistant-stubs/components/zwave_js/migrate.pyi +0 -1
- homeassistant-stubs/components/zwave_js/repairs.pyi +15 -0
- homeassistant-stubs/components/zwave_js/sensor.pyi +21 -2
- homeassistant-stubs/components/zwave_js/services.pyi +0 -1
- homeassistant-stubs/components/zwave_js/update.pyi +0 -1
- homeassistant-stubs/config_entries.pyi +3 -0
- homeassistant-stubs/const.pyi +2 -0
- homeassistant-stubs/core.pyi +6 -5
- homeassistant-stubs/data_entry_flow.pyi +7 -4
- homeassistant-stubs/exceptions.pyi +0 -4
- homeassistant-stubs/helpers/collection.pyi +0 -1
- homeassistant-stubs/helpers/deprecation.pyi +3 -2
- homeassistant-stubs/helpers/device_registry.pyi +18 -2
- homeassistant-stubs/helpers/entity.pyi +4 -22
- homeassistant-stubs/helpers/entity_registry.pyi +1 -2
- homeassistant-stubs/helpers/event.pyi +5 -7
- homeassistant-stubs/helpers/integration_platform.pyi +0 -1
- homeassistant-stubs/helpers/intent.pyi +0 -1
- homeassistant-stubs/helpers/issue_registry.pyi +3 -3
- homeassistant-stubs/helpers/recorder.pyi +0 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +6 -7
- homeassistant-stubs/helpers/script.pyi +7 -2
- homeassistant-stubs/helpers/selector.pyi +1 -0
- homeassistant-stubs/helpers/sensor.pyi +1 -1
- homeassistant-stubs/helpers/service.pyi +0 -1
- homeassistant-stubs/helpers/service_info/mqtt.pyi +0 -1
- homeassistant-stubs/helpers/storage.pyi +2 -1
- homeassistant-stubs/helpers/template.pyi +9 -15
- homeassistant-stubs/helpers/trigger.pyi +0 -1
- homeassistant-stubs/helpers/trigger_template_entity.pyi +62 -0
- homeassistant-stubs/helpers/update_coordinator.pyi +7 -1
- homeassistant-stubs/loader.pyi +3 -2
- homeassistant-stubs/runner.pyi +0 -2
- homeassistant-stubs/scripts/check_config.pyi +1 -1
- homeassistant-stubs/util/async_.pyi +2 -2
- homeassistant-stubs/util/language.pyi +0 -2
- homeassistant-stubs/util/pil.pyi +1 -1
- homeassistant-stubs/util/variance.pyi +3 -2
- homeassistant-stubs/util/yaml/objects.pyi +0 -1
- {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/METADATA +3 -3
- {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/RECORD +792 -721
- homeassistant-stubs/components/nest/binary_sensor.pyi +0 -7
- homeassistant-stubs/helpers/template_entity.pyi +0 -107
- {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/WHEEL +0 -0
@@ -1,10 +1,10 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .error import PipelineNotFound as PipelineNotFound
|
3
|
-
from .pipeline import Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines
|
3
|
+
from .pipeline import Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, PipelineStage, WakeWordSettings as WakeWordSettings, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines
|
4
4
|
from collections.abc import AsyncIterable
|
5
5
|
from homeassistant.components import stt
|
6
6
|
from homeassistant.core import Context, HomeAssistant
|
7
7
|
from homeassistant.helpers.typing import ConfigType
|
8
8
|
|
9
9
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
10
|
-
async def async_pipeline_from_audio_stream(hass: HomeAssistant, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], pipeline_id: str | None = ..., conversation_id: str | None = ..., tts_audio_output: str | None = ..., device_id: str | None = ...) -> None: ...
|
10
|
+
async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], pipeline_id: str | None = ..., conversation_id: str | None = ..., tts_audio_output: str | None = ..., wake_word_settings: WakeWordSettings | None = ..., device_id: str | None = ..., start_stage: PipelineStage = ..., end_stage: PipelineStage = ...) -> None: ...
|
@@ -7,6 +7,8 @@ class PipelineError(HomeAssistantError):
|
|
7
7
|
def __init__(self, code: str, message: str) -> None: ...
|
8
8
|
|
9
9
|
class PipelineNotFound(PipelineError): ...
|
10
|
+
class WakeWordDetectionError(PipelineError): ...
|
11
|
+
class WakeWordTimeoutError(WakeWordDetectionError): ...
|
10
12
|
class SpeechToTextError(PipelineError): ...
|
11
13
|
class IntentRecognitionError(PipelineError): ...
|
12
14
|
class TextToSpeechError(PipelineError): ...
|
@@ -1,15 +1,20 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
2
|
-
from .error import IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError
|
1
|
+
from .const import DATA_CONFIG as DATA_CONFIG, DOMAIN as DOMAIN
|
2
|
+
from .error import IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
|
3
|
+
from .ring_buffer import RingBuffer as RingBuffer
|
4
|
+
from .vad import VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter
|
3
5
|
from _typeshed import Incomplete
|
4
|
-
from collections.abc import AsyncIterable, Callable, Iterable
|
6
|
+
from collections.abc import AsyncGenerator, AsyncIterable, Callable, Iterable
|
5
7
|
from enum import StrEnum
|
6
|
-
from homeassistant.components import conversation as conversation, media_source as media_source, stt as stt, tts as tts, websocket_api as websocket_api
|
8
|
+
from homeassistant.components import conversation as conversation, media_source as media_source, stt as stt, tts as tts, wake_word as wake_word, websocket_api as websocket_api
|
7
9
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
|
8
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
11
|
from homeassistant.helpers.collection import CollectionError as CollectionError, ItemNotFound as ItemNotFound, SerializedStorageCollection as SerializedStorageCollection, StorageCollection as StorageCollection, StorageCollectionWebsocket as StorageCollectionWebsocket
|
10
12
|
from homeassistant.helpers.singleton import singleton as singleton
|
11
13
|
from homeassistant.helpers.storage import Store as Store
|
12
14
|
from homeassistant.util.limited_size_dict import LimitedSizeDict as LimitedSizeDict
|
15
|
+
from pathlib import Path
|
16
|
+
from queue import Queue
|
17
|
+
from threading import Thread
|
13
18
|
from typing import Any
|
14
19
|
|
15
20
|
_LOGGER: Incomplete
|
@@ -32,7 +37,11 @@ def async_get_pipelines(hass: HomeAssistant) -> Iterable[Pipeline]: ...
|
|
32
37
|
class PipelineEventType(StrEnum):
|
33
38
|
RUN_START: str
|
34
39
|
RUN_END: str
|
40
|
+
WAKE_WORD_START: str
|
41
|
+
WAKE_WORD_END: str
|
35
42
|
STT_START: str
|
43
|
+
STT_VAD_START: str
|
44
|
+
STT_VAD_END: str
|
36
45
|
STT_END: str
|
37
46
|
INTENT_START: str
|
38
47
|
INTENT_END: str
|
@@ -45,7 +54,6 @@ class PipelineEvent:
|
|
45
54
|
data: dict[str, Any] | None
|
46
55
|
timestamp: str
|
47
56
|
def __init__(self, type, data, timestamp) -> None: ...
|
48
|
-
def __mypy-replace(*, type, data, timestamp) -> None: ...
|
49
57
|
PipelineEventCallback = Callable[[PipelineEvent], None]
|
50
58
|
|
51
59
|
class Pipeline:
|
@@ -61,9 +69,9 @@ class Pipeline:
|
|
61
69
|
id: str
|
62
70
|
def to_json(self) -> dict[str, Any]: ...
|
63
71
|
def __init__(self, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, id) -> None: ...
|
64
|
-
def __mypy-replace(*, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, id) -> None: ...
|
65
72
|
|
66
73
|
class PipelineStage(StrEnum):
|
74
|
+
WAKE_WORD: str
|
67
75
|
STT: str
|
68
76
|
INTENT: str
|
69
77
|
TTS: str
|
@@ -75,6 +83,11 @@ class PipelineRunValidationError(Exception): ...
|
|
75
83
|
class InvalidPipelineStagesError(PipelineRunValidationError):
|
76
84
|
def __init__(self, start_stage: PipelineStage, end_stage: PipelineStage) -> None: ...
|
77
85
|
|
86
|
+
class WakeWordSettings:
|
87
|
+
timeout: float | None
|
88
|
+
audio_seconds_to_buffer: float
|
89
|
+
def __init__(self, timeout, audio_seconds_to_buffer) -> None: ...
|
90
|
+
|
78
91
|
class PipelineRun:
|
79
92
|
hass: HomeAssistant
|
80
93
|
context: Context
|
@@ -86,23 +99,34 @@ class PipelineRun:
|
|
86
99
|
runner_data: Any | None
|
87
100
|
intent_agent: str | None
|
88
101
|
tts_audio_output: str | None
|
102
|
+
wake_word_settings: WakeWordSettings | None
|
89
103
|
id: str
|
90
104
|
stt_provider: stt.SpeechToTextEntity | stt.Provider
|
91
105
|
tts_engine: str
|
92
106
|
tts_options: dict | None
|
107
|
+
wake_word_engine: str
|
108
|
+
wake_word_provider: wake_word.WakeWordDetectionEntity
|
109
|
+
debug_recording_thread: Thread | None
|
110
|
+
debug_recording_queue: Queue[str | bytes | None] | None
|
93
111
|
def __post_init__(self) -> None: ...
|
94
112
|
def process_event(self, event: PipelineEvent) -> None: ...
|
95
|
-
def start(self) -> None: ...
|
96
|
-
def end(self) -> None: ...
|
113
|
+
def start(self, device_id: str | None) -> None: ...
|
114
|
+
async def end(self) -> None: ...
|
115
|
+
async def prepare_wake_word_detection(self) -> None: ...
|
116
|
+
async def wake_word_detection(self, stream: AsyncIterable[bytes], audio_chunks_for_stt: list[bytes]) -> wake_word.DetectionResult | None: ...
|
117
|
+
async def _wake_word_audio_stream(self, audio_stream: AsyncIterable[bytes], stt_audio_buffer: RingBuffer | None, wake_word_vad: VoiceActivityTimeout | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncIterable[tuple[bytes, int]]: ...
|
97
118
|
async def prepare_speech_to_text(self, metadata: stt.SpeechMetadata) -> None: ...
|
98
119
|
async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[bytes]) -> str: ...
|
120
|
+
async def _speech_to_text_stream(self, audio_stream: AsyncIterable[bytes], stt_vad: VoiceCommandSegmenter | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[bytes, None]: ...
|
99
121
|
async def prepare_recognize_intent(self) -> None: ...
|
100
122
|
async def recognize_intent(self, intent_input: str, conversation_id: str | None, device_id: str | None) -> str: ...
|
101
123
|
async def prepare_text_to_speech(self) -> None: ...
|
102
124
|
async def text_to_speech(self, tts_input: str) -> str: ...
|
103
|
-
def
|
104
|
-
def
|
105
|
-
def
|
125
|
+
def _start_debug_recording_thread(self, device_id: str | None) -> None: ...
|
126
|
+
async def _stop_debug_recording_thread(self) -> None: ...
|
127
|
+
def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language, runner_data, intent_agent, tts_audio_output, wake_word_settings, id, debug_recording_thread, debug_recording_queue) -> None: ...
|
128
|
+
|
129
|
+
def _pipeline_debug_recording_thread_proc(run_recording_dir: Path, queue: Queue[str | bytes | None], message_timeout: float = ...) -> None: ...
|
106
130
|
|
107
131
|
class PipelineInput:
|
108
132
|
run: PipelineRun
|
@@ -115,7 +139,6 @@ class PipelineInput:
|
|
115
139
|
async def execute(self) -> None: ...
|
116
140
|
async def validate(self) -> None: ...
|
117
141
|
def __init__(self, run, stt_metadata, stt_stream, intent_input, tts_input, conversation_id, device_id) -> None: ...
|
118
|
-
def __mypy-replace(*, run, stt_metadata, stt_stream, intent_input, tts_input, conversation_id, device_id) -> None: ...
|
119
142
|
|
120
143
|
class PipelinePreferred(CollectionError):
|
121
144
|
item_id: Incomplete
|
@@ -150,12 +173,10 @@ class PipelineData:
|
|
150
173
|
pipeline_store: PipelineStorageCollection
|
151
174
|
pipeline_devices: set[str]
|
152
175
|
def __init__(self, pipeline_runs, pipeline_store) -> None: ...
|
153
|
-
def __mypy-replace(*, pipeline_runs, pipeline_store, pipeline_devices) -> None: ...
|
154
176
|
|
155
177
|
class PipelineRunDebug:
|
156
178
|
events: list[PipelineEvent]
|
157
179
|
timestamp: str
|
158
180
|
def __init__(self) -> None: ...
|
159
|
-
def __mypy-replace(*, events, timestamp) -> None: ...
|
160
181
|
|
161
182
|
async def async_setup_pipeline_store(hass: HomeAssistant) -> PipelineData: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
|
3
|
+
class RingBuffer:
|
4
|
+
_buffer: Incomplete
|
5
|
+
_pos: int
|
6
|
+
_length: int
|
7
|
+
_maxlen: Incomplete
|
8
|
+
def __init__(self, maxlen: int) -> None: ...
|
9
|
+
@property
|
10
|
+
def maxlen(self) -> int: ...
|
11
|
+
@property
|
12
|
+
def pos(self) -> int: ...
|
13
|
+
def __len__(self) -> int: ...
|
14
|
+
def put(self, data: bytes) -> None: ...
|
15
|
+
def getvalue(self) -> bytes: ...
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import webrtcvad
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Iterable
|
2
4
|
from enum import StrEnum
|
5
|
+
from typing import Final
|
3
6
|
|
4
|
-
_SAMPLE_RATE: int
|
7
|
+
_SAMPLE_RATE: Final[int]
|
8
|
+
_SAMPLE_WIDTH: Final[int]
|
5
9
|
|
6
10
|
class VadSensitivity(StrEnum):
|
7
11
|
DEFAULT: str
|
@@ -10,9 +14,21 @@ class VadSensitivity(StrEnum):
|
|
10
14
|
@staticmethod
|
11
15
|
def to_seconds(sensitivity: VadSensitivity | str) -> float: ...
|
12
16
|
|
17
|
+
class AudioBuffer:
|
18
|
+
_buffer: Incomplete
|
19
|
+
_length: int
|
20
|
+
def __init__(self, maxlen: int) -> None: ...
|
21
|
+
@property
|
22
|
+
def length(self) -> int: ...
|
23
|
+
def clear(self) -> None: ...
|
24
|
+
def append(self, data: bytes) -> None: ...
|
25
|
+
def bytes(self) -> bytes: ...
|
26
|
+
def __len__(self) -> int: ...
|
27
|
+
def __bool__(self) -> bool: ...
|
28
|
+
|
13
29
|
class VoiceCommandSegmenter:
|
14
30
|
vad_mode: int
|
15
|
-
|
31
|
+
vad_samples_per_chunk: int
|
16
32
|
speech_seconds: float
|
17
33
|
silence_seconds: float
|
18
34
|
timeout_seconds: float
|
@@ -23,13 +39,32 @@ class VoiceCommandSegmenter:
|
|
23
39
|
_timeout_seconds_left: float
|
24
40
|
_reset_seconds_left: float
|
25
41
|
_vad: webrtcvad.Vad
|
26
|
-
|
42
|
+
_leftover_chunk_buffer: AudioBuffer
|
27
43
|
_bytes_per_chunk: int
|
28
44
|
_seconds_per_chunk: float
|
29
45
|
def __post_init__(self) -> None: ...
|
30
46
|
def reset(self) -> None: ...
|
31
47
|
def process(self, samples: bytes) -> bool: ...
|
48
|
+
@property
|
49
|
+
def audio_buffer(self) -> bytes: ...
|
32
50
|
def _process_chunk(self, chunk: bytes) -> bool: ...
|
33
|
-
def __init__(self, vad_mode,
|
34
|
-
|
35
|
-
|
51
|
+
def __init__(self, vad_mode, vad_samples_per_chunk, speech_seconds, silence_seconds, timeout_seconds, reset_seconds, in_command, _speech_seconds_left, _silence_seconds_left, _timeout_seconds_left, _reset_seconds_left, _vad) -> None: ...
|
52
|
+
|
53
|
+
class VoiceActivityTimeout:
|
54
|
+
silence_seconds: float
|
55
|
+
reset_seconds: float
|
56
|
+
vad_mode: int
|
57
|
+
vad_samples_per_chunk: int
|
58
|
+
_silence_seconds_left: float
|
59
|
+
_reset_seconds_left: float
|
60
|
+
_vad: webrtcvad.Vad
|
61
|
+
_leftover_chunk_buffer: AudioBuffer
|
62
|
+
_bytes_per_chunk: int
|
63
|
+
_seconds_per_chunk: float
|
64
|
+
def __post_init__(self) -> None: ...
|
65
|
+
def reset(self) -> None: ...
|
66
|
+
def process(self, samples: bytes) -> bool: ...
|
67
|
+
def _process_chunk(self, chunk: bytes) -> bool: ...
|
68
|
+
def __init__(self, silence_seconds, reset_seconds, vad_mode, vad_samples_per_chunk, _silence_seconds_left, _reset_seconds_left, _vad) -> None: ...
|
69
|
+
|
70
|
+
def chunk_samples(samples: bytes, bytes_per_chunk: int, leftover_chunk_buffer: AudioBuffer) -> Iterable[bytes]: ...
|
@@ -1,7 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .error import PipelineNotFound as PipelineNotFound
|
3
|
-
from .pipeline import PipelineData as PipelineData, PipelineError as PipelineError, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineInput as PipelineInput, PipelineRun as PipelineRun, PipelineStage as PipelineStage, async_get_pipeline as async_get_pipeline
|
4
|
-
from .vad import VoiceCommandSegmenter as VoiceCommandSegmenter
|
3
|
+
from .pipeline import PipelineData as PipelineData, PipelineError as PipelineError, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineInput as PipelineInput, PipelineRun as PipelineRun, PipelineStage as PipelineStage, WakeWordSettings as WakeWordSettings, async_get_pipeline as async_get_pipeline
|
5
4
|
from _typeshed import Incomplete
|
6
5
|
from collections.abc import Callable as Callable
|
7
6
|
from homeassistant.components import conversation as conversation, stt as stt, tts as tts, websocket_api as websocket_api
|
@@ -10,6 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
10
9
|
from typing import Any
|
11
10
|
|
12
11
|
DEFAULT_TIMEOUT: int
|
12
|
+
DEFAULT_WAKE_WORD_TIMEOUT: int
|
13
13
|
_LOGGER: Incomplete
|
14
14
|
|
15
15
|
def async_register_websocket_api(hass: HomeAssistant) -> None: ...
|
@@ -7,9 +7,8 @@ from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_C
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
10
|
-
from homeassistant.helpers.device_registry import format_mac as format_mac
|
10
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, format_mac as format_mac
|
11
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
12
|
-
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
|
13
12
|
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
14
13
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
15
14
|
from homeassistant.util import slugify as slugify
|
@@ -12,7 +12,6 @@ from homeassistant.util import slugify as slugify
|
|
12
12
|
class AsusWrtSensorEntityDescription(SensorEntityDescription):
|
13
13
|
factor: int | None
|
14
14
|
def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, factor) -> None: ...
|
15
|
-
def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, factor) -> None: ...
|
16
15
|
|
17
16
|
UNIT_DEVICES: str
|
18
17
|
CONNECTION_SENSORS: tuple[AsusWrtSensorEntityDescription, ...]
|
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
|
|
3
3
|
from aiohttp import web
|
4
4
|
from collections.abc import Callable
|
5
5
|
from homeassistant.auth import InvalidAuthError as InvalidAuthError
|
6
|
-
from homeassistant.auth.models import Credentials as Credentials, TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN as TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN, User as User
|
6
|
+
from homeassistant.auth.models import Credentials as Credentials, RefreshToken as RefreshToken, TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN as TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN, User as User
|
7
7
|
from homeassistant.components import websocket_api as websocket_api
|
8
8
|
from homeassistant.components.http.auth import async_sign_path as async_sign_path, async_user_not_allowed_do_auth as async_user_not_allowed_do_auth
|
9
9
|
from homeassistant.components.http.ban import log_invalid_auth as log_invalid_auth
|
@@ -54,4 +54,5 @@ async def websocket_current_user(hass: HomeAssistant, connection: websocket_api.
|
|
54
54
|
async def websocket_create_long_lived_access_token(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
55
55
|
def websocket_refresh_tokens(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
56
56
|
async def websocket_delete_refresh_token(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
57
|
+
async def websocket_delete_all_refresh_tokens(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
57
58
|
def websocket_sign_path(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -146,7 +146,6 @@ class AutomationEntityConfig:
|
|
146
146
|
raw_config: ConfigType | None
|
147
147
|
validation_failed: bool
|
148
148
|
def __init__(self, config_block, list_no, raw_blueprint_inputs, raw_config, validation_failed) -> None: ...
|
149
|
-
def __mypy-replace(*, config_block, list_no, raw_blueprint_inputs, raw_config, validation_failed) -> None: ...
|
150
149
|
|
151
150
|
async def _prepare_automation_config(hass: HomeAssistant, config: ConfigType) -> list[AutomationEntityConfig]: ...
|
152
151
|
def _automation_name(automation_config: AutomationEntityConfig) -> str: ...
|
@@ -21,7 +21,6 @@ class AwairResult:
|
|
21
21
|
device: AwairBaseDevice
|
22
22
|
air_data: AirData
|
23
23
|
def __init__(self, device, air_data) -> None: ...
|
24
|
-
def __mypy-replace(*, device, air_data) -> None: ...
|
25
24
|
|
26
25
|
class AwairDataUpdateCoordinator(DataUpdateCoordinator[dict[str, AwairResult]]):
|
27
26
|
_config_entry: Incomplete
|
@@ -5,7 +5,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_SW_VERSION as ATTR_SW_VERSION, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from homeassistant.helpers.
|
8
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
11
11
|
from python_awair.air_data import AirData as AirData
|
@@ -17,11 +17,9 @@ DUST_ALIASES: Incomplete
|
|
17
17
|
class AwairRequiredKeysMixin:
|
18
18
|
unique_id_tag: str
|
19
19
|
def __init__(self, unique_id_tag) -> None: ...
|
20
|
-
def __mypy-replace(*, unique_id_tag) -> None: ...
|
21
20
|
|
22
21
|
class AwairSensorEntityDescription(SensorEntityDescription, AwairRequiredKeysMixin):
|
23
22
|
def __init__(self, unique_id_tag, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
24
|
-
def __mypy-replace(*, unique_id_tag, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
25
23
|
|
26
24
|
SENSOR_TYPE_SCORE: Incomplete
|
27
25
|
SENSOR_TYPES: tuple[AwairSensorEntityDescription, ...]
|
@@ -18,7 +18,6 @@ class Backup:
|
|
18
18
|
size: float
|
19
19
|
def as_dict(self) -> dict: ...
|
20
20
|
def __init__(self, slug, name, date, path, size) -> None: ...
|
21
|
-
def __mypy-replace(*, slug, name, date, path, size) -> None: ...
|
22
21
|
|
23
22
|
class BackupPlatformProtocol(Protocol):
|
24
23
|
async def async_pre_backup(self, hass: HomeAssistant) -> None: ...
|
@@ -12,11 +12,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
12
12
|
class BAFBinarySensorDescriptionMixin:
|
13
13
|
value_fn: Callable[[Device], bool | None]
|
14
14
|
def __init__(self, value_fn) -> None: ...
|
15
|
-
def __mypy-replace(*, value_fn) -> None: ...
|
16
15
|
|
17
16
|
class BAFBinarySensorDescription(BinarySensorEntityDescription, BAFBinarySensorDescriptionMixin):
|
18
17
|
def __init__(self, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
19
|
-
def __mypy-replace(*, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
20
18
|
|
21
19
|
OCCUPANCY_SENSORS: Incomplete
|
22
20
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from aiobafi6 import Device as Device
|
3
3
|
from homeassistant.core import callback as callback
|
4
|
-
from homeassistant.helpers.device_registry import format_mac as format_mac
|
5
|
-
from homeassistant.helpers.entity import
|
4
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, format_mac as format_mac
|
5
|
+
from homeassistant.helpers.entity import Entity as Entity
|
6
6
|
|
7
7
|
class BAFEntity(Entity):
|
8
8
|
_attr_should_poll: bool
|
@@ -13,6 +13,7 @@ from typing import Any
|
|
13
13
|
async def async_setup_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
14
14
|
|
15
15
|
class BAFLight(BAFEntity, LightEntity):
|
16
|
+
_attr_name: Incomplete
|
16
17
|
_attr_is_on: Incomplete
|
17
18
|
_attr_brightness: Incomplete
|
18
19
|
def _async_update_attrs(self) -> None: ...
|
@@ -20,10 +21,8 @@ class BAFLight(BAFEntity, LightEntity):
|
|
20
21
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
21
22
|
|
22
23
|
class BAFFanLight(BAFLight):
|
23
|
-
_attr_name: Incomplete
|
24
24
|
_attr_supported_color_modes: Incomplete
|
25
25
|
_attr_color_mode: Incomplete
|
26
|
-
def __init__(self, device: Device) -> None: ...
|
27
26
|
|
28
27
|
class BAFStandaloneLight(BAFLight):
|
29
28
|
_attr_supported_color_modes: Incomplete
|
@@ -5,7 +5,6 @@ class BAFData:
|
|
5
5
|
device: Device
|
6
6
|
run_future: asyncio.Future
|
7
7
|
def __init__(self, device, run_future) -> None: ...
|
8
|
-
def __mypy-replace(*, device, run_future) -> None: ...
|
9
8
|
|
10
9
|
class BAFDiscovery:
|
11
10
|
ip_address: str
|
@@ -13,4 +12,3 @@ class BAFDiscovery:
|
|
13
12
|
uuid: str
|
14
13
|
model: str
|
15
14
|
def __init__(self, ip_address, name, uuid, model) -> None: ...
|
16
|
-
def __mypy-replace(*, ip_address, name, uuid, model) -> None: ...
|
@@ -13,11 +13,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
13
13
|
class BAFNumberDescriptionMixin:
|
14
14
|
value_fn: Callable[[Device], int | None]
|
15
15
|
def __init__(self, value_fn) -> None: ...
|
16
|
-
def __mypy-replace(*, value_fn) -> None: ...
|
17
16
|
|
18
17
|
class BAFNumberDescription(NumberEntityDescription, BAFNumberDescriptionMixin):
|
19
18
|
def __init__(self, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step) -> None: ...
|
20
|
-
def __mypy-replace(*, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step) -> None: ...
|
21
19
|
|
22
20
|
AUTO_COMFORT_NUMBER_DESCRIPTIONS: Incomplete
|
23
21
|
FAN_NUMBER_DESCRIPTIONS: Incomplete
|
@@ -13,11 +13,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
13
13
|
class BAFSensorDescriptionMixin:
|
14
14
|
value_fn: Callable[[Device], int | float | str | None]
|
15
15
|
def __init__(self, value_fn) -> None: ...
|
16
|
-
def __mypy-replace(*, value_fn) -> None: ...
|
17
16
|
|
18
17
|
class BAFSensorDescription(SensorEntityDescription, BAFSensorDescriptionMixin):
|
19
18
|
def __init__(self, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
20
|
-
def __mypy-replace(*, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
21
19
|
|
22
20
|
AUTO_COMFORT_SENSORS: Incomplete
|
23
21
|
DEFINED_ONLY_SENSORS: Incomplete
|
@@ -14,11 +14,9 @@ from typing import Any
|
|
14
14
|
class BAFSwitchDescriptionMixin:
|
15
15
|
value_fn: Callable[[Device], bool | None]
|
16
16
|
def __init__(self, value_fn) -> None: ...
|
17
|
-
def __mypy-replace(*, value_fn) -> None: ...
|
18
17
|
|
19
18
|
class BAFSwitchDescription(SwitchEntityDescription, BAFSwitchDescriptionMixin):
|
20
19
|
def __init__(self, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
21
|
-
def __mypy-replace(*, value_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
22
20
|
|
23
21
|
BASE_SWITCHES: Incomplete
|
24
22
|
AUTO_COMFORT_SWITCHES: Incomplete
|
@@ -19,4 +19,3 @@ class Observation:
|
|
19
19
|
@property
|
20
20
|
def template(self) -> str | None: ...
|
21
21
|
def __init__(self, entity_id, platform, prob_given_true, prob_given_false, to_state, above, below, value_template, observed, id) -> None: ...
|
22
|
-
def __mypy-replace(*, entity_id, platform, prob_given_true, prob_given_false, to_state, above, below, value_template, observed, id) -> None: ...
|
@@ -82,7 +82,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: .
|
|
82
82
|
class BinarySensorEntityDescription(EntityDescription):
|
83
83
|
device_class: BinarySensorDeviceClass | None
|
84
84
|
def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
85
|
-
def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
86
85
|
|
87
86
|
class BinarySensorEntity(Entity):
|
88
87
|
entity_description: BinarySensorEntityDescription
|
@@ -23,7 +23,6 @@ class BluetoothScannerDevice:
|
|
23
23
|
ble_device: BLEDevice
|
24
24
|
advertisement: AdvertisementData
|
25
25
|
def __init__(self, scanner, ble_device, advertisement) -> None: ...
|
26
|
-
def __mypy-replace(*, scanner, ble_device, advertisement) -> None: ...
|
27
26
|
|
28
27
|
class BaseHaScanner(ABC, metaclass=abc.ABCMeta):
|
29
28
|
__slots__: Incomplete
|
@@ -33,7 +33,6 @@ class IntegrationMatchHistory:
|
|
33
33
|
service_data: set[str]
|
34
34
|
service_uuids: set[str]
|
35
35
|
def __init__(self, manufacturer_data, service_data, service_uuids) -> None: ...
|
36
|
-
def __mypy-replace(*, manufacturer_data, service_data, service_uuids) -> None: ...
|
37
36
|
|
38
37
|
def seen_all_fields(previous_match: IntegrationMatchHistory, advertisement_data: AdvertisementData) -> bool: ...
|
39
38
|
|
@@ -15,7 +15,6 @@ class HaBluetoothConnector:
|
|
15
15
|
source: str
|
16
16
|
can_connect: Callable[[], bool]
|
17
17
|
def __init__(self, client, source, can_connect) -> None: ...
|
18
|
-
def __mypy-replace(*, client, source, can_connect) -> None: ...
|
19
18
|
|
20
19
|
class BluetoothScanningMode(Enum):
|
21
20
|
PASSIVE: str
|
@@ -1,57 +1,96 @@
|
|
1
1
|
import logging
|
2
|
-
from . import BluetoothChange as BluetoothChange, BluetoothScanningMode as BluetoothScanningMode, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
3
2
|
from .const import DOMAIN as DOMAIN
|
3
|
+
from .models import BluetoothChange as BluetoothChange, BluetoothScanningMode as BluetoothScanningMode, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
4
4
|
from .update_coordinator import BasePassiveBluetoothCoordinator as BasePassiveBluetoothCoordinator
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from collections.abc import Callable as Callable
|
7
|
-
from homeassistant
|
8
|
-
from homeassistant.
|
9
|
-
from homeassistant.
|
10
|
-
from homeassistant.helpers.
|
11
|
-
from
|
6
|
+
from collections.abc import Callable as Callable
|
7
|
+
from homeassistant import config_entries as config_entries
|
8
|
+
from homeassistant.const import ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, ATTR_NAME as ATTR_NAME, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EntityCategory as EntityCategory
|
9
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
11
|
+
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
|
13
|
+
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
14
|
+
from homeassistant.helpers.storage import Store as Store
|
15
|
+
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
16
|
+
from typing import Any, Generic, TypeVar, TypedDict
|
17
|
+
|
18
|
+
STORAGE_KEY: str
|
19
|
+
STORAGE_VERSION: int
|
20
|
+
STORAGE_SAVE_INTERVAL: Incomplete
|
21
|
+
PASSIVE_UPDATE_PROCESSOR: str
|
22
|
+
_T = TypeVar('_T')
|
12
23
|
|
13
24
|
class PassiveBluetoothEntityKey:
|
14
25
|
key: str
|
15
26
|
device_id: str | None
|
27
|
+
def to_string(self) -> str: ...
|
28
|
+
@classmethod
|
29
|
+
def from_string(cls, key: str) -> PassiveBluetoothEntityKey: ...
|
16
30
|
def __init__(self, key, device_id) -> None: ...
|
17
|
-
|
18
|
-
|
31
|
+
|
32
|
+
class PassiveBluetoothProcessorData:
|
33
|
+
coordinators: set[PassiveBluetoothProcessorCoordinator]
|
34
|
+
all_restore_data: dict[str, dict[str, RestoredPassiveBluetoothDataUpdate]]
|
35
|
+
def __init__(self, coordinators, all_restore_data) -> None: ...
|
36
|
+
|
37
|
+
class RestoredPassiveBluetoothDataUpdate(TypedDict):
|
38
|
+
devices: dict[str, DeviceInfo]
|
39
|
+
entity_descriptions: dict[str, dict[str, Any]]
|
40
|
+
entity_names: dict[str, str | None]
|
41
|
+
entity_data: dict[str, Any]
|
42
|
+
|
43
|
+
cached_fields: Incomplete
|
44
|
+
|
45
|
+
def deserialize_entity_description(descriptions_class: type[EntityDescription], data: dict[str, Any]) -> EntityDescription: ...
|
46
|
+
def serialize_entity_description(description: EntityDescription) -> dict[str, Any]: ...
|
19
47
|
|
20
48
|
class PassiveBluetoothDataUpdate(Generic[_T]):
|
21
49
|
devices: dict[str | None, DeviceInfo]
|
22
|
-
entity_descriptions:
|
23
|
-
entity_names:
|
24
|
-
entity_data:
|
50
|
+
entity_descriptions: dict[PassiveBluetoothEntityKey, EntityDescription]
|
51
|
+
entity_names: dict[PassiveBluetoothEntityKey, str | None]
|
52
|
+
entity_data: dict[PassiveBluetoothEntityKey, _T]
|
53
|
+
def update(self, new_data: PassiveBluetoothDataUpdate[_T]) -> None: ...
|
54
|
+
def async_get_restore_data(self) -> RestoredPassiveBluetoothDataUpdate: ...
|
55
|
+
def async_set_restore_data(self, restore_data: RestoredPassiveBluetoothDataUpdate, entity_description_class: type[EntityDescription]) -> None: ...
|
25
56
|
def __init__(self, devices, entity_descriptions, entity_names, entity_data) -> None: ...
|
26
|
-
|
57
|
+
|
58
|
+
def async_register_coordinator_for_restore(hass: HomeAssistant, coordinator: PassiveBluetoothProcessorCoordinator) -> CALLBACK_TYPE: ...
|
59
|
+
async def async_setup(hass: HomeAssistant) -> None: ...
|
27
60
|
|
28
61
|
class PassiveBluetoothProcessorCoordinator(BasePassiveBluetoothCoordinator, Generic[_T]):
|
29
62
|
_processors: Incomplete
|
30
63
|
_update_method: Incomplete
|
31
64
|
last_update_success: bool
|
65
|
+
restore_data: Incomplete
|
66
|
+
restore_key: Incomplete
|
32
67
|
def __init__(self, hass: HomeAssistant, logger: logging.Logger, address: str, mode: BluetoothScanningMode, update_method: Callable[[BluetoothServiceInfoBleak], _T], connectable: bool = ...) -> None: ...
|
33
68
|
@property
|
34
69
|
def available(self) -> bool: ...
|
35
|
-
def
|
70
|
+
def async_get_restore_data(self) -> dict[str, RestoredPassiveBluetoothDataUpdate]: ...
|
71
|
+
def async_register_processor(self, processor: PassiveBluetoothDataProcessor, entity_description_class: type[EntityDescription] | None = ...) -> Callable[[], None]: ...
|
36
72
|
def _async_handle_unavailable(self, service_info: BluetoothServiceInfoBleak) -> None: ...
|
37
73
|
def _async_handle_bluetooth_event(self, service_info: BluetoothServiceInfoBleak, change: BluetoothChange) -> None: ...
|
38
74
|
_PassiveBluetoothDataProcessorT = TypeVar('_PassiveBluetoothDataProcessorT', bound='PassiveBluetoothDataProcessor[Any]')
|
39
75
|
|
40
76
|
class PassiveBluetoothDataProcessor(Generic[_T]):
|
41
77
|
coordinator: PassiveBluetoothProcessorCoordinator
|
78
|
+
data: PassiveBluetoothDataUpdate[_T]
|
79
|
+
entity_names: dict[PassiveBluetoothEntityKey, str | None]
|
80
|
+
entity_data: dict[PassiveBluetoothEntityKey, _T]
|
81
|
+
entity_descriptions: dict[PassiveBluetoothEntityKey, EntityDescription]
|
82
|
+
devices: dict[str | None, DeviceInfo]
|
83
|
+
restore_key: str | None
|
42
84
|
_listeners: Incomplete
|
43
85
|
_entity_key_listeners: Incomplete
|
44
86
|
update_method: Incomplete
|
45
|
-
entity_names: Incomplete
|
46
|
-
entity_data: Incomplete
|
47
|
-
entity_descriptions: Incomplete
|
48
|
-
devices: Incomplete
|
49
87
|
last_update_success: bool
|
50
|
-
def __init__(self, update_method: Callable[[_T], PassiveBluetoothDataUpdate[_T]]) -> None: ...
|
88
|
+
def __init__(self, update_method: Callable[[_T], PassiveBluetoothDataUpdate[_T]], restore_key: str | None = ...) -> None: ...
|
89
|
+
def async_register_coordinator(self, coordinator: PassiveBluetoothProcessorCoordinator, entity_description_class: type[EntityDescription] | None) -> None: ...
|
51
90
|
@property
|
52
91
|
def available(self) -> bool: ...
|
53
92
|
def async_handle_unavailable(self) -> None: ...
|
54
|
-
def async_add_entities_listener(self, entity_class: type[PassiveBluetoothProcessorEntity],
|
93
|
+
def async_add_entities_listener(self, entity_class: type[PassiveBluetoothProcessorEntity], async_add_entities: AddEntitiesCallback) -> Callable[[], None]: ...
|
55
94
|
def async_add_listener(self, update_callback: Callable[[PassiveBluetoothDataUpdate[_T] | None], None]) -> Callable[[], None]: ...
|
56
95
|
def async_add_entity_key_listener(self, update_callback: Callable[[PassiveBluetoothDataUpdate[_T] | None], None], entity_key: PassiveBluetoothEntityKey) -> Callable[[], None]: ...
|
57
96
|
def async_update_listeners(self, data: PassiveBluetoothDataUpdate[_T] | None) -> None: ...
|