homeassistant-stubs 2024.7.4__py3-none-any.whl → 2024.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/auth/__init__.pyi +1 -1
- homeassistant-stubs/auth/permissions/events.pyi +3 -0
- homeassistant-stubs/auth/permissions/types.pyi +3 -4
- homeassistant-stubs/auth/permissions/util.pyi +1 -2
- homeassistant-stubs/auth/providers/trusted_networks.pyi +3 -2
- homeassistant-stubs/bootstrap.pyi +2 -2
- homeassistant-stubs/components/abode/__init__.pyi +1 -1
- homeassistant-stubs/components/abode/sensor.pyi +1 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
- homeassistant-stubs/components/adguard/sensor.pyi +1 -1
- homeassistant-stubs/components/adguard/switch.pyi +1 -1
- homeassistant-stubs/components/airgradient/__init__.pyi +2 -2
- homeassistant-stubs/components/airgradient/button.pyi +1 -1
- homeassistant-stubs/components/airgradient/coordinator.pyi +0 -4
- homeassistant-stubs/components/airgradient/number.pyi +1 -1
- homeassistant-stubs/components/airgradient/select.pyi +1 -1
- homeassistant-stubs/components/airgradient/sensor.pyi +2 -2
- homeassistant-stubs/components/airgradient/switch.pyi +1 -1
- homeassistant-stubs/components/airly/sensor.pyi +1 -1
- homeassistant-stubs/components/airnow/sensor.pyi +1 -1
- homeassistant-stubs/components/airq/sensor.pyi +1 -1
- homeassistant-stubs/components/airtouch5/climate.pyi +1 -0
- homeassistant-stubs/components/airtouch5/cover.pyi +34 -0
- homeassistant-stubs/components/airtouch5/entity.pyi +0 -2
- homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
- homeassistant-stubs/components/airvisual_pro/sensor.pyi +1 -1
- homeassistant-stubs/components/airzone/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/airzone/select.pyi +1 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/airzone_cloud/select.pyi +1 -1
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
- homeassistant-stubs/components/alarm_control_panel/const.pyi +8 -8
- homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
- homeassistant-stubs/components/alexa/entities.pyi +7 -3
- homeassistant-stubs/components/alexa/handlers.pyi +1 -1
- homeassistant-stubs/components/alexa/intent.pyi +4 -4
- homeassistant-stubs/components/amberelectric/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/amcrest/__init__.pyi +1 -1
- homeassistant-stubs/components/amcrest/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/analytics_insights/sensor.pyi +1 -1
- homeassistant-stubs/components/android_ip_webcam/sensor.pyi +1 -1
- homeassistant-stubs/components/android_ip_webcam/switch.pyi +1 -1
- homeassistant-stubs/components/anova/sensor.pyi +1 -1
- homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
- homeassistant-stubs/components/apcupsd/const.pyi +1 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +3 -2
- homeassistant-stubs/components/api/__init__.pyi +1 -1
- homeassistant-stubs/components/apsystems/__init__.pyi +2 -1
- homeassistant-stubs/components/apsystems/config_flow.pyi +2 -2
- homeassistant-stubs/components/apsystems/const.pyi +1 -0
- homeassistant-stubs/components/apsystems/sensor.pyi +1 -1
- homeassistant-stubs/components/apsystems/switch.pyi +21 -0
- homeassistant-stubs/components/aqualogic/sensor.pyi +1 -1
- homeassistant-stubs/components/aranet/sensor.pyi +1 -1
- homeassistant-stubs/components/arcam_fmj/__init__.pyi +3 -4
- homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -6
- homeassistant-stubs/components/arcam_fmj/const.pyi +0 -3
- homeassistant-stubs/components/arcam_fmj/media_player.pyi +2 -3
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +28 -0
- homeassistant-stubs/components/assist_pipeline/const.pyi +6 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +41 -50
- homeassistant-stubs/components/assist_pipeline/vad.pyi +8 -23
- homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
- homeassistant-stubs/components/asuswrt/bridge.pyi +2 -2
- homeassistant-stubs/components/asuswrt/sensor.pyi +1 -1
- homeassistant-stubs/components/autarco/__init__.pyi +11 -0
- homeassistant-stubs/components/autarco/config_flow.pyi +11 -0
- homeassistant-stubs/components/autarco/const.pyi +6 -0
- homeassistant-stubs/components/autarco/coordinator.pyi +18 -0
- homeassistant-stubs/components/autarco/diagnostics.pyi +5 -0
- homeassistant-stubs/components/autarco/sensor.pyi +49 -0
- homeassistant-stubs/components/auth/__init__.pyi +1 -1
- homeassistant-stubs/components/automation/config.pyi +6 -6
- homeassistant-stubs/components/automation/trace.pyi +1 -1
- homeassistant-stubs/components/awair/sensor.pyi +1 -1
- homeassistant-stubs/components/axis/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/axis/entity.pyi +1 -1
- homeassistant-stubs/components/axis/light.pyi +1 -1
- homeassistant-stubs/components/axis/switch.pyi +1 -1
- homeassistant-stubs/components/baf/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/baf/fan.pyi +1 -0
- homeassistant-stubs/components/baf/number.pyi +1 -1
- homeassistant-stubs/components/baf/sensor.pyi +1 -1
- homeassistant-stubs/components/baf/switch.pyi +1 -1
- homeassistant-stubs/components/bang_olufsen/const.pyi +26 -35
- homeassistant-stubs/components/bayesian/helpers.pyi +1 -1
- homeassistant-stubs/components/binary_sensor/__init__.pyi +29 -29
- homeassistant-stubs/components/blueprint/importer.pyi +4 -0
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +2 -2
- homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +9 -17
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +5 -5
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +4 -5
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +4 -4
- homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +4 -5
- homeassistant-stubs/components/bmw_connected_drive/entity.pyi +13 -0
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +3 -4
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +4 -8
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +4 -5
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +4 -5
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +6 -6
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +4 -5
- homeassistant-stubs/components/bond/button.pyi +5 -4
- homeassistant-stubs/components/bond/cover.pyi +3 -3
- homeassistant-stubs/components/bond/entity.pyi +4 -3
- homeassistant-stubs/components/bond/fan.pyi +3 -3
- homeassistant-stubs/components/bond/light.pyi +3 -3
- homeassistant-stubs/components/braviatv/button.pyi +1 -1
- homeassistant-stubs/components/braviatv/const.pyi +3 -3
- homeassistant-stubs/components/brother/sensor.pyi +1 -1
- homeassistant-stubs/components/bryant_evolution/__init__.pyi +17 -0
- homeassistant-stubs/components/bryant_evolution/climate.pyi +43 -0
- homeassistant-stubs/components/bryant_evolution/config_flow.pyi +15 -0
- homeassistant-stubs/components/bryant_evolution/const.pyi +2 -0
- homeassistant-stubs/components/bryant_evolution/names.pyi +5 -0
- homeassistant-stubs/components/bthome/__init__.pyi +5 -5
- homeassistant-stubs/components/bthome/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/bthome/coordinator.pyi +2 -2
- homeassistant-stubs/components/bthome/event.pyi +2 -3
- homeassistant-stubs/components/bthome/sensor.pyi +3 -4
- homeassistant-stubs/components/bthome/types.pyi +4 -0
- homeassistant-stubs/components/button/__init__.pyi +4 -4
- homeassistant-stubs/components/calendar/__init__.pyi +1 -1
- homeassistant-stubs/components/calendar/const.pyi +3 -3
- homeassistant-stubs/components/camera/__init__.pyi +4 -5
- homeassistant-stubs/components/camera/const.pyi +2 -2
- homeassistant-stubs/components/camera/prefs.pyi +1 -1
- homeassistant-stubs/components/canary/sensor.pyi +1 -1
- homeassistant-stubs/components/climate/__init__.pyi +2 -1
- homeassistant-stubs/components/climate/const.pyi +24 -23
- homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +2 -2
- homeassistant-stubs/components/co2signal/sensor.pyi +1 -1
- homeassistant-stubs/components/command_line/__init__.pyi +1 -2
- homeassistant-stubs/components/command_line/const.pyi +2 -0
- homeassistant-stubs/components/command_line/sensor.pyi +3 -3
- homeassistant-stubs/components/config/config_entries.pyi +2 -2
- homeassistant-stubs/components/cover/__init__.pyi +19 -19
- homeassistant-stubs/components/cover/intent.pyi +1 -1
- homeassistant-stubs/components/date/__init__.pyi +1 -1
- homeassistant-stubs/components/datetime/__init__.pyi +1 -1
- homeassistant-stubs/components/deconz/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/deconz/button.pyi +1 -1
- homeassistant-stubs/components/deconz/deconz_device.pyi +4 -1
- homeassistant-stubs/components/deconz/fan.pyi +1 -0
- homeassistant-stubs/components/deconz/number.pyi +1 -1
- homeassistant-stubs/components/deconz/sensor.pyi +1 -1
- homeassistant-stubs/components/demo/fan.pyi +1 -0
- homeassistant-stubs/components/demo/mailbox.pyi +1 -0
- homeassistant-stubs/components/device_automation/__init__.pyi +5 -4
- homeassistant-stubs/components/device_tracker/config_entry.pyi +10 -9
- homeassistant-stubs/components/device_tracker/const.pyi +4 -4
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/devolo_home_network/button.pyi +3 -1
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
- homeassistant-stubs/components/devolo_home_network/entity.pyi +3 -1
- homeassistant-stubs/components/devolo_home_network/image.pyi +3 -1
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +4 -3
- homeassistant-stubs/components/devolo_home_network/switch.pyi +2 -1
- homeassistant-stubs/components/devolo_home_network/update.pyi +3 -1
- homeassistant-stubs/components/diagnostics/__init__.pyi +1 -1
- homeassistant-stubs/components/diagnostics/const.pyi +2 -2
- homeassistant-stubs/components/discovergy/sensor.pyi +1 -1
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -1
- homeassistant-stubs/components/doorbird/__init__.pyi +9 -14
- homeassistant-stubs/components/doorbird/button.pyi +11 -12
- homeassistant-stubs/components/doorbird/camera.pyi +3 -6
- homeassistant-stubs/components/doorbird/config_flow.pyi +10 -3
- homeassistant-stubs/components/doorbird/const.pyi +6 -3
- homeassistant-stubs/components/doorbird/device.pyi +33 -14
- homeassistant-stubs/components/doorbird/event.pyi +23 -0
- homeassistant-stubs/components/doorbird/logbook.pyi +1 -1
- homeassistant-stubs/components/doorbird/models.pyi +3 -0
- homeassistant-stubs/components/doorbird/repairs.pyi +12 -0
- homeassistant-stubs/components/doorbird/util.pyi +3 -2
- homeassistant-stubs/components/doorbird/view.pyi +1 -1
- homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/dsmr/__init__.pyi +14 -4
- homeassistant-stubs/components/dsmr/const.pyi +0 -1
- homeassistant-stubs/components/dsmr/diagnostics.pyi +6 -0
- homeassistant-stubs/components/dsmr/sensor.pyi +19 -10
- homeassistant-stubs/components/easyenergy/sensor.pyi +1 -1
- homeassistant-stubs/components/easyenergy/services.pyi +3 -3
- homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/button.pyi +2 -2
- homeassistant-stubs/components/ecovacs/const.pyi +3 -2
- homeassistant-stubs/components/ecovacs/controller.pyi +3 -0
- homeassistant-stubs/components/ecovacs/entity.pyi +15 -1
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/sensor.pyi +19 -4
- homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
- homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -9
- homeassistant-stubs/components/ecowitt/__init__.pyi +4 -2
- homeassistant-stubs/components/ecowitt/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/ecowitt/diagnostics.pyi +2 -3
- homeassistant-stubs/components/ecowitt/sensor.pyi +3 -4
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +2 -2
- homeassistant-stubs/components/elevenlabs/__init__.pyi +23 -0
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +26 -0
- homeassistant-stubs/components/elevenlabs/const.pyi +4 -0
- homeassistant-stubs/components/elevenlabs/tts.pyi +30 -0
- homeassistant-stubs/components/elgato/button.pyi +1 -1
- homeassistant-stubs/components/elgato/sensor.pyi +1 -1
- homeassistant-stubs/components/elgato/switch.pyi +1 -1
- homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
- homeassistant-stubs/components/energy/data.pyi +1 -2
- homeassistant-stubs/components/energy/types.pyi +2 -3
- homeassistant-stubs/components/energy/validate.pyi +2 -2
- homeassistant-stubs/components/energyzero/sensor.pyi +1 -1
- homeassistant-stubs/components/energyzero/services.pyi +2 -2
- homeassistant-stubs/components/enigma2/__init__.pyi +3 -5
- homeassistant-stubs/components/enigma2/coordinator.pyi +19 -0
- homeassistant-stubs/components/enigma2/media_player.pyi +6 -8
- homeassistant-stubs/components/enphase_envoy/__init__.pyi +4 -5
- homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -1
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -4
- homeassistant-stubs/components/enphase_envoy/number.pyi +4 -5
- homeassistant-stubs/components/enphase_envoy/select.pyi +4 -5
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +10 -11
- homeassistant-stubs/components/enphase_envoy/switch.pyi +5 -8
- homeassistant-stubs/components/eq3btsmart/const.pyi +10 -10
- homeassistant-stubs/components/eq3btsmart/models.pyi +1 -1
- homeassistant-stubs/components/esphome/domain_data.pyi +1 -1
- homeassistant-stubs/components/esphome/entity.pyi +2 -3
- homeassistant-stubs/components/esphome/entry_data.pyi +1 -1
- homeassistant-stubs/components/esphome/fan.pyi +1 -0
- homeassistant-stubs/components/esphome/update.pyi +1 -0
- homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -0
- homeassistant-stubs/components/event/__init__.pyi +4 -4
- homeassistant-stubs/components/evohome/__init__.pyi +18 -34
- homeassistant-stubs/components/evohome/climate.pyi +3 -2
- homeassistant-stubs/components/evohome/coordinator.pyi +11 -16
- homeassistant-stubs/components/evohome/entity.pyi +37 -0
- homeassistant-stubs/components/evohome/water_heater.pyi +2 -1
- homeassistant-stubs/components/faa_delays/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/fan/__init__.pyi +13 -7
- homeassistant-stubs/components/feedreader/__init__.pyi +1 -1
- homeassistant-stubs/components/feedreader/const.pyi +7 -5
- homeassistant-stubs/components/feedreader/coordinator.pyi +11 -7
- homeassistant-stubs/components/feedreader/event.pyi +30 -0
- homeassistant-stubs/components/fitbit/const.pyi +11 -11
- homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
- homeassistant-stubs/components/flexit_bacnet/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/flexit_bacnet/number.pyi +1 -1
- homeassistant-stubs/components/flexit_bacnet/sensor.pyi +1 -1
- homeassistant-stubs/components/flexit_bacnet/switch.pyi +1 -1
- homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/fritz/button.pyi +1 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +1 -0
- homeassistant-stubs/components/fritz/const.pyi +3 -3
- homeassistant-stubs/components/fritz/coordinator.pyi +3 -3
- homeassistant-stubs/components/fritz/entity.pyi +1 -1
- homeassistant-stubs/components/fritz/sensor.pyi +1 -1
- homeassistant-stubs/components/fritz/update.pyi +1 -1
- homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -5
- homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +4 -4
- homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
- homeassistant-stubs/components/fronius/const.pyi +21 -21
- homeassistant-stubs/components/fronius/sensor.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +3 -2
- homeassistant-stubs/components/fully_kiosk/button.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/image.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/notify.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/sensor.pyi +1 -1
- homeassistant-stubs/components/fully_kiosk/switch.pyi +1 -1
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +1 -0
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -1
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +2 -5
- homeassistant-stubs/components/generic_thermostat/climate.pyi +10 -15
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +2 -1
- homeassistant-stubs/components/generic_thermostat/const.pyi +14 -0
- homeassistant-stubs/components/geocaching/sensor.pyi +1 -1
- homeassistant-stubs/components/gios/sensor.pyi +1 -1
- homeassistant-stubs/components/glances/sensor.pyi +1 -1
- homeassistant-stubs/components/google/const.pyi +5 -5
- homeassistant-stubs/components/gpsd/__init__.pyi +5 -3
- homeassistant-stubs/components/gpsd/config_flow.pyi +2 -0
- homeassistant-stubs/components/gpsd/sensor.pyi +6 -5
- homeassistant-stubs/components/group/button.pyi +28 -0
- homeassistant-stubs/components/group/config_flow.pyi +2 -0
- homeassistant-stubs/components/group/fan.pyi +1 -0
- homeassistant-stubs/components/group/notify.pyi +19 -3
- homeassistant-stubs/components/guardian/__init__.pyi +1 -1
- homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/guardian/button.pyi +1 -1
- homeassistant-stubs/components/guardian/sensor.pyi +2 -2
- homeassistant-stubs/components/guardian/switch.pyi +1 -1
- homeassistant-stubs/components/guardian/valve.pyi +9 -9
- homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -1
- homeassistant-stubs/components/history/websocket_api.pyi +1 -1
- homeassistant-stubs/components/history_stats/__init__.pyi +13 -4
- homeassistant-stubs/components/history_stats/config_flow.pyi +19 -0
- homeassistant-stubs/components/history_stats/const.pyi +14 -0
- homeassistant-stubs/components/history_stats/sensor.pyi +6 -11
- homeassistant-stubs/components/homeassistant/__init__.pyi +4 -4
- homeassistant-stubs/components/homeassistant/logbook.pyi +1 -1
- homeassistant-stubs/components/homeassistant/repairs.pyi +15 -0
- homeassistant-stubs/components/homeassistant/scene.pyi +1 -0
- homeassistant-stubs/components/homeassistant_hardware/const.pyi +7 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +59 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +24 -0
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +19 -49
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +2 -10
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -20
- homeassistant-stubs/components/homekit/__init__.pyi +17 -8
- homeassistant-stubs/components/homekit/accessories.pyi +1 -1
- homeassistant-stubs/components/homekit/aidmanager.pyi +1 -1
- homeassistant-stubs/components/homekit/diagnostics.pyi +2 -4
- homeassistant-stubs/components/homekit/models.pyi +4 -1
- homeassistant-stubs/components/homekit/type_cameras.pyi +5 -3
- homeassistant-stubs/components/homekit/type_switches.pyi +17 -6
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homekit_controller/button.pyi +1 -1
- homeassistant-stubs/components/homekit_controller/select.pyi +1 -1
- homeassistant-stubs/components/homekit_controller/utils.pyi +1 -2
- homeassistant-stubs/components/homewizard/__init__.pyi +7 -5
- homeassistant-stubs/components/homewizard/button.pyi +2 -3
- homeassistant-stubs/components/homewizard/const.pyi +1 -1
- homeassistant-stubs/components/homewizard/diagnostics.pyi +2 -4
- homeassistant-stubs/components/homewizard/number.pyi +2 -3
- homeassistant-stubs/components/homewizard/sensor.pyi +4 -4
- homeassistant-stubs/components/homewizard/switch.pyi +4 -4
- homeassistant-stubs/components/homeworks/__init__.pyi +1 -1
- homeassistant-stubs/components/homeworks/config_flow.pyi +5 -3
- homeassistant-stubs/components/http/__init__.pyi +1 -1
- homeassistant-stubs/components/http/decorators.pyi +2 -1
- homeassistant-stubs/components/http/static.pyi +1 -4
- homeassistant-stubs/components/huawei_lte/select.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -2
- homeassistant-stubs/components/humidifier/__init__.pyi +3 -3
- homeassistant-stubs/components/humidifier/const.pyi +5 -5
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +6 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +6 -5
- homeassistant-stubs/components/husqvarna_automower/number.pyi +3 -5
- homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -2
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +9 -2
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -3
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +14 -2
- homeassistant-stubs/components/hydrawise/const.pyi +5 -2
- homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
- homeassistant-stubs/components/hydrawise/valve.pyi +24 -0
- homeassistant-stubs/components/ibeacon/sensor.pyi +1 -1
- homeassistant-stubs/components/idasen_desk/button.pyi +1 -1
- homeassistant-stubs/components/idasen_desk/sensor.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +1 -1
- homeassistant-stubs/components/image_processing/__init__.pyi +4 -4
- homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
- homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/imgw_pib/sensor.pyi +1 -1
- homeassistant-stubs/components/integration/sensor.pyi +2 -2
- homeassistant-stubs/components/intent/__init__.pyi +10 -0
- homeassistant-stubs/components/intent/timers.pyi +7 -7
- homeassistant-stubs/components/ios/__init__.pyi +1 -1
- homeassistant-stubs/components/ios/const.pyi +1 -0
- homeassistant-stubs/components/iotty/__init__.pyi +21 -0
- homeassistant-stubs/components/iotty/api.pyi +15 -0
- homeassistant-stubs/components/iotty/application_credentials.pyi +7 -0
- homeassistant-stubs/components/iotty/config_flow.pyi +8 -0
- homeassistant-stubs/components/iotty/const.pyi +1 -0
- homeassistant-stubs/components/iotty/coordinator.pyi +29 -0
- homeassistant-stubs/components/iotty/switch.pyi +34 -0
- homeassistant-stubs/components/ipp/sensor.pyi +1 -1
- homeassistant-stubs/components/isy994/fan.pyi +1 -0
- homeassistant-stubs/components/isy994/switch.pyi +1 -1
- homeassistant-stubs/components/jellyfin/__init__.pyi +5 -3
- homeassistant-stubs/components/jellyfin/config_flow.pyi +4 -5
- homeassistant-stubs/components/jellyfin/coordinator.pyi +0 -2
- homeassistant-stubs/components/jellyfin/diagnostics.pyi +2 -4
- homeassistant-stubs/components/jellyfin/media_player.pyi +2 -3
- homeassistant-stubs/components/jellyfin/media_source.pyi +2 -3
- homeassistant-stubs/components/jellyfin/sensor.pyi +3 -5
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/jvc_projector/select.pyi +1 -1
- homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -1
- homeassistant-stubs/components/knocki/coordinator.pyi +2 -2
- homeassistant-stubs/components/knx/__init__.pyi +7 -3
- homeassistant-stubs/components/knx/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/knx/button.pyi +4 -4
- homeassistant-stubs/components/knx/climate.pyi +5 -3
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/const.pyi +5 -4
- homeassistant-stubs/components/knx/cover.pyi +4 -4
- homeassistant-stubs/components/knx/date.pyi +7 -9
- homeassistant-stubs/components/knx/datetime.pyi +7 -6
- homeassistant-stubs/components/knx/device.pyi +2 -1
- homeassistant-stubs/components/knx/expose.pyi +4 -5
- homeassistant-stubs/components/knx/fan.pyi +5 -4
- homeassistant-stubs/components/knx/knx_entity.pyi +29 -5
- homeassistant-stubs/components/knx/light.pyi +32 -11
- homeassistant-stubs/components/knx/notify.pyi +4 -3
- homeassistant-stubs/components/knx/number.pyi +4 -3
- homeassistant-stubs/components/knx/project.pyi +5 -3
- homeassistant-stubs/components/knx/scene.pyi +4 -4
- homeassistant-stubs/components/knx/schema.pyi +5 -2
- homeassistant-stubs/components/knx/select.pyi +5 -4
- homeassistant-stubs/components/knx/sensor.pyi +5 -5
- homeassistant-stubs/components/knx/services.pyi +1 -1
- homeassistant-stubs/components/knx/storage/config_store.pyi +44 -0
- homeassistant-stubs/components/knx/storage/const.pyi +25 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +36 -0
- homeassistant-stubs/components/knx/storage/entity_store_validation.pyi +25 -0
- homeassistant-stubs/components/knx/storage/knx_selector.pyi +21 -0
- homeassistant-stubs/components/knx/switch.pyi +23 -9
- homeassistant-stubs/components/knx/telegrams.pyi +5 -6
- homeassistant-stubs/components/knx/text.pyi +4 -3
- homeassistant-stubs/components/knx/time.pyi +7 -9
- homeassistant-stubs/components/knx/trigger.pyi +1 -1
- homeassistant-stubs/components/knx/validation.pyi +8 -1
- homeassistant-stubs/components/knx/weather.pyi +4 -3
- homeassistant-stubs/components/knx/websocket.pyi +17 -1
- homeassistant-stubs/components/kraken/sensor.pyi +1 -1
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/button.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/entity.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/number.pyi +2 -2
- homeassistant-stubs/components/lamarzocco/select.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
- homeassistant-stubs/components/lametric/button.pyi +1 -1
- homeassistant-stubs/components/lametric/number.pyi +1 -1
- homeassistant-stubs/components/lametric/select.pyi +1 -1
- homeassistant-stubs/components/lametric/sensor.pyi +1 -1
- homeassistant-stubs/components/lametric/switch.pyi +1 -1
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/laundrify/const.pyi +3 -1
- homeassistant-stubs/components/laundrify/coordinator.pyi +1 -2
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
- homeassistant-stubs/components/lawn_mower/const.pyi +7 -7
- homeassistant-stubs/components/lcn/schemas.pyi +9 -8
- homeassistant-stubs/components/lidarr/sensor.pyi +1 -1
- homeassistant-stubs/components/lifx/const.pyi +1 -0
- homeassistant-stubs/components/lifx/coordinator.pyi +20 -7
- homeassistant-stubs/components/lifx/light.pyi +5 -2
- homeassistant-stubs/components/lifx/manager.pyi +12 -1
- homeassistant-stubs/components/light/__init__.pyi +16 -17
- homeassistant-stubs/components/linkplay/__init__.pyi +14 -0
- homeassistant-stubs/components/linkplay/config_flow.pyi +14 -0
- homeassistant-stubs/components/linkplay/const.pyi +5 -0
- homeassistant-stubs/components/linkplay/media_player.pyi +66 -0
- homeassistant-stubs/components/linkplay/utils.pyi +19 -0
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/litterrobot/button.pyi +1 -1
- homeassistant-stubs/components/litterrobot/hub.pyi +2 -2
- homeassistant-stubs/components/litterrobot/select.pyi +1 -1
- homeassistant-stubs/components/litterrobot/sensor.pyi +1 -1
- homeassistant-stubs/components/litterrobot/switch.pyi +1 -1
- homeassistant-stubs/components/litterrobot/time.pyi +1 -1
- homeassistant-stubs/components/lock/__init__.pyi +2 -2
- homeassistant-stubs/components/logbook/models.pyi +2 -2
- homeassistant-stubs/components/logbook/processor.pyi +2 -3
- homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
- homeassistant-stubs/components/logger/helpers.pyi +5 -5
- homeassistant-stubs/components/madvr/__init__.pyi +13 -0
- homeassistant-stubs/components/madvr/binary_sensor.pyi +30 -0
- homeassistant-stubs/components/madvr/config_flow.pyi +17 -0
- homeassistant-stubs/components/madvr/const.pyi +29 -0
- homeassistant-stubs/components/madvr/coordinator.pyi +18 -0
- homeassistant-stubs/components/madvr/entity.pyi +10 -0
- homeassistant-stubs/components/madvr/errors.pyi +1 -0
- homeassistant-stubs/components/madvr/remote.pyi +24 -0
- homeassistant-stubs/components/madvr/sensor.pyi +31 -0
- homeassistant-stubs/components/mastodon/__init__.pyi +11 -0
- homeassistant-stubs/components/mastodon/config_flow.pyi +18 -0
- homeassistant-stubs/components/mastodon/const.pyi +7 -0
- homeassistant-stubs/components/mastodon/notify.pyi +8 -5
- homeassistant-stubs/components/mastodon/utils.pyi +5 -0
- homeassistant-stubs/components/matrix/__init__.pyi +1 -1
- homeassistant-stubs/components/matter/__init__.pyi +1 -0
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/climate.pyi +11 -13
- homeassistant-stubs/components/matter/cover.pyi +4 -4
- homeassistant-stubs/components/matter/discovery.pyi +1 -1
- homeassistant-stubs/components/matter/entity.pyi +2 -1
- homeassistant-stubs/components/matter/fan.pyi +4 -0
- homeassistant-stubs/components/matter/light.pyi +2 -0
- homeassistant-stubs/components/matter/lock.pyi +3 -6
- homeassistant-stubs/components/matter/models.pyi +1 -1
- homeassistant-stubs/components/matter/number.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +34 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/matter/update.pyi +53 -0
- homeassistant-stubs/components/media_player/__init__.pyi +8 -8
- homeassistant-stubs/components/media_player/const.pyi +72 -72
- homeassistant-stubs/components/media_player/intent.pyi +2 -4
- homeassistant-stubs/components/minecraft_server/api.pyi +3 -3
- homeassistant-stubs/components/minecraft_server/sensor.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/const.pyi +11 -11
- homeassistant-stubs/components/modbus/fan.pyi +3 -1
- homeassistant-stubs/components/modbus/validators.pyi +2 -3
- homeassistant-stubs/components/monzo/sensor.pyi +1 -1
- homeassistant-stubs/components/mopeka/__init__.pyi +5 -3
- homeassistant-stubs/components/mopeka/config_flow.pyi +18 -1
- homeassistant-stubs/components/mopeka/const.pyi +5 -0
- homeassistant-stubs/components/mopeka/sensor.pyi +3 -4
- homeassistant-stubs/components/mqtt/client.pyi +3 -4
- homeassistant-stubs/components/mqtt/device_trigger.pyi +2 -2
- homeassistant-stubs/components/mqtt/fan.pyi +1 -0
- homeassistant-stubs/components/mqtt/models.pyi +4 -4
- homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
- homeassistant-stubs/components/mqtt/switch.pyi +3 -2
- homeassistant-stubs/components/mqtt/vacuum.pyi +2 -7
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/mysensors/cover.pyi +4 -4
- homeassistant-stubs/components/myuplink/select.pyi +23 -0
- homeassistant-stubs/components/nam/sensor.pyi +1 -1
- homeassistant-stubs/components/nest/media_source.pyi +1 -1
- homeassistant-stubs/components/netatmo/fan.pyi +1 -0
- homeassistant-stubs/components/netatmo/helper.pyi +1 -1
- homeassistant-stubs/components/netatmo/sensor.pyi +2 -2
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/switch.pyi +1 -1
- homeassistant-stubs/components/notify/__init__.pyi +2 -2
- homeassistant-stubs/components/notion/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/notion/config_flow.pyi +1 -1
- homeassistant-stubs/components/notion/coordinator.pyi +1 -1
- homeassistant-stubs/components/notion/sensor.pyi +1 -1
- homeassistant-stubs/components/number/__init__.pyi +1 -1
- homeassistant-stubs/components/number/const.pyi +52 -52
- homeassistant-stubs/components/nut/__init__.pyi +1 -1
- homeassistant-stubs/components/oncue/__init__.pyi +3 -4
- homeassistant-stubs/components/oncue/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/oncue/sensor.pyi +2 -3
- homeassistant-stubs/components/oncue/types.pyi +5 -0
- homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/onewire/onewire_entities.pyi +1 -1
- homeassistant-stubs/components/onewire/sensor.pyi +1 -1
- homeassistant-stubs/components/onewire/switch.pyi +1 -1
- homeassistant-stubs/components/openuv/sensor.pyi +1 -1
- homeassistant-stubs/components/oralb/__init__.pyi +3 -3
- homeassistant-stubs/components/oralb/sensor.pyi +3 -4
- homeassistant-stubs/components/otbr/websocket_api.pyi +6 -3
- homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +1 -1
- homeassistant-stubs/components/overkiz/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/overkiz/button.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +3 -2
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heat_pump_main_component.pyi +18 -0
- homeassistant-stubs/components/overkiz/number.pyi +1 -1
- homeassistant-stubs/components/overkiz/select.pyi +1 -1
- homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
- homeassistant-stubs/components/overkiz/switch.pyi +1 -1
- homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
- homeassistant-stubs/components/peco/sensor.pyi +1 -1
- homeassistant-stubs/components/persistent_notification/__init__.pyi +4 -4
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/pi_hole/update.pyi +1 -1
- homeassistant-stubs/components/ping/entity.pyi +0 -1
- homeassistant-stubs/components/ping/sensor.pyi +1 -1
- homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/plugwise/number.pyi +1 -1
- homeassistant-stubs/components/plugwise/select.pyi +1 -1
- homeassistant-stubs/components/plugwise/sensor.pyi +1 -1
- homeassistant-stubs/components/plugwise/switch.pyi +1 -1
- homeassistant-stubs/components/powerwall/__init__.pyi +4 -4
- homeassistant-stubs/components/powerwall/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/powerwall/models.pyi +4 -1
- homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
- homeassistant-stubs/components/powerwall/switch.pyi +2 -4
- homeassistant-stubs/components/private_ble_device/sensor.pyi +1 -1
- homeassistant-stubs/components/prometheus/__init__.pyi +3 -1
- homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
- homeassistant-stubs/components/prusalink/binary_sensor.pyi +36 -0
- homeassistant-stubs/components/prusalink/button.pyi +1 -1
- homeassistant-stubs/components/prusalink/coordinator.pyi +4 -1
- homeassistant-stubs/components/prusalink/sensor.pyi +3 -3
- homeassistant-stubs/components/pure_energie/sensor.pyi +1 -1
- homeassistant-stubs/components/purpleair/config_flow.pyi +1 -1
- homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
- homeassistant-stubs/components/pvoutput/sensor.pyi +1 -1
- homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/qnap_qsw/button.pyi +1 -1
- homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
- homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -1
- homeassistant-stubs/components/rabbitair/fan.pyi +1 -0
- homeassistant-stubs/components/radarr/coordinator.pyi +1 -1
- homeassistant-stubs/components/radarr/sensor.pyi +1 -1
- homeassistant-stubs/components/rainforest_raven/sensor.pyi +1 -1
- homeassistant-stubs/components/rainmachine/__init__.pyi +8 -7
- homeassistant-stubs/components/rainmachine/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/rainmachine/button.pyi +4 -5
- homeassistant-stubs/components/rainmachine/coordinator.pyi +3 -3
- homeassistant-stubs/components/rainmachine/diagnostics.pyi +3 -4
- homeassistant-stubs/components/rainmachine/model.pyi +1 -1
- homeassistant-stubs/components/rainmachine/select.pyi +5 -5
- homeassistant-stubs/components/rainmachine/sensor.pyi +5 -5
- homeassistant-stubs/components/rainmachine/switch.pyi +6 -6
- homeassistant-stubs/components/rainmachine/update.pyi +9 -10
- homeassistant-stubs/components/rainmachine/util.pyi +4 -4
- homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/rdw/sensor.pyi +1 -1
- homeassistant-stubs/components/recorder/__init__.pyi +2 -1
- homeassistant-stubs/components/recorder/basic_websocket_api.pyi +7 -0
- homeassistant-stubs/components/recorder/const.pyi +5 -8
- homeassistant-stubs/components/recorder/core.pyi +16 -16
- homeassistant-stubs/components/recorder/db_schema.pyi +19 -6
- homeassistant-stubs/components/recorder/migration.pyi +221 -24
- homeassistant-stubs/components/recorder/models/context.pyi +1 -3
- homeassistant-stubs/components/recorder/statistics.pyi +2 -2
- homeassistant-stubs/components/recorder/table_managers/__init__.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/event_data.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -0
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +0 -1
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -0
- homeassistant-stubs/components/recorder/tasks.pyi +0 -24
- homeassistant-stubs/components/recorder/util.pyi +8 -6
- homeassistant-stubs/components/recorder/websocket_api.pyi +0 -1
- homeassistant-stubs/components/remote/__init__.pyi +4 -4
- homeassistant-stubs/components/renault/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/renault/button.pyi +1 -1
- homeassistant-stubs/components/renault/entity.pyi +1 -1
- homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
- homeassistant-stubs/components/renault/select.pyi +1 -1
- homeassistant-stubs/components/renault/sensor.pyi +1 -1
- homeassistant-stubs/components/repairs/websocket_api.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/sensor.pyi +1 -1
- homeassistant-stubs/components/ring/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ring/light.pyi +2 -2
- homeassistant-stubs/components/ring/sensor.pyi +1 -1
- homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/rituals_perfume_genie/number.pyi +1 -1
- homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
- homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +1 -1
- homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +1 -1
- homeassistant-stubs/components/roborock/__init__.pyi +4 -3
- homeassistant-stubs/components/roborock/binary_sensor.pyi +3 -6
- homeassistant-stubs/components/roborock/button.pyi +3 -6
- homeassistant-stubs/components/roborock/coordinator.pyi +8 -2
- homeassistant-stubs/components/roborock/diagnostics.pyi +2 -4
- homeassistant-stubs/components/roborock/image.pyi +2 -3
- homeassistant-stubs/components/roborock/number.pyi +3 -6
- homeassistant-stubs/components/roborock/select.pyi +12 -6
- homeassistant-stubs/components/roborock/sensor.pyi +6 -9
- homeassistant-stubs/components/roborock/switch.pyi +3 -6
- homeassistant-stubs/components/roborock/time.pyi +3 -6
- homeassistant-stubs/components/roborock/vacuum.pyi +2 -4
- homeassistant-stubs/components/roku/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/roku/browse_media.pyi +2 -1
- homeassistant-stubs/components/roku/select.pyi +1 -1
- homeassistant-stubs/components/roku/sensor.pyi +1 -1
- homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
- homeassistant-stubs/components/script/__init__.pyi +148 -0
- homeassistant-stubs/components/script/config.pyi +39 -0
- homeassistant-stubs/components/script/const.pyi +14 -0
- homeassistant-stubs/components/script/helpers.pyi +11 -0
- homeassistant-stubs/components/script/logbook.pyi +8 -0
- homeassistant-stubs/components/script/trace.pyi +10 -0
- homeassistant-stubs/components/search/__init__.pyi +14 -13
- homeassistant-stubs/components/select/__init__.pyi +1 -1
- homeassistant-stubs/components/sensibo/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/sensibo/button.pyi +1 -1
- homeassistant-stubs/components/sensibo/number.pyi +1 -1
- homeassistant-stubs/components/sensibo/select.pyi +1 -1
- homeassistant-stubs/components/sensibo/sensor.pyi +2 -2
- homeassistant-stubs/components/sensibo/switch.pyi +1 -1
- homeassistant-stubs/components/sensibo/update.pyi +1 -1
- homeassistant-stubs/components/sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +55 -55
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/sfr_box/button.pyi +1 -1
- homeassistant-stubs/components/sfr_box/sensor.pyi +1 -1
- homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/shelly/button.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/const.pyi +6 -3
- homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
- homeassistant-stubs/components/shelly/entity.pyi +9 -3
- homeassistant-stubs/components/shelly/event.pyi +2 -2
- homeassistant-stubs/components/shelly/number.pyi +28 -6
- homeassistant-stubs/components/shelly/select.pyi +25 -0
- homeassistant-stubs/components/shelly/sensor.pyi +6 -4
- homeassistant-stubs/components/shelly/switch.pyi +17 -3
- homeassistant-stubs/components/shelly/text.pyi +23 -0
- homeassistant-stubs/components/shelly/update.pyi +2 -2
- homeassistant-stubs/components/shelly/utils.pyi +3 -1
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/simplisafe/button.pyi +1 -1
- homeassistant-stubs/components/simplisafe/typing.pyi +3 -2
- homeassistant-stubs/components/siren/__init__.pyi +1 -1
- homeassistant-stubs/components/siren/const.pyi +5 -5
- homeassistant-stubs/components/skybell/sensor.pyi +1 -1
- homeassistant-stubs/components/sleepiq/button.pyi +1 -1
- homeassistant-stubs/components/sleepiq/entity.pyi +1 -1
- homeassistant-stubs/components/sleepiq/number.pyi +1 -1
- homeassistant-stubs/components/snooz/fan.pyi +1 -0
- homeassistant-stubs/components/sonarr/sensor.pyi +1 -1
- homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -1
- homeassistant-stubs/components/ssdp/__init__.pyi +1 -1
- homeassistant-stubs/components/starlink/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/starlink/button.pyi +1 -1
- homeassistant-stubs/components/starlink/device_tracker.pyi +1 -1
- homeassistant-stubs/components/starlink/sensor.pyi +1 -1
- homeassistant-stubs/components/starlink/switch.pyi +1 -1
- homeassistant-stubs/components/starlink/time.pyi +1 -1
- homeassistant-stubs/components/steamist/sensor.pyi +1 -1
- homeassistant-stubs/components/stream/core.pyi +9 -9
- homeassistant-stubs/components/stream/fmp4utils.pyi +1 -1
- homeassistant-stubs/components/stream/worker.pyi +1 -2
- homeassistant-stubs/components/streamlabswater/entity.pyi +0 -1
- homeassistant-stubs/components/streamlabswater/sensor.pyi +1 -1
- homeassistant-stubs/components/stt/const.pyi +21 -21
- homeassistant-stubs/components/sun/sensor.pyi +1 -1
- homeassistant-stubs/components/switch/__init__.pyi +3 -3
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/button.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/camera.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/entity.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/sensor.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
- homeassistant-stubs/components/system_health/__init__.pyi +1 -1
- homeassistant-stubs/components/system_log/__init__.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/sensor.pyi +1 -1
- homeassistant-stubs/components/tag/__init__.pyi +0 -1
- homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
- homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tailwind/button.pyi +1 -1
- homeassistant-stubs/components/tailwind/number.pyi +1 -1
- homeassistant-stubs/components/tami4/button.pyi +1 -1
- homeassistant-stubs/components/tautulli/sensor.pyi +2 -2
- homeassistant-stubs/components/technove/__init__.pyi +2 -2
- homeassistant-stubs/components/technove/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/technove/coordinator.pyi +2 -3
- homeassistant-stubs/components/technove/diagnostics.pyi +9 -0
- homeassistant-stubs/components/technove/number.pyi +37 -0
- homeassistant-stubs/components/technove/sensor.pyi +3 -4
- homeassistant-stubs/components/technove/switch.pyi +3 -4
- homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tedee/config_flow.pyi +3 -0
- homeassistant-stubs/components/tedee/lock.pyi +1 -1
- homeassistant-stubs/components/tedee/sensor.pyi +1 -1
- homeassistant-stubs/components/text/__init__.pyi +3 -3
- homeassistant-stubs/components/time/__init__.pyi +1 -1
- homeassistant-stubs/components/todo/__init__.pyi +2 -2
- homeassistant-stubs/components/todo/const.pyi +19 -9
- homeassistant-stubs/components/tolo/const.pyi +4 -5
- homeassistant-stubs/components/tolo/fan.pyi +3 -1
- homeassistant-stubs/components/tolo/number.pyi +1 -1
- homeassistant-stubs/components/tolo/select.pyi +1 -1
- homeassistant-stubs/components/tolo/sensor.pyi +1 -1
- homeassistant-stubs/components/tolo/switch.pyi +1 -1
- homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tplink/button.pyi +1 -1
- homeassistant-stubs/components/tplink/entity.pyi +1 -1
- homeassistant-stubs/components/tplink/fan.pyi +1 -0
- homeassistant-stubs/components/tplink/number.pyi +1 -1
- homeassistant-stubs/components/tplink/select.pyi +1 -1
- homeassistant-stubs/components/tplink/sensor.pyi +1 -1
- homeassistant-stubs/components/tplink/switch.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/switch.pyi +4 -4
- homeassistant-stubs/components/tractive/sensor.pyi +1 -1
- homeassistant-stubs/components/tractive/switch.pyi +1 -1
- homeassistant-stubs/components/tradfri/fan.pyi +1 -0
- homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
- homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +3 -3
- homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -2
- homeassistant-stubs/components/trafikverket_camera/sensor.pyi +1 -1
- homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
- homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -1
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +3 -3
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -1
- homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +3 -3
- homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -3
- homeassistant-stubs/components/transmission/sensor.pyi +1 -1
- homeassistant-stubs/components/transmission/switch.pyi +1 -1
- homeassistant-stubs/components/tts/__init__.pyi +10 -9
- homeassistant-stubs/components/tts/const.pyi +1 -3
- homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
- homeassistant-stubs/components/unifi/button.pyi +1 -1
- homeassistant-stubs/components/unifi/device_tracker.pyi +6 -5
- homeassistant-stubs/components/unifi/entity.pyi +3 -2
- homeassistant-stubs/components/unifi/hub/entity_loader.pyi +9 -0
- homeassistant-stubs/components/unifi/image.pyi +1 -1
- homeassistant-stubs/components/unifi/sensor.pyi +9 -3
- homeassistant-stubs/components/unifi/switch.pyi +3 -2
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +10 -14
- homeassistant-stubs/components/unifiprotect/button.pyi +7 -6
- homeassistant-stubs/components/unifiprotect/camera.pyi +4 -4
- homeassistant-stubs/components/unifiprotect/data.pyi +2 -3
- homeassistant-stubs/components/unifiprotect/entity.pyi +14 -10
- homeassistant-stubs/components/unifiprotect/event.pyi +25 -0
- homeassistant-stubs/components/unifiprotect/light.pyi +3 -3
- homeassistant-stubs/components/unifiprotect/lock.pyi +3 -3
- homeassistant-stubs/components/unifiprotect/media_player.pyi +3 -3
- homeassistant-stubs/components/unifiprotect/media_source.pyi +10 -10
- homeassistant-stubs/components/unifiprotect/models.pyi +6 -6
- homeassistant-stubs/components/unifiprotect/number.pyi +4 -4
- homeassistant-stubs/components/unifiprotect/select.pyi +4 -4
- homeassistant-stubs/components/unifiprotect/sensor.pyi +6 -6
- homeassistant-stubs/components/unifiprotect/switch.pyi +12 -12
- homeassistant-stubs/components/unifiprotect/text.pyi +4 -4
- homeassistant-stubs/components/unifiprotect/utils.pyi +1 -2
- homeassistant-stubs/components/upcloud/__init__.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/update/const.pyi +5 -5
- homeassistant-stubs/components/vacuum/__init__.pyi +15 -15
- homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/vallox/fan.pyi +1 -0
- homeassistant-stubs/components/vallox/number.pyi +1 -1
- homeassistant-stubs/components/vallox/sensor.pyi +1 -1
- homeassistant-stubs/components/vallox/switch.pyi +1 -1
- homeassistant-stubs/components/valve/__init__.pyi +7 -7
- homeassistant-stubs/components/wake_on_lan/__init__.pyi +5 -1
- homeassistant-stubs/components/wake_on_lan/button.pyi +21 -0
- homeassistant-stubs/components/wake_on_lan/config_flow.pyi +20 -0
- homeassistant-stubs/components/wake_on_lan/const.pyi +7 -0
- homeassistant-stubs/components/wake_on_lan/switch.pyi +2 -5
- homeassistant-stubs/components/wake_word/models.pyi +2 -2
- homeassistant-stubs/components/wallbox/const.pyi +18 -18
- homeassistant-stubs/components/wallbox/number.pyi +1 -1
- homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
- homeassistant-stubs/components/waqi/sensor.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +5 -5
- homeassistant-stubs/components/weather/__init__.pyi +1 -1
- homeassistant-stubs/components/weather/const.pyi +3 -3
- homeassistant-stubs/components/wemo/__init__.pyi +1 -1
- homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
- homeassistant-stubs/components/wemo/entity.pyi +1 -1
- homeassistant-stubs/components/wemo/fan.pyi +1 -0
- homeassistant-stubs/components/wemo/models.pyi +1 -1
- homeassistant-stubs/components/wemo/sensor.pyi +1 -1
- homeassistant-stubs/components/whois/sensor.pyi +1 -1
- homeassistant-stubs/components/withings/__init__.pyi +1 -1
- homeassistant-stubs/components/withings/sensor.pyi +5 -5
- homeassistant-stubs/components/wiz/__init__.pyi +1 -0
- homeassistant-stubs/components/wiz/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/wiz/diagnostics.pyi +2 -4
- homeassistant-stubs/components/wiz/light.pyi +2 -3
- homeassistant-stubs/components/wiz/number.pyi +3 -4
- homeassistant-stubs/components/wiz/sensor.pyi +2 -3
- homeassistant-stubs/components/wiz/switch.pyi +2 -3
- homeassistant-stubs/components/wled/__init__.pyi +7 -2
- homeassistant-stubs/components/wled/const.pyi +7 -0
- homeassistant-stubs/components/wled/coordinator.pyi +7 -2
- homeassistant-stubs/components/wled/helpers.pyi +2 -0
- homeassistant-stubs/components/wled/light.pyi +7 -5
- homeassistant-stubs/components/wled/number.pyi +2 -2
- homeassistant-stubs/components/wled/sensor.pyi +1 -1
- homeassistant-stubs/components/wled/switch.pyi +1 -1
- homeassistant-stubs/components/wled/update.pyi +7 -3
- homeassistant-stubs/components/worldclock/__init__.pyi +7 -0
- homeassistant-stubs/components/worldclock/config_flow.pyi +22 -0
- homeassistant-stubs/components/worldclock/const.pyi +8 -0
- homeassistant-stubs/components/worldclock/sensor.pyi +9 -4
- homeassistant-stubs/components/xiaomi_ble/__init__.pyi +4 -4
- homeassistant-stubs/components/xiaomi_ble/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +2 -2
- homeassistant-stubs/components/xiaomi_ble/event.pyi +2 -3
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +3 -4
- homeassistant-stubs/components/xiaomi_ble/types.pyi +4 -0
- homeassistant-stubs/components/yalexs_ble/sensor.pyi +1 -1
- homeassistant-stubs/components/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/zwave_js/discovery.pyi +9 -9
- homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +7 -7
- homeassistant-stubs/components/zwave_js/fan.pyi +1 -0
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
- homeassistant-stubs/components/zwave_js/humidifier.pyi +1 -1
- homeassistant-stubs/components/zwave_js/migrate.pyi +1 -1
- homeassistant-stubs/components/zwave_js/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/services.pyi +4 -3
- homeassistant-stubs/config.pyi +10 -10
- homeassistant-stubs/config_entries.pyi +18 -14
- homeassistant-stubs/const.pyi +161 -160
- homeassistant-stubs/core.pyi +29 -26
- homeassistant-stubs/data_entry_flow.pyi +8 -8
- homeassistant-stubs/exceptions.pyi +1 -2
- homeassistant-stubs/helpers/aiohttp_client.pyi +6 -6
- homeassistant-stubs/helpers/area_registry.pyi +4 -1
- homeassistant-stubs/helpers/category_registry.pyi +12 -2
- homeassistant-stubs/helpers/condition.pyi +2 -4
- homeassistant-stubs/helpers/config_validation.pyi +9 -6
- homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
- homeassistant-stubs/helpers/device_registry.pyi +19 -10
- homeassistant-stubs/helpers/entity.pyi +7 -8
- homeassistant-stubs/helpers/entity_platform.pyi +1 -1
- homeassistant-stubs/helpers/entity_registry.pyi +16 -11
- homeassistant-stubs/helpers/event.pyi +7 -7
- homeassistant-stubs/helpers/floor_registry.pyi +9 -2
- homeassistant-stubs/helpers/http.pyi +2 -1
- homeassistant-stubs/helpers/intent.pyi +41 -38
- homeassistant-stubs/helpers/issue_registry.pyi +3 -3
- homeassistant-stubs/helpers/json.pyi +8 -2
- homeassistant-stubs/helpers/label_registry.pyi +9 -2
- homeassistant-stubs/helpers/llm.pyi +1 -1
- homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -1
- homeassistant-stubs/helpers/recorder.pyi +10 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -1
- homeassistant-stubs/helpers/script.pyi +18 -16
- homeassistant-stubs/helpers/selector.pyi +24 -23
- homeassistant-stubs/helpers/service.pyi +2 -2
- homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -2
- homeassistant-stubs/helpers/significant_change.pyi +3 -2
- homeassistant-stubs/helpers/template.pyi +3 -3
- homeassistant-stubs/helpers/trace.pyi +2 -3
- homeassistant-stubs/helpers/trigger.pyi +1 -1
- homeassistant-stubs/helpers/typing.pyi +3 -3
- homeassistant-stubs/helpers/update_coordinator.pyi +8 -4
- homeassistant-stubs/runner.pyi +1 -1
- homeassistant-stubs/setup.pyi +8 -9
- homeassistant-stubs/util/event_type.pyi +1 -1
- homeassistant-stubs/util/hass_dict.pyi +19 -19
- homeassistant-stubs/util/json.pyi +4 -9
- homeassistant-stubs/util/language.pyi +1 -1
- homeassistant-stubs/util/signal_type.pyi +1 -1
- homeassistant-stubs/util/ssl.pyi +3 -3
- homeassistant-stubs/util/timeout.pyi +4 -4
- homeassistant-stubs/util/ulid.pyi +2 -2
- homeassistant-stubs/util/yaml/loader.pyi +2 -3
- {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/RECORD +943 -861
- homeassistant-stubs/components/laundrify/model.pyi +0 -7
- homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
- homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +0 -21
- /homeassistant-stubs/components/knx/{helpers → storage}/__init__.pyi +0 -0
- /homeassistant-stubs/components/knx/{helpers → storage}/keyring.pyi +0 -0
- {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/WHEEL +0 -0
@@ -16,7 +16,7 @@ from pydroid_ipcam import PyDroidIPCam as PyDroidIPCam
|
|
16
16
|
class AndroidIPWebcamSensorEntityDescription(SensorEntityDescription):
|
17
17
|
value_fn: Callable[[PyDroidIPCam], StateType]
|
18
18
|
unit_fn: Callable[[PyDroidIPCam], str | None] = ...
|
19
|
-
def __init__(self, *, key, device_class
|
19
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn, unit_fn=...) -> None: ...
|
20
20
|
|
21
21
|
SENSOR_TYPES: tuple[AndroidIPWebcamSensorEntityDescription, ...]
|
22
22
|
|
@@ -16,7 +16,7 @@ from typing import Any
|
|
16
16
|
class AndroidIPWebcamSwitchEntityDescription(SwitchEntityDescription):
|
17
17
|
on_func: Callable[[PyDroidIPCam], Coroutine[Any, Any, bool]]
|
18
18
|
off_func: Callable[[PyDroidIPCam], Coroutine[Any, Any, bool]]
|
19
|
-
def __init__(self, *, key, device_class
|
19
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., on_func, off_func) -> None: ...
|
20
20
|
|
21
21
|
SWITCH_TYPES: tuple[AndroidIPWebcamSwitchEntityDescription, ...]
|
22
22
|
|
@@ -15,7 +15,7 @@ from homeassistant.helpers.typing import StateType as StateType
|
|
15
15
|
@dataclass(frozen=True, kw_only=True)
|
16
16
|
class AnovaSensorEntityDescription(SensorEntityDescription):
|
17
17
|
value_fn: Callable[[APCUpdateSensor], StateType]
|
18
|
-
def __init__(self, *, key, device_class
|
18
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
|
19
19
|
|
20
20
|
SENSOR_DESCRIPTIONS: list[AnovaSensorEntityDescription]
|
21
21
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import json
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
3
|
+
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
4
4
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant
|
5
5
|
from homeassistant.helpers.entityfilter import EntityFilter as EntityFilter, FILTER_SCHEMA as FILTER_SCHEMA
|
6
6
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -1,9 +1,9 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from .const import DOMAIN as DOMAIN, LASTSTEST as LASTSTEST
|
2
2
|
from .coordinator import APCUPSdCoordinator as APCUPSdCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
-
from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
6
|
+
from homeassistant.const import PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
9
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
@@ -23,5 +23,6 @@ class APCUPSdSensor(CoordinatorEntity[APCUPSdCoordinator], SensorEntity):
|
|
23
23
|
_attr_device_info: Incomplete
|
24
24
|
def __init__(self, coordinator: APCUPSdCoordinator, description: SensorEntityDescription) -> None: ...
|
25
25
|
def _handle_coordinator_update(self) -> None: ...
|
26
|
+
_attr_native_value: Incomplete
|
26
27
|
_attr_native_unit_of_measurement: Incomplete
|
27
28
|
def _update_attrs(self) -> None: ...
|
@@ -6,7 +6,7 @@ from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
|
6
6
|
from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, URL_API as URL_API, URL_API_COMPONENTS as URL_API_COMPONENTS, URL_API_CONFIG as URL_API_CONFIG, URL_API_CORE_STATE as URL_API_CORE_STATE, URL_API_ERROR_LOG as URL_API_ERROR_LOG, URL_API_EVENTS as URL_API_EVENTS, URL_API_SERVICES as URL_API_SERVICES, URL_API_STATES as URL_API_STATES, URL_API_STREAM as URL_API_STREAM, URL_API_TEMPLATE as URL_API_TEMPLATE
|
7
7
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, ServiceNotFound as ServiceNotFound, TemplateError as TemplateError, Unauthorized as Unauthorized
|
9
|
-
from homeassistant.helpers import template as template
|
9
|
+
from homeassistant.helpers import recorder as recorder, template as template
|
10
10
|
from homeassistant.helpers.json import json_dumps as json_dumps, json_fragment as json_fragment
|
11
11
|
from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
|
12
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -1,7 +1,8 @@
|
|
1
|
+
from .const import DEFAULT_PORT as DEFAULT_PORT
|
1
2
|
from .coordinator import ApSystemsDataCoordinator as ApSystemsDataCoordinator
|
2
3
|
from dataclasses import dataclass
|
3
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
-
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, Platform as Platform
|
5
|
+
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT, Platform as Platform
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
7
|
|
7
8
|
PLATFORMS: list[Platform]
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from .const import DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
|
-
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS
|
4
|
+
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
|
5
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
6
6
|
from typing import Any
|
7
7
|
|
@@ -15,7 +15,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
|
|
15
15
|
@dataclass(frozen=True, kw_only=True)
|
16
16
|
class ApsystemsLocalApiSensorDescription(SensorEntityDescription):
|
17
17
|
value_fn: Callable[[ReturnOutputData], float | None]
|
18
|
-
def __init__(self, *, key, device_class
|
18
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
|
19
19
|
|
20
20
|
SENSORS: tuple[ApsystemsLocalApiSensorDescription, ...]
|
21
21
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
from . import ApSystemsConfigEntry as ApSystemsConfigEntry, ApSystemsData as ApSystemsData
|
2
|
+
from .entity import ApSystemsEntity as ApSystemsEntity
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ApSystemsConfigEntry, add_entities: AddEntitiesCallback) -> None: ...
|
10
|
+
|
11
|
+
class ApSystemsInverterSwitch(ApSystemsEntity, SwitchEntity):
|
12
|
+
_attr_device_class: Incomplete
|
13
|
+
_attr_translation_key: str
|
14
|
+
_api: Incomplete
|
15
|
+
_attr_unique_id: Incomplete
|
16
|
+
def __init__(self, data: ApSystemsData) -> None: ...
|
17
|
+
_attr_available: bool
|
18
|
+
_attr_is_on: Incomplete
|
19
|
+
async def async_update(self) -> None: ...
|
20
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
21
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -12,7 +12,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
12
12
|
class AquaLogicSensorEntityDescription(SensorEntityDescription):
|
13
13
|
unit_metric: str | None = ...
|
14
14
|
unit_imperial: str | None = ...
|
15
|
-
def __init__(self, *, key, device_class
|
15
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., unit_metric=..., unit_imperial=...) -> None: ...
|
16
16
|
|
17
17
|
SENSOR_TYPES: tuple[AquaLogicSensorEntityDescription, ...]
|
18
18
|
SENSOR_KEYS: list[str]
|
@@ -17,7 +17,7 @@ from typing import Any
|
|
17
17
|
class AranetSensorEntityDescription(SensorEntityDescription):
|
18
18
|
name: str | None = ...
|
19
19
|
scale: float | int = ...
|
20
|
-
def __init__(self, *, key, device_class
|
20
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., scale=...) -> None: ...
|
21
21
|
|
22
22
|
SENSOR_DESCRIPTIONS: Incomplete
|
23
23
|
|
@@ -1,17 +1,16 @@
|
|
1
|
-
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN,
|
1
|
+
from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, SIGNAL_CLIENT_DATA as SIGNAL_CLIENT_DATA, SIGNAL_CLIENT_STARTED as SIGNAL_CLIENT_STARTED, SIGNAL_CLIENT_STOPPED as SIGNAL_CLIENT_STOPPED
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from arcam.fmj.client import Client
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
8
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
9
8
|
|
9
|
+
ArcamFmjConfigEntry = ConfigEntry[Client]
|
10
10
|
_LOGGER: Incomplete
|
11
11
|
CONFIG_SCHEMA: Incomplete
|
12
12
|
PLATFORMS: Incomplete
|
13
13
|
|
14
|
-
async def
|
15
|
-
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ArcamFmjConfigEntry) -> bool: ...
|
16
15
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
17
16
|
async def _run_client(hass: HomeAssistant, client: Client, interval: float) -> None: ...
|
@@ -1,14 +1,10 @@
|
|
1
|
-
from .const import DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
2
|
-
from arcam.fmj.client import Client
|
1
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
3
2
|
from homeassistant.components import ssdp as ssdp
|
4
|
-
from homeassistant.config_entries import
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
4
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
6
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
8
6
|
from typing import Any
|
9
7
|
|
10
|
-
def get_entry_client(hass: HomeAssistant, entry: ConfigEntry) -> Client: ...
|
11
|
-
|
12
8
|
class ArcamFmjFlowHandler(ConfigFlow, domain=DOMAIN):
|
13
9
|
VERSION: int
|
14
10
|
async def _async_set_unique_id_and_update(self, host: str, port: int, uuid: str) -> None: ...
|
@@ -1,11 +1,10 @@
|
|
1
|
-
from .
|
1
|
+
from . import ArcamFmjConfigEntry as ArcamFmjConfigEntry
|
2
2
|
from .const import DOMAIN as DOMAIN, EVENT_TURN_ON as EVENT_TURN_ON, SIGNAL_CLIENT_DATA as SIGNAL_CLIENT_DATA, SIGNAL_CLIENT_STARTED as SIGNAL_CLIENT_STARTED, SIGNAL_CLIENT_STOPPED as SIGNAL_CLIENT_STOPPED
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from arcam.fmj.state import State
|
5
5
|
from collections.abc import Callable as Callable, Coroutine
|
6
6
|
from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
7
7
|
from homeassistant.components.media_player.errors import BrowseError as BrowseError
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
8
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -16,7 +15,7 @@ from typing import Any
|
|
16
15
|
|
17
16
|
_LOGGER: Incomplete
|
18
17
|
|
19
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ArcamFmjConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
20
19
|
def convert_exception(func: Callable[_P, Coroutine[Any, Any, _R]]) -> Callable[_P, Coroutine[Any, Any, _R]]: ...
|
21
20
|
|
22
21
|
class ArcamFmj(MediaPlayerEntity):
|
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
13
13
|
@dataclass(frozen=True, kw_only=True)
|
14
14
|
class AsekoBinarySensorEntityDescription(BinarySensorEntityDescription):
|
15
15
|
value_fn: Callable[[Unit], bool]
|
16
|
-
def __init__(self, *, key, device_class
|
16
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., value_fn) -> None: ...
|
17
17
|
|
18
18
|
UNIT_BINARY_SENSORS: tuple[AsekoBinarySensorEntityDescription, ...]
|
19
19
|
|
@@ -8,7 +8,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
|
|
8
8
|
class AsekoEntity(CoordinatorEntity[AsekoDataUpdateCoordinator]):
|
9
9
|
_attr_has_entity_name: bool
|
10
10
|
_unit: Incomplete
|
11
|
-
_device_model:
|
11
|
+
_device_model: str
|
12
12
|
_device_name: Incomplete
|
13
13
|
_attr_device_info: Incomplete
|
14
14
|
def __init__(self, unit: Unit, coordinator: AsekoDataUpdateCoordinator) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING
|
1
|
+
from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
|
2
2
|
from .error import PipelineNotFound as PipelineNotFound
|
3
3
|
from .pipeline import AudioSettings as AudioSettings, 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, async_migrate_engine as async_migrate_engine, async_update_pipeline as async_update_pipeline
|
4
4
|
from collections.abc import AsyncIterable
|
@@ -6,7 +6,7 @@ from homeassistant.components import stt
|
|
6
6
|
from homeassistant.core import Context, HomeAssistant
|
7
7
|
from homeassistant.helpers.typing import ConfigType
|
8
8
|
|
9
|
-
__all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING']
|
9
|
+
__all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING', 'SAMPLES_PER_CHUNK', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'SAMPLE_CHANNELS']
|
10
10
|
|
11
11
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
12
12
|
async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ...) -> None: ...
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import abc
|
2
|
+
from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from abc import ABC, abstractmethod
|
5
|
+
from dataclasses import dataclass
|
6
|
+
|
7
|
+
_LOGGER: Incomplete
|
8
|
+
|
9
|
+
@dataclass(frozen=True, slots=True)
|
10
|
+
class EnhancedAudioChunk:
|
11
|
+
audio: bytes
|
12
|
+
timestamp_ms: int
|
13
|
+
is_speech: bool | None
|
14
|
+
def __init__(self, audio, timestamp_ms, is_speech) -> None: ...
|
15
|
+
|
16
|
+
class AudioEnhancer(ABC, metaclass=abc.ABCMeta):
|
17
|
+
auto_gain: Incomplete
|
18
|
+
noise_suppression: Incomplete
|
19
|
+
is_vad_enabled: Incomplete
|
20
|
+
def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
|
21
|
+
@abstractmethod
|
22
|
+
def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
|
23
|
+
|
24
|
+
class MicroVadEnhancer(AudioEnhancer):
|
25
|
+
vad: Incomplete
|
26
|
+
threshold: float
|
27
|
+
def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
|
28
|
+
def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
|
@@ -9,3 +9,9 @@ CONF_DEBUG_RECORDING_DIR: str
|
|
9
9
|
DATA_LAST_WAKE_UP: Incomplete
|
10
10
|
WAKE_WORD_COOLDOWN: int
|
11
11
|
EVENT_RECORDING: Incomplete
|
12
|
+
SAMPLE_RATE: int
|
13
|
+
SAMPLE_WIDTH: int
|
14
|
+
SAMPLE_CHANNELS: int
|
15
|
+
MS_PER_CHUNK: int
|
16
|
+
SAMPLES_PER_CHUNK: Incomplete
|
17
|
+
BYTES_PER_CHUNK: Incomplete
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import asyncio
|
2
|
-
from .
|
2
|
+
from .audio_enhancer import AudioEnhancer as AudioEnhancer, EnhancedAudioChunk as EnhancedAudioChunk, MicroVadEnhancer as MicroVadEnhancer
|
3
|
+
from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
|
3
4
|
from .error import DuplicateWakeUpDetectedError as DuplicateWakeUpDetectedError, IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionAborted as WakeWordDetectionAborted, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
|
4
5
|
from .vad import AudioBuffer as AudioBuffer, VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter, chunk_samples as chunk_samples
|
5
6
|
from _typeshed import Incomplete
|
6
7
|
from collections import deque
|
7
|
-
from collections.abc import AsyncIterable, Callable
|
8
|
+
from collections.abc import AsyncGenerator, AsyncIterable, Callable
|
8
9
|
from dataclasses import dataclass
|
9
10
|
from enum import StrEnum
|
10
11
|
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
|
@@ -18,9 +19,7 @@ from homeassistant.util.limited_size_dict import LimitedSizeDict as LimitedSizeD
|
|
18
19
|
from pathlib import Path
|
19
20
|
from queue import Queue
|
20
21
|
from threading import Thread
|
21
|
-
from typing import Any,
|
22
|
-
from typing_extensions import AsyncGenerator
|
23
|
-
from webrtc_noise_gain import AudioProcessor
|
22
|
+
from typing import Any, Literal
|
24
23
|
|
25
24
|
_LOGGER: Incomplete
|
26
25
|
STORAGE_KEY: Incomplete
|
@@ -33,37 +32,36 @@ def validate_language(data: dict[str, Any]) -> Any: ...
|
|
33
32
|
PIPELINE_FIELDS: VolDictType
|
34
33
|
STORED_PIPELINE_RUNS: int
|
35
34
|
SAVE_DELAY: int
|
36
|
-
AUDIO_PROCESSOR_SAMPLES: Final[int]
|
37
|
-
AUDIO_PROCESSOR_BYTES: Final[Incomplete]
|
38
35
|
|
39
|
-
|
36
|
+
def _async_resolve_default_pipeline_settings(hass: HomeAssistant, *, conversation_engine_id: str | None = None, stt_engine_id: str | None = None, tts_engine_id: str | None = None, pipeline_name: str) -> dict[str, str | None]: ...
|
40
37
|
async def _async_create_default_pipeline(hass: HomeAssistant, pipeline_store: PipelineStorageCollection) -> Pipeline: ...
|
41
38
|
async def async_create_default_pipeline(hass: HomeAssistant, stt_engine_id: str, tts_engine_id: str, pipeline_name: str) -> Pipeline | None: ...
|
39
|
+
def _async_get_pipeline_from_conversation_entity(hass: HomeAssistant, entity_id: str) -> Pipeline: ...
|
42
40
|
def async_get_pipeline(hass: HomeAssistant, pipeline_id: str | None = None) -> Pipeline: ...
|
43
|
-
def async_get_pipelines(hass: HomeAssistant) ->
|
41
|
+
def async_get_pipelines(hass: HomeAssistant) -> list[Pipeline]: ...
|
44
42
|
async def async_update_pipeline(hass: HomeAssistant, pipeline: Pipeline, *, conversation_engine: str | UndefinedType = ..., conversation_language: str | UndefinedType = ..., language: str | UndefinedType = ..., name: str | UndefinedType = ..., stt_engine: str | None | UndefinedType = ..., stt_language: str | None | UndefinedType = ..., tts_engine: str | None | UndefinedType = ..., tts_language: str | None | UndefinedType = ..., tts_voice: str | None | UndefinedType = ..., wake_word_entity: str | None | UndefinedType = ..., wake_word_id: str | None | UndefinedType = ...) -> None: ...
|
45
43
|
|
46
44
|
class PipelineEventType(StrEnum):
|
47
|
-
RUN_START
|
48
|
-
RUN_END
|
49
|
-
WAKE_WORD_START
|
50
|
-
WAKE_WORD_END
|
51
|
-
STT_START
|
52
|
-
STT_VAD_START
|
53
|
-
STT_VAD_END
|
54
|
-
STT_END
|
55
|
-
INTENT_START
|
56
|
-
INTENT_END
|
57
|
-
TTS_START
|
58
|
-
TTS_END
|
59
|
-
ERROR
|
45
|
+
RUN_START = 'run-start'
|
46
|
+
RUN_END = 'run-end'
|
47
|
+
WAKE_WORD_START = 'wake_word-start'
|
48
|
+
WAKE_WORD_END = 'wake_word-end'
|
49
|
+
STT_START = 'stt-start'
|
50
|
+
STT_VAD_START = 'stt-vad-start'
|
51
|
+
STT_VAD_END = 'stt-vad-end'
|
52
|
+
STT_END = 'stt-end'
|
53
|
+
INTENT_START = 'intent-start'
|
54
|
+
INTENT_END = 'intent-end'
|
55
|
+
TTS_START = 'tts-start'
|
56
|
+
TTS_END = 'tts-end'
|
57
|
+
ERROR = 'error'
|
60
58
|
|
61
59
|
@dataclass(frozen=True)
|
62
60
|
class PipelineEvent:
|
63
61
|
type: PipelineEventType
|
64
62
|
data: dict[str, Any] | None = ...
|
65
63
|
timestamp: str = ...
|
66
|
-
def __init__(self, type, data
|
64
|
+
def __init__(self, type, data=..., timestamp=...) -> None: ...
|
67
65
|
PipelineEventCallback = Callable[[PipelineEvent], None]
|
68
66
|
|
69
67
|
@dataclass(frozen=True)
|
@@ -83,14 +81,14 @@ class Pipeline:
|
|
83
81
|
@classmethod
|
84
82
|
def from_json(cls, data: dict[str, Any]) -> Pipeline: ...
|
85
83
|
def to_json(self) -> dict[str, Any]: ...
|
86
|
-
def __init__(self, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, wake_word_entity, wake_word_id, id) -> None: ...
|
84
|
+
def __init__(self, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, wake_word_entity, wake_word_id, id=...) -> None: ...
|
87
85
|
|
88
86
|
class PipelineStage(StrEnum):
|
89
|
-
WAKE_WORD
|
90
|
-
STT
|
91
|
-
INTENT
|
92
|
-
TTS
|
93
|
-
END
|
87
|
+
WAKE_WORD = 'wake_word'
|
88
|
+
STT = 'stt'
|
89
|
+
INTENT = 'intent'
|
90
|
+
TTS = 'tts'
|
91
|
+
END = 'end'
|
94
92
|
|
95
93
|
PIPELINE_STAGE_ORDER: Incomplete
|
96
94
|
|
@@ -103,7 +101,7 @@ class InvalidPipelineStagesError(PipelineRunValidationError):
|
|
103
101
|
class WakeWordSettings:
|
104
102
|
timeout: float | None = ...
|
105
103
|
audio_seconds_to_buffer: float = ...
|
106
|
-
def __init__(self, timeout
|
104
|
+
def __init__(self, timeout=..., audio_seconds_to_buffer=...) -> None: ...
|
107
105
|
|
108
106
|
@dataclass(frozen=True)
|
109
107
|
class AudioSettings:
|
@@ -111,18 +109,11 @@ class AudioSettings:
|
|
111
109
|
auto_gain_dbfs: int = ...
|
112
110
|
volume_multiplier: float = ...
|
113
111
|
is_vad_enabled: bool = ...
|
114
|
-
|
112
|
+
silence_seconds: float = ...
|
115
113
|
def __post_init__(self) -> None: ...
|
116
114
|
@property
|
117
115
|
def needs_processor(self) -> bool: ...
|
118
|
-
def __init__(self, noise_suppression_level
|
119
|
-
|
120
|
-
@dataclass(frozen=True, slots=True)
|
121
|
-
class ProcessedAudioChunk:
|
122
|
-
audio: bytes
|
123
|
-
timestamp_ms: int
|
124
|
-
is_speech: bool | None
|
125
|
-
def __init__(self, audio, timestamp_ms, is_speech) -> None: ...
|
116
|
+
def __init__(self, noise_suppression_level=..., auto_gain_dbfs=..., volume_multiplier=..., is_vad_enabled=..., silence_seconds=...) -> None: ...
|
126
117
|
|
127
118
|
@dataclass
|
128
119
|
class PipelineRun:
|
@@ -147,8 +138,8 @@ class PipelineRun:
|
|
147
138
|
abort_wake_word_detection: bool = ...
|
148
139
|
debug_recording_thread: Thread | None = ...
|
149
140
|
debug_recording_queue: Queue[str | bytes | None] | None = ...
|
150
|
-
|
151
|
-
|
141
|
+
audio_enhancer: AudioEnhancer | None = ...
|
142
|
+
audio_chunking_buffer: AudioBuffer = ...
|
152
143
|
_device_id: str | None = ...
|
153
144
|
def __post_init__(self) -> None: ...
|
154
145
|
def __eq__(self, other: object) -> bool: ...
|
@@ -156,11 +147,11 @@ class PipelineRun:
|
|
156
147
|
def start(self, device_id: str | None) -> None: ...
|
157
148
|
async def end(self) -> None: ...
|
158
149
|
async def prepare_wake_word_detection(self) -> None: ...
|
159
|
-
async def wake_word_detection(self, stream: AsyncIterable[
|
160
|
-
async def _wake_word_audio_stream(self, audio_stream: AsyncIterable[
|
150
|
+
async def wake_word_detection(self, stream: AsyncIterable[EnhancedAudioChunk], audio_chunks_for_stt: list[EnhancedAudioChunk]) -> wake_word.DetectionResult | None: ...
|
151
|
+
async def _wake_word_audio_stream(self, audio_stream: AsyncIterable[EnhancedAudioChunk], stt_audio_buffer: deque[EnhancedAudioChunk] | None, wake_word_vad: VoiceActivityTimeout | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncIterable[tuple[bytes, int]]: ...
|
161
152
|
async def prepare_speech_to_text(self, metadata: stt.SpeechMetadata) -> None: ...
|
162
|
-
async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[
|
163
|
-
async def _speech_to_text_stream(self, audio_stream: AsyncIterable[
|
153
|
+
async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[EnhancedAudioChunk]) -> str: ...
|
154
|
+
async def _speech_to_text_stream(self, audio_stream: AsyncIterable[EnhancedAudioChunk], stt_vad: VoiceCommandSegmenter | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[bytes]: ...
|
164
155
|
async def prepare_recognize_intent(self) -> None: ...
|
165
156
|
async def recognize_intent(self, intent_input: str, conversation_id: str | None, device_id: str | None) -> str: ...
|
166
157
|
async def prepare_text_to_speech(self) -> None: ...
|
@@ -168,9 +159,9 @@ class PipelineRun:
|
|
168
159
|
def _capture_chunk(self, audio_bytes: bytes | None) -> None: ...
|
169
160
|
def _start_debug_recording_thread(self) -> None: ...
|
170
161
|
async def _stop_debug_recording_thread(self) -> None: ...
|
171
|
-
async def process_volume_only(self, audio_stream: AsyncIterable[bytes]
|
172
|
-
async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes]
|
173
|
-
def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language
|
162
|
+
async def process_volume_only(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
|
163
|
+
async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
|
164
|
+
def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language=..., runner_data=..., intent_agent=..., tts_audio_output=..., wake_word_settings=..., audio_settings=..., id=..., debug_recording_thread=..., debug_recording_queue=..., audio_enhancer=..., audio_chunking_buffer=..., _device_id=...) -> None: ...
|
174
165
|
|
175
166
|
def _multiply_volume(chunk: bytes, volume_multiplier: float) -> bytes: ...
|
176
167
|
def _pipeline_debug_recording_thread_proc(run_recording_dir: Path, queue: Queue[str | bytes | None], message_timeout: float = 5) -> None: ...
|
@@ -187,7 +178,7 @@ class PipelineInput:
|
|
187
178
|
device_id: str | None = ...
|
188
179
|
async def execute(self) -> None: ...
|
189
180
|
async def validate(self) -> None: ...
|
190
|
-
def __init__(self, run, stt_metadata
|
181
|
+
def __init__(self, run, stt_metadata=..., stt_stream=..., wake_word_phrase=..., intent_input=..., tts_input=..., conversation_id=..., device_id=...) -> None: ...
|
191
182
|
|
192
183
|
class PipelinePreferred(CollectionError):
|
193
184
|
item_id: Incomplete
|
@@ -230,7 +221,7 @@ class DeviceAudioQueue:
|
|
230
221
|
queue: asyncio.Queue[bytes | None]
|
231
222
|
id: str = ...
|
232
223
|
overflow: bool = ...
|
233
|
-
def __init__(self, queue, id
|
224
|
+
def __init__(self, queue, id=..., overflow=...) -> None: ...
|
234
225
|
|
235
226
|
@dataclass(slots=True)
|
236
227
|
class AssistDevice:
|
@@ -1,35 +1,20 @@
|
|
1
|
-
import abc
|
2
1
|
from _typeshed import Incomplete
|
3
|
-
from abc import
|
4
|
-
from collections.abc import Iterable
|
2
|
+
from collections.abc import Callable as Callable, Iterable
|
5
3
|
from dataclasses import dataclass
|
6
4
|
from enum import StrEnum
|
7
5
|
from typing import Final
|
8
6
|
|
7
|
+
_LOGGER: Incomplete
|
9
8
|
_SAMPLE_RATE: Final[int]
|
10
9
|
_SAMPLE_WIDTH: Final[int]
|
11
10
|
|
12
11
|
class VadSensitivity(StrEnum):
|
13
|
-
DEFAULT
|
14
|
-
RELAXED
|
15
|
-
AGGRESSIVE
|
12
|
+
DEFAULT = 'default'
|
13
|
+
RELAXED = 'relaxed'
|
14
|
+
AGGRESSIVE = 'aggressive'
|
16
15
|
@staticmethod
|
17
16
|
def to_seconds(sensitivity: VadSensitivity | str) -> float: ...
|
18
17
|
|
19
|
-
class VoiceActivityDetector(ABC, metaclass=abc.ABCMeta):
|
20
|
-
@abstractmethod
|
21
|
-
def is_speech(self, chunk: bytes) -> bool: ...
|
22
|
-
@property
|
23
|
-
@abstractmethod
|
24
|
-
def samples_per_chunk(self) -> int | None: ...
|
25
|
-
|
26
|
-
class WebRtcVad(VoiceActivityDetector):
|
27
|
-
_audio_processor: Incomplete
|
28
|
-
def __init__(self) -> None: ...
|
29
|
-
def is_speech(self, chunk: bytes) -> bool: ...
|
30
|
-
@property
|
31
|
-
def samples_per_chunk(self) -> int | None: ...
|
32
|
-
|
33
18
|
class AudioBuffer:
|
34
19
|
_buffer: Incomplete
|
35
20
|
_length: int
|
@@ -56,8 +41,8 @@ class VoiceCommandSegmenter:
|
|
56
41
|
def __post_init__(self) -> None: ...
|
57
42
|
def reset(self) -> None: ...
|
58
43
|
def process(self, chunk_seconds: float, is_speech: bool | None) -> bool: ...
|
59
|
-
def process_with_vad(self, chunk: bytes,
|
60
|
-
def __init__(self, speech_seconds
|
44
|
+
def process_with_vad(self, chunk: bytes, vad_samples_per_chunk: int | None, vad_is_speech: Callable[[bytes], bool], leftover_chunk_buffer: AudioBuffer | None) -> bool: ...
|
45
|
+
def __init__(self, speech_seconds=..., silence_seconds=..., timeout_seconds=..., reset_seconds=..., in_command=..., _speech_seconds_left=..., _silence_seconds_left=..., _timeout_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
61
46
|
|
62
47
|
@dataclass
|
63
48
|
class VoiceActivityTimeout:
|
@@ -68,6 +53,6 @@ class VoiceActivityTimeout:
|
|
68
53
|
def __post_init__(self) -> None: ...
|
69
54
|
def reset(self) -> None: ...
|
70
55
|
def process(self, chunk_seconds: float, is_speech: bool | None) -> bool: ...
|
71
|
-
def __init__(self, silence_seconds, reset_seconds
|
56
|
+
def __init__(self, silence_seconds, reset_seconds=..., _silence_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
72
57
|
|
73
58
|
def chunk_samples(samples: bytes, bytes_per_chunk: int, leftover_chunk_buffer: AudioBuffer) -> Iterable[bytes]: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DEFAULT_PIPELINE_TIMEOUT as DEFAULT_PIPELINE_TIMEOUT, DEFAULT_WAKE_WORD_TIMEOUT as DEFAULT_WAKE_WORD_TIMEOUT, DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING
|
1
|
+
from .const import DEFAULT_PIPELINE_TIMEOUT as DEFAULT_PIPELINE_TIMEOUT, DEFAULT_WAKE_WORD_TIMEOUT as DEFAULT_WAKE_WORD_TIMEOUT, DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
|
2
2
|
from .error import PipelineNotFound as PipelineNotFound
|
3
3
|
from .pipeline import AudioSettings as AudioSettings, DeviceAudioQueue as DeviceAudioQueue, 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
|
4
4
|
from _typeshed import Incomplete
|
@@ -19,5 +19,5 @@ async def websocket_run(hass: HomeAssistant, connection: websocket_api.ActiveCon
|
|
19
19
|
def websocket_list_runs(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
20
20
|
def websocket_list_devices(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
21
21
|
def websocket_get_run(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
22
|
-
|
22
|
+
def websocket_list_languages(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
23
23
|
async def websocket_device_capture(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
|
|
4
4
|
from abc import ABC, abstractmethod
|
5
5
|
from aioasuswrt.asuswrt import AsusWrt as AsusWrtLegacy
|
6
6
|
from aiohttp import ClientSession as ClientSession
|
7
|
-
from collections.abc import Callable, Coroutine
|
7
|
+
from collections.abc import Awaitable, Callable, Coroutine
|
8
8
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODE as CONF_MODE, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
@@ -25,7 +25,7 @@ class WrtDevice(NamedTuple):
|
|
25
25
|
connected_to: Incomplete
|
26
26
|
|
27
27
|
_LOGGER: Incomplete
|
28
|
-
_FuncType
|
28
|
+
_FuncType = Callable[[_T], Awaitable[list[Any] | tuple[Any] | dict[str, Any]]]
|
29
29
|
_ReturnFuncType = Callable[[_T], Coroutine[Any, Any, dict[str, Any]]]
|
30
30
|
|
31
31
|
def handle_errors_and_zip(exceptions: type[Exception] | tuple[type[Exception], ...], keys: list[str] | None) -> Callable[[_FuncType[_AsusWrtBridgeT]], _ReturnFuncType[_AsusWrtBridgeT]]: ...
|
@@ -13,7 +13,7 @@ from homeassistant.util import slugify as slugify
|
|
13
13
|
@dataclass(frozen=True)
|
14
14
|
class AsusWrtSensorEntityDescription(SensorEntityDescription):
|
15
15
|
factor: int | None = ...
|
16
|
-
def __init__(self, *, key, device_class
|
16
|
+
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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., factor=...) -> None: ...
|
17
17
|
|
18
18
|
UNIT_DEVICES: str
|
19
19
|
CONNECTION_SENSORS: tuple[AsusWrtSensorEntityDescription, ...]
|