homeassistant-stubs 2024.11.2__py3-none-any.whl → 2024.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/__main__.pyi +1 -0
- homeassistant-stubs/auth/mfa_modules/totp.pyi +4 -4
- homeassistant-stubs/backup_restore.pyi +17 -0
- homeassistant-stubs/components/airnow/config_flow.pyi +3 -3
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -2
- homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
- homeassistant-stubs/components/amberelectric/coordinator.pyi +7 -7
- homeassistant-stubs/components/amberelectric/sensor.pyi +3 -4
- homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -3
- homeassistant-stubs/components/androidtv/config_flow.pyi +2 -2
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
- homeassistant-stubs/components/apsystems/coordinator.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +2 -3
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
- homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
- homeassistant-stubs/components/axis/config_flow.pyi +2 -2
- homeassistant-stubs/components/backup/http.pyi +7 -3
- homeassistant-stubs/components/backup/manager.pyi +8 -0
- homeassistant-stubs/components/backup/websocket.pyi +1 -0
- homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
- homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +7 -3
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +3 -0
- homeassistant-stubs/components/brother/sensor.pyi +0 -1
- homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
- homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
- homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
- homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
- homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
- homeassistant-stubs/components/camera/__init__.pyi +5 -3
- homeassistant-stubs/components/camera/webrtc.pyi +10 -6
- homeassistant-stubs/components/canary/config_flow.pyi +0 -2
- homeassistant-stubs/components/climate/__init__.pyi +10 -3
- homeassistant-stubs/components/climate/const.pyi +6 -0
- homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
- homeassistant-stubs/components/climate/significant_change.pyi +1 -1
- homeassistant-stubs/components/cloud/prefs.pyi +1 -1
- homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
- homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
- homeassistant-stubs/components/demo/climate.pyi +8 -1
- homeassistant-stubs/components/demo/config_flow.pyi +0 -1
- homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
- homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
- homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
- homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
- homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
- homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
- homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
- homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
- homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
- homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
- homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
- homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
- homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
- homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
- homeassistant-stubs/components/esphome/media_player.pyi +2 -1
- homeassistant-stubs/components/esphome/select.pyi +18 -1
- homeassistant-stubs/components/fan/__init__.pyi +1 -1
- homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
- homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
- homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
- homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
- homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
- homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
- homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
- homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
- homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
- homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
- homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
- homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
- homeassistant-stubs/components/fyta/__init__.pyi +1 -0
- homeassistant-stubs/components/glances/__init__.pyi +0 -2
- homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
- homeassistant-stubs/components/google/config_flow.pyi +0 -2
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
- homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
- homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
- homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
- homeassistant-stubs/components/history/__init__.pyi +1 -1
- homeassistant-stubs/components/history/helpers.pyi +1 -2
- homeassistant-stubs/components/history/websocket_api.pyi +1 -1
- homeassistant-stubs/components/history_stats/data.pyi +1 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
- homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
- homeassistant-stubs/components/homewizard/button.pyi +2 -0
- homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
- homeassistant-stubs/components/homewizard/const.pyi +1 -1
- homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
- homeassistant-stubs/components/homewizard/number.pyi +2 -0
- homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
- homeassistant-stubs/components/homewizard/switch.pyi +4 -2
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
- homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
- homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
- homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
- homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
- homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
- homeassistant-stubs/components/imap/config_flow.pyi +3 -3
- homeassistant-stubs/components/imap/sensor.pyi +1 -1
- homeassistant-stubs/components/intent/timers.pyi +6 -0
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
- homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
- homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
- homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
- homeassistant-stubs/components/knx/__init__.pyi +1 -1
- homeassistant-stubs/components/knx/config_flow.pyi +0 -1
- homeassistant-stubs/components/knx/light.pyi +3 -3
- homeassistant-stubs/components/knx/telegrams.pyi +1 -0
- homeassistant-stubs/components/knx/websocket.pyi +1 -0
- homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
- homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
- homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +10 -6
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
- homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
- homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
- homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
- homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
- homeassistant-stubs/components/lcn/__init__.pyi +4 -4
- homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
- homeassistant-stubs/components/lcn/helpers.pyi +2 -4
- homeassistant-stubs/components/lcn/schemas.pyi +2 -13
- homeassistant-stubs/components/lcn/services.pyi +2 -0
- homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
- homeassistant-stubs/components/linkplay/button.pyi +28 -0
- homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
- homeassistant-stubs/components/linkplay/entity.pyi +16 -0
- homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
- homeassistant-stubs/components/linkplay/utils.pyi +12 -0
- homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
- homeassistant-stubs/components/matter/adapter.pyi +1 -0
- homeassistant-stubs/components/matter/const.pyi +1 -0
- homeassistant-stubs/components/matter/discovery.pyi +1 -0
- homeassistant-stubs/components/matter/entity.pyi +2 -1
- homeassistant-stubs/components/matter/models.pyi +4 -2
- homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
- homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
- homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
- homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
- homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
- homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
- homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
- homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/button.pyi +1 -0
- homeassistant-stubs/components/mqtt/camera.pyi +1 -0
- homeassistant-stubs/components/mqtt/climate.pyi +1 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +3 -4
- homeassistant-stubs/components/mqtt/cover.pyi +1 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
- homeassistant-stubs/components/mqtt/entity.pyi +1 -0
- homeassistant-stubs/components/mqtt/event.pyi +1 -0
- homeassistant-stubs/components/mqtt/fan.pyi +1 -0
- homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
- homeassistant-stubs/components/mqtt/image.pyi +1 -0
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
- homeassistant-stubs/components/mqtt/lock.pyi +1 -0
- homeassistant-stubs/components/mqtt/notify.pyi +1 -0
- homeassistant-stubs/components/mqtt/number.pyi +1 -0
- homeassistant-stubs/components/mqtt/scene.pyi +1 -0
- homeassistant-stubs/components/mqtt/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/siren.pyi +1 -0
- homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
- homeassistant-stubs/components/mqtt/switch.pyi +1 -0
- homeassistant-stubs/components/mqtt/text.pyi +1 -0
- homeassistant-stubs/components/mqtt/update.pyi +1 -0
- homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
- homeassistant-stubs/components/mqtt/valve.pyi +1 -0
- homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
- homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
- homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
- homeassistant-stubs/components/music_assistant/const.pyi +12 -0
- homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
- homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
- homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
- homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
- homeassistant-stubs/components/nasweb/const.pyi +5 -0
- homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
- homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
- homeassistant-stubs/components/nasweb/switch.pyi +35 -0
- homeassistant-stubs/components/nest/camera.pyi +3 -5
- homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
- homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
- homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
- homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
- homeassistant-stubs/components/nordpool/const.pyi +9 -0
- homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
- homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
- homeassistant-stubs/components/nordpool/entity.pyi +14 -0
- homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
- homeassistant-stubs/components/number/const.pyi +3 -1
- homeassistant-stubs/components/nut/__init__.pyi +4 -1
- homeassistant-stubs/components/nut/config_flow.pyi +0 -2
- homeassistant-stubs/components/nut/sensor.pyi +1 -1
- homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
- homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
- homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
- homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
- homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
- homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
- homeassistant-stubs/components/ping/__init__.pyi +2 -6
- homeassistant-stubs/components/ping/config_flow.pyi +2 -2
- homeassistant-stubs/components/plugwise/climate.pyi +4 -2
- homeassistant-stubs/components/plugwise/entity.pyi +2 -2
- homeassistant-stubs/components/plugwise/number.pyi +2 -2
- homeassistant-stubs/components/plugwise/select.pyi +2 -1
- homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
- homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
- homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
- homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
- homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
- homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
- homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
- homeassistant-stubs/components/recorder/core.pyi +1 -0
- homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
- homeassistant-stubs/components/recorder/history/modern.pyi +2 -2
- homeassistant-stubs/components/recorder/pool.pyi +1 -1
- homeassistant-stubs/components/recorder/queries.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/renault/config_flow.pyi +4 -5
- homeassistant-stubs/components/renault/services.pyi +1 -0
- homeassistant-stubs/components/reolink/__init__.pyi +28 -0
- homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
- homeassistant-stubs/components/reolink/button.pyi +48 -0
- homeassistant-stubs/components/reolink/camera.pyi +28 -0
- homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
- homeassistant-stubs/components/reolink/const.pyi +2 -0
- homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
- homeassistant-stubs/components/reolink/entity.pyi +69 -0
- homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
- homeassistant-stubs/components/reolink/host.pyi +82 -0
- homeassistant-stubs/components/reolink/light.pyi +55 -0
- homeassistant-stubs/components/reolink/media_source.pyi +27 -0
- homeassistant-stubs/components/reolink/number.pyi +69 -0
- homeassistant-stubs/components/reolink/select.pyi +54 -0
- homeassistant-stubs/components/reolink/sensor.pyi +55 -0
- homeassistant-stubs/components/reolink/services.pyi +12 -0
- homeassistant-stubs/components/reolink/siren.pyi +26 -0
- homeassistant-stubs/components/reolink/switch.pyi +65 -0
- homeassistant-stubs/components/reolink/update.pyi +71 -0
- homeassistant-stubs/components/reolink/util.pyi +18 -0
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
- homeassistant-stubs/components/ring/__init__.pyi +0 -1
- homeassistant-stubs/components/ring/camera.pyi +22 -6
- homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
- homeassistant-stubs/components/roborock/sensor.pyi +1 -1
- homeassistant-stubs/components/roku/config_flow.pyi +3 -3
- homeassistant-stubs/components/romy/sensor.pyi +1 -1
- homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
- homeassistant-stubs/components/sensor/const.pyi +4 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
- homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
- homeassistant-stubs/components/shelly/update.pyi +4 -1
- homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
- homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
- homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
- homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
- homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
- homeassistant-stubs/components/spotify/browse_media.pyi +2 -2
- homeassistant-stubs/components/spotify/coordinator.pyi +2 -4
- homeassistant-stubs/components/sql/config_flow.pyi +2 -2
- homeassistant-stubs/components/statistics/sensor.pyi +2 -4
- homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
- homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
- homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
- homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
- homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
- homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
- homeassistant-stubs/components/stream/const.pyi +3 -2
- homeassistant-stubs/components/stream/core.pyi +2 -2
- homeassistant-stubs/components/stream/worker.pyi +15 -13
- homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
- homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
- homeassistant-stubs/components/suez_water/const.pyi +3 -0
- homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
- homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
- homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
- homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
- homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
- homeassistant-stubs/components/tedee/entity.pyi +1 -1
- homeassistant-stubs/components/tedee/lock.pyi +3 -1
- homeassistant-stubs/components/tedee/sensor.pyi +1 -1
- homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
- homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/tibber/__init__.pyi +1 -2
- homeassistant-stubs/components/tibber/notify.pyi +1 -10
- homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
- homeassistant-stubs/components/tplink/__init__.pyi +1 -1
- homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
- homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
- homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
- homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
- homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
- homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
- homeassistant-stubs/components/trend/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/tts/__init__.pyi +3 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
- homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
- homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
- homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
- homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
- homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
- homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
- homeassistant-stubs/components/websocket_api/http.pyi +2 -1
- homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
- homeassistant-stubs/components/wled/config_flow.pyi +2 -2
- homeassistant-stubs/components/workday/config_flow.pyi +2 -2
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
- homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
- homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +9 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
- homeassistant-stubs/components/zwave_js/const.pyi +1 -0
- homeassistant-stubs/config_entries.pyi +15 -7
- homeassistant-stubs/const.pyi +26 -1
- homeassistant-stubs/core_config.pyi +1 -1
- homeassistant-stubs/data_entry_flow.pyi +3 -3
- homeassistant-stubs/helpers/device_registry.pyi +0 -1
- homeassistant-stubs/helpers/entity.pyi +1 -0
- homeassistant-stubs/helpers/entity_platform.pyi +1 -0
- homeassistant-stubs/helpers/frame.pyi +12 -3
- homeassistant-stubs/helpers/intent.pyi +1 -0
- homeassistant-stubs/helpers/llm.pyi +2 -3
- homeassistant-stubs/helpers/restore_state.pyi +0 -3
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
- homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
- homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
- homeassistant-stubs/loader.pyi +1 -0
- homeassistant-stubs/runner.pyi +0 -4
- homeassistant-stubs/util/json.pyi +3 -3
- homeassistant-stubs/util/unit_conversion.pyi +20 -1
- homeassistant-stubs/util/unit_system.pyi +7 -4
- homeassistant-stubs/util/yaml/loader.pyi +0 -19
- {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/RECORD +392 -337
- homeassistant-stubs/components/spotify/sensor.pyi +0 -31
- {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/licenses/LICENSE +0 -0
homeassistant-stubs/__main__.pyi
CHANGED
@@ -40,10 +40,10 @@ class TotpAuthModule(MultiFactorAuthModule):
|
|
40
40
|
def _validate_2fa(self, user_id: str, code: str) -> bool: ...
|
41
41
|
|
42
42
|
class TotpSetupFlow(SetupFlow):
|
43
|
-
_auth_module:
|
44
|
-
_user: Incomplete
|
43
|
+
_auth_module: TotpAuthModule
|
45
44
|
_ota_secret: str
|
46
|
-
_url:
|
47
|
-
_image:
|
45
|
+
_url: str
|
46
|
+
_image: str
|
47
|
+
_user: Incomplete
|
48
48
|
def __init__(self, auth_module: TotpAuthModule, setup_schema: vol.Schema, user: User) -> None: ...
|
49
49
|
async def async_step_init(self, user_input: dict[str, str] | None = None) -> FlowResult: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from dataclasses import dataclass
|
3
|
+
from pathlib import Path
|
4
|
+
|
5
|
+
RESTORE_BACKUP_FILE: str
|
6
|
+
KEEP_PATHS: Incomplete
|
7
|
+
_LOGGER: Incomplete
|
8
|
+
|
9
|
+
@dataclass
|
10
|
+
class RestoreBackupFileContent:
|
11
|
+
backup_file_path: Path
|
12
|
+
def __init__(self, backup_file_path) -> None: ...
|
13
|
+
|
14
|
+
def restore_backup_file_content(config_dir: Path) -> RestoreBackupFileContent | None: ...
|
15
|
+
def _clear_configuration_directory(config_dir: Path) -> None: ...
|
16
|
+
def _extract_backup(config_dir: Path, backup_file_path: Path) -> None: ...
|
17
|
+
def restore_backup(config_dir_path: str) -> bool: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
4
4
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_RADIUS as CONF_RADIUS
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -15,9 +15,9 @@ class AirNowConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
15
15
|
VERSION: int
|
16
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
17
|
@staticmethod
|
18
|
-
def async_get_options_flow(config_entry: ConfigEntry) ->
|
18
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> AirNowOptionsFlowHandler: ...
|
19
19
|
|
20
|
-
class AirNowOptionsFlowHandler(
|
20
|
+
class AirNowOptionsFlowHandler(OptionsFlow):
|
21
21
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
22
22
|
|
23
23
|
class CannotConnect(HomeAssistantError): ...
|
@@ -10,6 +10,7 @@ from homeassistant.helpers.deprecation import all_with_deprecated_constants as a
|
|
10
10
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
11
11
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
12
12
|
from homeassistant.helpers.entity_platform import EntityPlatform as EntityPlatform
|
13
|
+
from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
|
13
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
14
15
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
15
16
|
from typing import Any, Final
|
@@ -42,9 +43,8 @@ class AlarmControlPanelEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_A
|
|
42
43
|
_attr_supported_features: AlarmControlPanelEntityFeature
|
43
44
|
_alarm_control_panel_option_default_code: str | None
|
44
45
|
__alarm_legacy_state: bool
|
45
|
-
__alarm_legacy_state_reported: bool
|
46
46
|
def __init_subclass__(cls, **kwargs: Any) -> None: ...
|
47
|
-
def __setattr__(self,
|
47
|
+
def __setattr__(self, name: str, value: Any, /) -> None: ...
|
48
48
|
def add_to_platform_start(self, hass: HomeAssistant, platform: EntityPlatform, parallel_updates: asyncio.Semaphore | None) -> None: ...
|
49
49
|
def _report_deprecated_alarm_state_handling(self) -> None: ...
|
50
50
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import CONF_SITE_ID as CONF_SITE_ID, CONF_SITE_NAME as CONF_SITE_NAME, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from amberelectric.
|
3
|
+
from amberelectric.models.site import Site as Site
|
4
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN
|
6
6
|
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
|
@@ -1,10 +1,10 @@
|
|
1
|
+
import amberelectric
|
1
2
|
from .const import LOGGER as LOGGER
|
2
3
|
from _typeshed import Incomplete
|
3
|
-
from amberelectric.
|
4
|
-
from amberelectric.
|
5
|
-
from amberelectric.
|
6
|
-
from amberelectric.
|
7
|
-
from amberelectric.model.interval import Descriptor as Descriptor
|
4
|
+
from amberelectric.models.actual_interval import ActualInterval as ActualInterval
|
5
|
+
from amberelectric.models.current_interval import CurrentInterval
|
6
|
+
from amberelectric.models.forecast_interval import ForecastInterval
|
7
|
+
from amberelectric.models.price_descriptor import PriceDescriptor as PriceDescriptor
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
10
10
|
from typing import Any
|
@@ -14,11 +14,11 @@ def is_forecast(interval: ActualInterval | CurrentInterval | ForecastInterval) -
|
|
14
14
|
def is_general(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
|
15
15
|
def is_controlled_load(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
|
16
16
|
def is_feed_in(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
|
17
|
-
def normalize_descriptor(descriptor:
|
17
|
+
def normalize_descriptor(descriptor: PriceDescriptor | None) -> str | None: ...
|
18
18
|
|
19
19
|
class AmberUpdateCoordinator(DataUpdateCoordinator):
|
20
20
|
_api: Incomplete
|
21
21
|
site_id: Incomplete
|
22
|
-
def __init__(self, hass: HomeAssistant, api:
|
22
|
+
def __init__(self, hass: HomeAssistant, api: amberelectric.AmberApi, site_id: str) -> None: ...
|
23
23
|
def update_price_data(self) -> dict[str, dict[str, Any]]: ...
|
24
24
|
async def _async_update_data(self) -> dict[str, Any]: ...
|
@@ -2,9 +2,8 @@ from . import AmberConfigEntry as AmberConfigEntry
|
|
2
2
|
from .const import ATTRIBUTION as ATTRIBUTION
|
3
3
|
from .coordinator import AmberUpdateCoordinator as AmberUpdateCoordinator, normalize_descriptor as normalize_descriptor
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from amberelectric.
|
6
|
-
from amberelectric.
|
7
|
-
from amberelectric.model.forecast_interval import ForecastInterval as ForecastInterval
|
5
|
+
from amberelectric.models.current_interval import CurrentInterval as CurrentInterval
|
6
|
+
from amberelectric.models.forecast_interval import ForecastInterval as ForecastInterval
|
8
7
|
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
8
|
from homeassistant.const import CURRENCY_DOLLAR as CURRENCY_DOLLAR, PERCENTAGE as PERCENTAGE, UnitOfEnergy as UnitOfEnergy
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -23,7 +22,7 @@ class AmberSensor(CoordinatorEntity[AmberUpdateCoordinator], SensorEntity):
|
|
23
22
|
entity_description: Incomplete
|
24
23
|
channel_type: Incomplete
|
25
24
|
_attr_unique_id: Incomplete
|
26
|
-
def __init__(self, coordinator: AmberUpdateCoordinator, description: SensorEntityDescription, channel_type:
|
25
|
+
def __init__(self, coordinator: AmberUpdateCoordinator, description: SensorEntityDescription, channel_type: str) -> None: ...
|
27
26
|
|
28
27
|
class AmberPriceSensor(AmberSensor):
|
29
28
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import CONF_TRACKED_ADDONS as CONF_TRACKED_ADDONS, CONF_TRACKED_CUSTOM_INTEGRATIONS as CONF_TRACKED_CUSTOM_INTEGRATIONS, CONF_TRACKED_INTEGRATIONS as CONF_TRACKED_INTEGRATIONS, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
4
4
|
from homeassistant.core import callback as callback
|
5
5
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
6
6
|
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
|
@@ -10,8 +10,8 @@ INTEGRATION_TYPES_WITHOUT_ANALYTICS: Incomplete
|
|
10
10
|
|
11
11
|
class HomeassistantAnalyticsConfigFlow(ConfigFlow, domain=DOMAIN):
|
12
12
|
@staticmethod
|
13
|
-
def async_get_options_flow(config_entry: ConfigEntry) ->
|
13
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> HomeassistantAnalyticsOptionsFlowHandler: ...
|
14
14
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
15
15
|
|
16
|
-
class HomeassistantAnalyticsOptionsFlowHandler(
|
16
|
+
class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlow):
|
17
17
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from . import async_connect_androidtv as async_connect_androidtv, get_androidtv_mac as get_androidtv_mac
|
2
2
|
from .const import CONF_ADBKEY as CONF_ADBKEY, CONF_ADB_SERVER_IP as CONF_ADB_SERVER_IP, CONF_ADB_SERVER_PORT as CONF_ADB_SERVER_PORT, CONF_APPS as CONF_APPS, CONF_EXCLUDE_UNNAMED_APPS as CONF_EXCLUDE_UNNAMED_APPS, CONF_GET_SOURCES as CONF_GET_SOURCES, CONF_SCREENCAP_INTERVAL as CONF_SCREENCAP_INTERVAL, CONF_STATE_DETECTION_RULES as CONF_STATE_DETECTION_RULES, CONF_TURN_OFF_COMMAND as CONF_TURN_OFF_COMMAND, CONF_TURN_ON_COMMAND as CONF_TURN_ON_COMMAND, DEFAULT_ADB_SERVER_PORT as DEFAULT_ADB_SERVER_PORT, DEFAULT_DEVICE_CLASS as DEFAULT_DEVICE_CLASS, DEFAULT_EXCLUDE_UNNAMED_APPS as DEFAULT_EXCLUDE_UNNAMED_APPS, DEFAULT_GET_SOURCES as DEFAULT_GET_SOURCES, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SCREENCAP_INTERVAL as DEFAULT_SCREENCAP_INTERVAL, DEVICE_CLASSES as DEVICE_CLASSES, DOMAIN as DOMAIN, PROP_ETHMAC as PROP_ETHMAC, PROP_WIFIMAC as PROP_WIFIMAC
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
5
5
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
6
6
|
from homeassistant.core import callback as callback
|
7
7
|
from homeassistant.helpers.selector import ObjectSelector as ObjectSelector, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
|
@@ -30,7 +30,7 @@ class AndroidTVFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
30
30
|
@staticmethod
|
31
31
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
|
32
32
|
|
33
|
-
class OptionsFlowHandler(
|
33
|
+
class OptionsFlowHandler(OptionsFlow):
|
34
34
|
_apps: Incomplete
|
35
35
|
_state_det_rules: Incomplete
|
36
36
|
_conf_app_id: Incomplete
|
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
|
|
4
4
|
from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
|
5
5
|
from collections.abc import Mapping
|
6
6
|
from homeassistant.components import zeroconf as zeroconf
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
|
8
8
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME
|
9
9
|
from homeassistant.core import callback as callback
|
10
10
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
@@ -34,7 +34,7 @@ class AndroidTVRemoteConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
34
34
|
@staticmethod
|
35
35
|
def async_get_options_flow(config_entry: ConfigEntry) -> AndroidTVRemoteOptionsFlowHandler: ...
|
36
36
|
|
37
|
-
class AndroidTVRemoteOptionsFlowHandler(
|
37
|
+
class AndroidTVRemoteOptionsFlowHandler(OptionsFlow):
|
38
38
|
_apps: Incomplete
|
39
39
|
_conf_app_id: Incomplete
|
40
40
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import LOGGER as LOGGER
|
1
|
+
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
2
|
from APsystemsEZ1 import APsystemsEZ1M as APsystemsEZ1M, ReturnAlarmInfo as ReturnAlarmInfo, ReturnOutputData as ReturnOutputData
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from dataclasses import dataclass
|
@@ -10,8 +10,8 @@ _LOGGER: Incomplete
|
|
10
10
|
class EnhancedAudioChunk:
|
11
11
|
audio: bytes
|
12
12
|
timestamp_ms: int
|
13
|
-
|
14
|
-
def __init__(self, audio, timestamp_ms,
|
13
|
+
speech_probability: float | None
|
14
|
+
def __init__(self, audio, timestamp_ms, speech_probability) -> None: ...
|
15
15
|
|
16
16
|
class AudioEnhancer(ABC, metaclass=abc.ABCMeta):
|
17
17
|
auto_gain: Incomplete
|
@@ -26,6 +26,5 @@ class MicroVadSpeexEnhancer(AudioEnhancer):
|
|
26
26
|
noise_suppression: Incomplete
|
27
27
|
auto_gain: Incomplete
|
28
28
|
vad: Incomplete
|
29
|
-
threshold: float
|
30
29
|
def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
|
31
30
|
def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
|
@@ -11,6 +11,7 @@ from enum import StrEnum
|
|
11
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
|
12
12
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
|
13
13
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
|
+
from homeassistant.helpers import intent as intent
|
14
15
|
from homeassistant.helpers.collection import CHANGE_UPDATED as CHANGE_UPDATED, CollectionError as CollectionError, ItemNotFound as ItemNotFound, SerializedStorageCollection as SerializedStorageCollection, StorageCollection as StorageCollection, StorageCollectionWebsocket as StorageCollectionWebsocket
|
15
16
|
from homeassistant.helpers.singleton import singleton as singleton
|
16
17
|
from homeassistant.helpers.storage import Store as Store
|
@@ -39,7 +40,7 @@ async def async_create_default_pipeline(hass: HomeAssistant, stt_engine_id: str,
|
|
39
40
|
def _async_get_pipeline_from_conversation_entity(hass: HomeAssistant, entity_id: str) -> Pipeline: ...
|
40
41
|
def async_get_pipeline(hass: HomeAssistant, pipeline_id: str | None = None) -> Pipeline: ...
|
41
42
|
def async_get_pipelines(hass: HomeAssistant) -> list[Pipeline]: ...
|
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: ...
|
43
|
+
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 = ..., prefer_local_intents: bool | UndefinedType = ...) -> None: ...
|
43
44
|
|
44
45
|
class PipelineEventType(StrEnum):
|
45
46
|
RUN_START = 'run-start'
|
@@ -77,11 +78,12 @@ class Pipeline:
|
|
77
78
|
tts_voice: str | None
|
78
79
|
wake_word_entity: str | None
|
79
80
|
wake_word_id: str | None
|
81
|
+
prefer_local_intents: bool = ...
|
80
82
|
id: str = ...
|
81
83
|
@classmethod
|
82
84
|
def from_json(cls, data: dict[str, Any]) -> Pipeline: ...
|
83
85
|
def to_json(self) -> dict[str, Any]: ...
|
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: ...
|
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, prefer_local_intents=..., id=...) -> None: ...
|
85
87
|
|
86
88
|
class PipelineStage(StrEnum):
|
87
89
|
WAKE_WORD = 'wake_word'
|
@@ -34,6 +34,8 @@ class VoiceCommandSegmenter:
|
|
34
34
|
reset_seconds: float = ...
|
35
35
|
in_command: bool = ...
|
36
36
|
timed_out: bool = ...
|
37
|
+
before_command_speech_threshold: float = ...
|
38
|
+
in_command_speech_threshold: float = ...
|
37
39
|
_speech_seconds_left: float = ...
|
38
40
|
_command_seconds_left: float = ...
|
39
41
|
_silence_seconds_left: float = ...
|
@@ -41,19 +43,20 @@ class VoiceCommandSegmenter:
|
|
41
43
|
_reset_seconds_left: float = ...
|
42
44
|
def __post_init__(self) -> None: ...
|
43
45
|
def reset(self) -> None: ...
|
44
|
-
def process(self, chunk_seconds: float,
|
46
|
+
def process(self, chunk_seconds: float, speech_probability: float | None) -> bool: ...
|
45
47
|
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: ...
|
46
|
-
def __init__(self, speech_seconds=..., command_seconds=..., silence_seconds=..., timeout_seconds=..., reset_seconds=..., in_command=..., timed_out=..., _speech_seconds_left=..., _command_seconds_left=..., _silence_seconds_left=..., _timeout_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
48
|
+
def __init__(self, speech_seconds=..., command_seconds=..., silence_seconds=..., timeout_seconds=..., reset_seconds=..., in_command=..., timed_out=..., before_command_speech_threshold=..., in_command_speech_threshold=..., _speech_seconds_left=..., _command_seconds_left=..., _silence_seconds_left=..., _timeout_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
47
49
|
|
48
50
|
@dataclass
|
49
51
|
class VoiceActivityTimeout:
|
50
52
|
silence_seconds: float
|
51
53
|
reset_seconds: float = ...
|
54
|
+
speech_threshold: float = ...
|
52
55
|
_silence_seconds_left: float = ...
|
53
56
|
_reset_seconds_left: float = ...
|
54
57
|
def __post_init__(self) -> None: ...
|
55
58
|
def reset(self) -> None: ...
|
56
|
-
def process(self, chunk_seconds: float,
|
57
|
-
def __init__(self, silence_seconds, reset_seconds=..., _silence_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
59
|
+
def process(self, chunk_seconds: float, speech_probability: float | None) -> bool: ...
|
60
|
+
def __init__(self, silence_seconds, reset_seconds=..., speech_threshold=..., _silence_seconds_left=..., _reset_seconds_left=...) -> None: ...
|
58
61
|
|
59
62
|
def chunk_samples(samples: bytes, bytes_per_chunk: int, leftover_chunk_buffer: AudioBuffer) -> Iterable[bytes]: ...
|
@@ -5,7 +5,7 @@ from .hub import AxisHub as AxisHub, get_axis_api as get_axis_api
|
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from collections.abc import Mapping
|
7
7
|
from homeassistant.components import dhcp as dhcp, ssdp as ssdp, zeroconf as zeroconf
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
9
9
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
10
10
|
from homeassistant.core import callback as callback
|
11
11
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
@@ -35,7 +35,7 @@ class AxisFlowHandler(ConfigFlow, domain=AXIS_DOMAIN):
|
|
35
35
|
async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
36
36
|
async def _process_discovered_device(self, discovery_info: dict[str, Any]) -> ConfigFlowResult: ...
|
37
37
|
|
38
|
-
class AxisOptionsFlowHandler(
|
38
|
+
class AxisOptionsFlowHandler(OptionsFlow):
|
39
39
|
config_entry: AxisConfigEntry
|
40
40
|
hub: AxisHub
|
41
41
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,7 +1,6 @@
|
|
1
|
-
from .const import
|
2
|
-
from .manager import BaseBackupManager as BaseBackupManager
|
1
|
+
from .const import DATA_MANAGER as DATA_MANAGER
|
3
2
|
from aiohttp.web import FileResponse, Request as Request, Response
|
4
|
-
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
|
3
|
+
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS, require_admin as require_admin
|
5
4
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
5
|
from homeassistant.util import slugify as slugify
|
7
6
|
|
@@ -11,3 +10,8 @@ class DownloadBackupView(HomeAssistantView):
|
|
11
10
|
url: str
|
12
11
|
name: str
|
13
12
|
async def get(self, request: Request, slug: str) -> FileResponse | Response: ...
|
13
|
+
|
14
|
+
class UploadBackupView(HomeAssistantView):
|
15
|
+
url: str
|
16
|
+
name: str
|
17
|
+
async def post(self, request: Request) -> Response: ...
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import abc
|
2
|
+
import aiohttp
|
2
3
|
from .const import DOMAIN as DOMAIN, EXCLUDE_FROM_BACKUP as EXCLUDE_FROM_BACKUP, LOGGER as LOGGER
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from dataclasses import dataclass
|
6
|
+
from homeassistant.backup_restore import RESTORE_BACKUP_FILE as RESTORE_BACKUP_FILE
|
5
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
9
|
from homeassistant.helpers import integration_platform as integration_platform
|
@@ -38,6 +40,8 @@ class BaseBackupManager(abc.ABC, metaclass=abc.ABCMeta):
|
|
38
40
|
async def async_post_backup_actions(self, **kwargs: Any) -> None: ...
|
39
41
|
async def load_platforms(self) -> None: ...
|
40
42
|
@abc.abstractmethod
|
43
|
+
async def async_restore_backup(self, slug: str, **kwargs: Any) -> None: ...
|
44
|
+
@abc.abstractmethod
|
41
45
|
async def async_create_backup(self, **kwargs: Any) -> Backup: ...
|
42
46
|
@abc.abstractmethod
|
43
47
|
async def async_get_backups(self, **kwargs: Any) -> dict[str, Backup]: ...
|
@@ -45,6 +49,8 @@ class BaseBackupManager(abc.ABC, metaclass=abc.ABCMeta):
|
|
45
49
|
async def async_get_backup(self, *, slug: str, **kwargs: Any) -> Backup | None: ...
|
46
50
|
@abc.abstractmethod
|
47
51
|
async def async_remove_backup(self, *, slug: str, **kwargs: Any) -> None: ...
|
52
|
+
@abc.abstractmethod
|
53
|
+
async def async_receive_backup(self, *, contents: aiohttp.BodyPartReader, **kwargs: Any) -> None: ...
|
48
54
|
|
49
55
|
class BackupManager(BaseBackupManager):
|
50
56
|
backup_dir: Incomplete
|
@@ -56,8 +62,10 @@ class BackupManager(BaseBackupManager):
|
|
56
62
|
async def async_get_backups(self, **kwargs: Any) -> dict[str, Backup]: ...
|
57
63
|
async def async_get_backup(self, *, slug: str, **kwargs: Any) -> Backup | None: ...
|
58
64
|
async def async_remove_backup(self, *, slug: str, **kwargs: Any) -> None: ...
|
65
|
+
async def async_receive_backup(self, *, contents: aiohttp.BodyPartReader, **kwargs: Any) -> None: ...
|
59
66
|
backing_up: bool
|
60
67
|
async def async_create_backup(self, **kwargs: Any) -> Backup: ...
|
61
68
|
def _mkdir_and_generate_backup_contents(self, tar_file_path: Path, backup_data: dict[str, Any]) -> int: ...
|
69
|
+
async def async_restore_backup(self, slug: str, **kwargs: Any) -> None: ...
|
62
70
|
|
63
71
|
def _generate_slug(date: str, name: str) -> str: ...
|
@@ -7,6 +7,7 @@ def async_register_websocket_handlers(hass: HomeAssistant, with_hassio: bool) ->
|
|
7
7
|
async def handle_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
8
8
|
async def handle_details(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
9
9
|
async def handle_remove(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
10
|
+
async def handle_restore(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
10
11
|
async def handle_create(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
11
12
|
async def handle_backup_start(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
12
13
|
async def handle_backup_end(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -4,14 +4,9 @@ from mozart_api.models import Source, SourceArray
|
|
4
4
|
from typing import Final
|
5
5
|
|
6
6
|
class BangOlufsenSource:
|
7
|
-
URI_STREAMER: Final[Source]
|
8
|
-
BLUETOOTH: Final[Source]
|
9
|
-
CHROMECAST: Final[Source]
|
10
7
|
LINE_IN: Final[Source]
|
11
8
|
SPDIF: Final[Source]
|
12
|
-
|
13
|
-
DEEZER: Final[Source]
|
14
|
-
TIDAL: Final[Source]
|
9
|
+
URI_STREAMER: Final[Source]
|
15
10
|
|
16
11
|
BANG_OLUFSEN_STATES: dict[str, MediaPlayerState]
|
17
12
|
BANG_OLUFSEN_REPEAT_FROM_HA: dict[RepeatMode, str]
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from . import BangOlufsenConfigEntry as BangOlufsenConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
|
+
from typing import Any
|
5
|
+
|
6
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: BangOlufsenConfigEntry) -> dict[str, Any]: ...
|
@@ -12,12 +12,13 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
13
13
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
14
14
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
15
|
-
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
|
16
16
|
from homeassistant.util.dt import utcnow as utcnow
|
17
17
|
from mozart_api.models import BeolinkLeader as BeolinkLeader, ListeningModeProps as ListeningModeProps, ListeningModeRef as ListeningModeRef, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress, RenderingState as RenderingState, Source, VolumeState as VolumeState
|
18
18
|
from mozart_api.mozart_client import MozartClient as MozartClient
|
19
19
|
from typing import Any
|
20
20
|
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
SCAN_INTERVAL: Incomplete
|
22
23
|
_LOGGER: Incomplete
|
23
24
|
BANG_OLUFSEN_FEATURES: Incomplete
|
@@ -25,7 +26,6 @@ BANG_OLUFSEN_FEATURES: Incomplete
|
|
25
26
|
async def async_setup_entry(hass: HomeAssistant, config_entry: BangOlufsenConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
27
|
|
27
28
|
class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
28
|
-
_attr_icon: str
|
29
29
|
_attr_name: Incomplete
|
30
30
|
_attr_device_class: Incomplete
|
31
31
|
_beolink_jid: Incomplete
|
@@ -42,6 +42,7 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
42
42
|
_sound_modes: Incomplete
|
43
43
|
_beolink_sources: Incomplete
|
44
44
|
_remote_leader: Incomplete
|
45
|
+
_beolink_attributes: Incomplete
|
45
46
|
def __init__(self, entry: ConfigEntry, client: MozartClient) -> None: ...
|
46
47
|
async def async_added_to_hass(self) -> None: ...
|
47
48
|
_volume: Incomplete
|
@@ -62,6 +63,7 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
62
63
|
def _async_update_playback_state(self, data: RenderingState) -> None: ...
|
63
64
|
def _async_update_source_change(self, data: Source) -> None: ...
|
64
65
|
def _async_update_volume(self, data: VolumeState) -> None: ...
|
66
|
+
async def _async_update_name_and_beolink(self) -> None: ...
|
65
67
|
_attr_group_members: Incomplete
|
66
68
|
async def _async_update_beolink(self) -> None: ...
|
67
69
|
def _get_entity_id_from_jid(self, jid: str) -> str | None: ...
|
@@ -99,6 +101,8 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
99
101
|
def media_channel(self) -> str | None: ...
|
100
102
|
@property
|
101
103
|
def source(self) -> str | None: ...
|
104
|
+
@property
|
105
|
+
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
102
106
|
async def async_turn_off(self) -> None: ...
|
103
107
|
async def async_set_volume_level(self, volume: float) -> None: ...
|
104
108
|
async def async_mute_volume(self, mute: bool) -> None: ...
|
@@ -118,6 +122,8 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity):
|
|
118
122
|
async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
|
119
123
|
async def async_join_players(self, group_members: list[str]) -> None: ...
|
120
124
|
async def async_unjoin_player(self) -> None: ...
|
121
|
-
async def
|
122
|
-
async def
|
123
|
-
async def
|
125
|
+
async def async_beolink_join(self, beolink_jid: str | None = None) -> None: ...
|
126
|
+
async def async_beolink_expand(self, beolink_jids: list[str] | None = None, all_discovered: bool = False) -> None: ...
|
127
|
+
async def async_beolink_unexpand(self, beolink_jids: list[str]) -> None: ...
|
128
|
+
async def async_beolink_leave(self) -> None: ...
|
129
|
+
async def async_beolink_allstandby(self) -> None: ...
|
@@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
7
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
8
8
|
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
9
9
|
from mozart_api.models import ListeningModeProps as ListeningModeProps, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
|
10
|
-
from mozart_api.mozart_client import MozartClient as MozartClient
|
10
|
+
from mozart_api.mozart_client import BaseWebSocketResponse as BaseWebSocketResponse, MozartClient as MozartClient
|
11
11
|
|
12
12
|
_LOGGER: Incomplete
|
13
13
|
|
@@ -28,4 +28,4 @@ class BangOlufsenWebsocket(BangOlufsenBase):
|
|
28
28
|
def on_source_change_notification(self, notification: Source) -> None: ...
|
29
29
|
def on_volume_notification(self, notification: VolumeState) -> None: ...
|
30
30
|
async def on_software_update_state(self, notification: SoftwareUpdateState) -> None: ...
|
31
|
-
def on_all_notifications_raw(self, notification:
|
31
|
+
def on_all_notifications_raw(self, notification: BaseWebSocketResponse) -> None: ...
|
@@ -1,28 +1,32 @@
|
|
1
1
|
from . import DOMAIN as DOMAIN
|
2
|
-
from .const import CONF_ALLOWED_REGIONS as CONF_ALLOWED_REGIONS, CONF_GCID as CONF_GCID, CONF_READ_ONLY as CONF_READ_ONLY, CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN
|
2
|
+
from .const import CONF_ALLOWED_REGIONS as CONF_ALLOWED_REGIONS, CONF_CAPTCHA_REGIONS as CONF_CAPTCHA_REGIONS, CONF_CAPTCHA_TOKEN as CONF_CAPTCHA_TOKEN, CONF_CAPTCHA_URL as CONF_CAPTCHA_URL, CONF_GCID as CONF_GCID, CONF_READ_ONLY as CONF_READ_ONLY, CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
6
6
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_REGION as CONF_REGION, CONF_SOURCE as CONF_SOURCE, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
9
|
from homeassistant.helpers.selector import SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
|
10
|
+
from homeassistant.util.ssl import get_default_context as get_default_context
|
10
11
|
from typing import Any
|
11
12
|
|
12
13
|
DATA_SCHEMA: Incomplete
|
14
|
+
CAPTCHA_SCHEMA: Incomplete
|
13
15
|
|
14
16
|
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, str]: ...
|
15
17
|
|
16
18
|
class BMWConfigFlow(ConfigFlow, domain=DOMAIN):
|
17
19
|
VERSION: int
|
20
|
+
data: dict[str, Any]
|
18
21
|
_existing_entry_data: Mapping[str, Any] | None
|
19
22
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
23
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
21
24
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
|
+
async def async_step_captcha(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
22
26
|
@staticmethod
|
23
27
|
def async_get_options_flow(config_entry: ConfigEntry) -> BMWOptionsFlow: ...
|
24
28
|
|
25
|
-
class BMWOptionsFlow(
|
29
|
+
class BMWOptionsFlow(OptionsFlow):
|
26
30
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
27
31
|
async def async_step_account_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
28
32
|
|
@@ -5,10 +5,13 @@ DOMAIN: str
|
|
5
5
|
ATTR_DIRECTION: str
|
6
6
|
ATTR_VIN: str
|
7
7
|
CONF_ALLOWED_REGIONS: Incomplete
|
8
|
+
CONF_CAPTCHA_REGIONS: Incomplete
|
8
9
|
CONF_READ_ONLY: str
|
9
10
|
CONF_ACCOUNT: str
|
10
11
|
CONF_REFRESH_TOKEN: str
|
11
12
|
CONF_GCID: str
|
13
|
+
CONF_CAPTCHA_TOKEN: str
|
14
|
+
CONF_CAPTCHA_URL: str
|
12
15
|
DATA_HASS_CONFIG: str
|
13
16
|
UNIT_MAP: Incomplete
|
14
17
|
SCAN_INTERVALS: Incomplete
|
@@ -5,6 +5,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
8
9
|
|
9
10
|
PLATFORMS: list[Platform]
|
10
11
|
_LOGGER: Incomplete
|
@@ -3,6 +3,7 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.components import zeroconf as zeroconf
|
4
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
6
7
|
from typing import Any
|
7
8
|
|
8
9
|
class CambridgeAudioConfigFlow(ConfigFlow, domain=DOMAIN):
|
@@ -13,6 +13,7 @@ from typing import Any
|
|
13
13
|
BASE_FEATURES: Incomplete
|
14
14
|
PREAMP_FEATURES: Incomplete
|
15
15
|
TRANSPORT_FEATURES: dict[TransportControl, MediaPlayerEntityFeature]
|
16
|
+
PARALLEL_UPDATES: int
|
16
17
|
|
17
18
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
18
19
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import CambridgeAudioEntity as CambridgeAudioEntity
|
1
|
+
from .entity import CambridgeAudioEntity as CambridgeAudioEntity, command as command
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from aiostreammagic import StreamMagicClient as StreamMagicClient
|
4
4
|
from collections.abc import Awaitable, Callable as Callable
|
@@ -9,6 +9,8 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
|
12
|
+
PARALLEL_UPDATES: int
|
13
|
+
|
12
14
|
@dataclass(frozen=True, kw_only=True)
|
13
15
|
class CambridgeAudioSelectEntityDescription(SelectEntityDescription):
|
14
16
|
options_fn: Callable[[StreamMagicClient], list[str]] = ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .entity import CambridgeAudioEntity as CambridgeAudioEntity
|
1
|
+
from .entity import CambridgeAudioEntity as CambridgeAudioEntity, command as command
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from aiostreammagic import StreamMagicClient as StreamMagicClient
|
4
4
|
from collections.abc import Awaitable, Callable as Callable
|
@@ -10,6 +10,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from typing import Any
|
12
12
|
|
13
|
+
PARALLEL_UPDATES: int
|
14
|
+
|
13
15
|
@dataclass(frozen=True, kw_only=True)
|
14
16
|
class CambridgeAudioSwitchEntityDescription(SwitchEntityDescription):
|
15
17
|
value_fn: Callable[[StreamMagicClient], bool]
|