homeassistant-stubs 2024.11.3__py3-none-any.whl → 2024.12.0b0__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/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 +2 -2
- 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 +17 -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/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/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/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 +7 -5
- 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/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 +1 -3
- 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 +0 -2
- homeassistant-stubs/components/plugwise/climate.pyi +1 -0
- 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/pool.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- 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/__init__.pyi +1 -0
- 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/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/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_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.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/RECORD +371 -315
- {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -4,12 +4,12 @@ from collections.abc import Callable as Callable, Mapping
|
|
4
4
|
from homeassistant import util as util
|
5
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
|
7
|
+
from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
|
8
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
|
9
9
|
from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
12
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
12
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
13
13
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
14
14
|
from homeassistant.util.unit_system import METRIC_SYSTEM as METRIC_SYSTEM
|
15
15
|
from typing import Any
|
@@ -29,7 +29,6 @@ class MoldIndicator(SensorEntity):
|
|
29
29
|
_attr_native_unit_of_measurement = PERCENTAGE
|
30
30
|
_attr_device_class: Incomplete
|
31
31
|
_attr_state_class: Incomplete
|
32
|
-
_state: Incomplete
|
33
32
|
_attr_name: Incomplete
|
34
33
|
_attr_unique_id: Incomplete
|
35
34
|
_indoor_temp_sensor: Incomplete
|
@@ -57,8 +56,7 @@ class MoldIndicator(SensorEntity):
|
|
57
56
|
def _update_hum_sensor(state: State) -> float | None: ...
|
58
57
|
async def async_update(self) -> None: ...
|
59
58
|
def _calc_dewpoint(self) -> None: ...
|
59
|
+
_attr_native_value: Incomplete
|
60
60
|
def _calc_moldindicator(self) -> None: ...
|
61
61
|
@property
|
62
|
-
def native_value(self) -> StateType: ...
|
63
|
-
@property
|
64
62
|
def extra_state_attributes(self) -> dict[str, Any]: ...
|
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
|
|
4
4
|
from dataclasses import dataclass
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
|
-
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
8
|
from typing import Any
|
9
9
|
|
10
10
|
_LOGGER: Incomplete
|
@@ -28,6 +28,4 @@ class MopekaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
28
28
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
29
29
|
|
30
30
|
class MopekaOptionsFlow(config_entries.OptionsFlow):
|
31
|
-
config_entry: Incomplete
|
32
|
-
def __init__(self, config_entry: config_entries.ConfigEntry) -> None: ...
|
33
31
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -41,6 +41,7 @@ MQTT_PUBLISH_SCHEMA: Incomplete
|
|
41
41
|
async def _async_config_entry_updated(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
42
42
|
def _async_remove_mqtt_issues(hass: HomeAssistant, mqtt_data: MqttData) -> None: ...
|
43
43
|
async def async_check_config_schema(hass: HomeAssistant, config_yaml: ConfigType) -> None: ...
|
44
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
44
45
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
45
46
|
def websocket_mqtt_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
46
47
|
async def websocket_subscribe(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -16,6 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
16
16
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
17
17
|
|
18
18
|
_LOGGER: Incomplete
|
19
|
+
PARALLEL_UPDATES: int
|
19
20
|
_SUPPORTED_FEATURES: Incomplete
|
20
21
|
CONF_CODE_ARM_REQUIRED: str
|
21
22
|
CONF_CODE_DISARM_REQUIRED: str
|
@@ -14,6 +14,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
14
14
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
15
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
16
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
17
18
|
CONF_PAYLOAD_PRESS: str
|
18
19
|
DEFAULT_NAME: str
|
19
20
|
DEFAULT_PAYLOAD_PRESS: str
|
@@ -16,6 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
16
16
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
17
17
|
|
18
18
|
_LOGGER: Incomplete
|
19
|
+
PARALLEL_UPDATES: int
|
19
20
|
CONF_IMAGE_ENCODING: str
|
20
21
|
DEFAULT_NAME: str
|
21
22
|
MQTT_CAMERA_ATTRIBUTES_BLOCKED: Incomplete
|
@@ -73,10 +73,8 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
|
|
73
73
|
async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
74
74
|
|
75
75
|
class MQTTOptionsFlowHandler(OptionsFlow):
|
76
|
-
config_entry: Incomplete
|
77
76
|
broker_config: Incomplete
|
78
|
-
|
79
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
77
|
+
def __init__(self) -> None: ...
|
80
78
|
async def async_step_init(self, user_input: None = None) -> ConfigFlowResult: ...
|
81
79
|
async def async_step_broker(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
82
80
|
async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -17,6 +17,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
17
17
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
18
18
|
|
19
19
|
_LOGGER: Incomplete
|
20
|
+
PARALLEL_UPDATES: int
|
20
21
|
CONF_PAYLOAD_HOME: str
|
21
22
|
CONF_PAYLOAD_NOT_HOME: str
|
22
23
|
CONF_SOURCE_TYPE: str
|
@@ -122,6 +122,7 @@ class MqttDiscoveryUpdateMixin(Entity):
|
|
122
122
|
def _cleanup_discovery_on_remove(self) -> None: ...
|
123
123
|
|
124
124
|
def device_info_from_specifications(specifications: dict[str, Any] | None) -> DeviceInfo | None: ...
|
125
|
+
def ensure_via_device_exists(hass: HomeAssistant, device_info: DeviceInfo | None, config_entry: ConfigEntry) -> None: ...
|
125
126
|
|
126
127
|
class MqttEntityDeviceInfo(Entity):
|
127
128
|
_device_specifications: Incomplete
|
@@ -17,6 +17,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType
|
|
17
17
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
|
18
18
|
|
19
19
|
_LOGGER: Incomplete
|
20
|
+
PARALLEL_UPDATES: int
|
20
21
|
CONF_EVENT_TYPES: str
|
21
22
|
MQTT_EVENT_ATTRIBUTES_BLOCKED: Incomplete
|
22
23
|
DEFAULT_NAME: str
|
@@ -20,6 +20,7 @@ from homeassistant.util.percentage import percentage_to_ranged_value as percenta
|
|
20
20
|
from homeassistant.util.scaling import int_states_in_range as int_states_in_range
|
21
21
|
from typing import Any
|
22
22
|
|
23
|
+
PARALLEL_UPDATES: int
|
23
24
|
CONF_DIRECTION_STATE_TOPIC: str
|
24
25
|
CONF_DIRECTION_COMMAND_TOPIC: str
|
25
26
|
CONF_DIRECTION_VALUE_TEMPLATE: str
|
@@ -18,6 +18,7 @@ from homeassistant.helpers.template import Template as Template
|
|
18
18
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
19
19
|
from typing import Any
|
20
20
|
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
CONF_AVAILABLE_MODES_LIST: str
|
22
23
|
CONF_DEVICE_CLASS: str
|
23
24
|
CONF_MODE_COMMAND_TEMPLATE: str
|
@@ -18,6 +18,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
18
18
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
19
19
|
|
20
20
|
_LOGGER: Incomplete
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
CONF_ACTIVITY_STATE_TOPIC: str
|
22
23
|
CONF_ACTIVITY_VALUE_TEMPLATE: str
|
23
24
|
CONF_DOCK_COMMAND_TOPIC: str
|
@@ -11,6 +11,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
11
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
12
12
|
from typing import Any
|
13
13
|
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
14
16
|
def validate_mqtt_light_discovery(config_value: dict[str, Any]) -> ConfigType: ...
|
15
17
|
def validate_mqtt_light_modern(config_value: dict[str, Any]) -> ConfigType: ...
|
16
18
|
|
@@ -14,6 +14,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
14
14
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
15
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
16
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
17
18
|
DEFAULT_NAME: str
|
18
19
|
PLATFORM_SCHEMA_MODERN: Incomplete
|
19
20
|
DISCOVERY_SCHEMA: Incomplete
|
@@ -16,6 +16,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
16
16
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
17
17
|
|
18
18
|
_LOGGER: Incomplete
|
19
|
+
PARALLEL_UPDATES: int
|
19
20
|
CONF_MIN: str
|
20
21
|
CONF_MAX: str
|
21
22
|
CONF_STEP: str
|
@@ -14,6 +14,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
14
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
15
15
|
from typing import Any
|
16
16
|
|
17
|
+
PARALLEL_UPDATES: int
|
17
18
|
DEFAULT_NAME: str
|
18
19
|
DEFAULT_RETAIN: bool
|
19
20
|
ENTITY_ID_FORMAT: Incomplete
|
@@ -17,6 +17,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
17
17
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
18
18
|
|
19
19
|
_LOGGER: Incomplete
|
20
|
+
PARALLEL_UPDATES: int
|
20
21
|
DEFAULT_NAME: str
|
21
22
|
MQTT_SELECT_ATTRIBUTES_BLOCKED: Incomplete
|
22
23
|
PLATFORM_SCHEMA_MODERN: Incomplete
|
@@ -19,6 +19,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
19
19
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
20
20
|
|
21
21
|
_LOGGER: Incomplete
|
22
|
+
PARALLEL_UPDATES: int
|
22
23
|
CONF_EXPIRE_AFTER: str
|
23
24
|
CONF_LAST_RESET_VALUE_TEMPLATE: str
|
24
25
|
CONF_SUGGESTED_DISPLAY_PRECISION: str
|
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsT
|
|
19
19
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
|
20
20
|
from typing import Any
|
21
21
|
|
22
|
+
PARALLEL_UPDATES: int
|
22
23
|
DEFAULT_NAME: str
|
23
24
|
DEFAULT_PAYLOAD_ON: str
|
24
25
|
DEFAULT_PAYLOAD_OFF: str
|
@@ -24,7 +24,7 @@ class EntitySubscription:
|
|
24
24
|
def _should_resubscribe(self, other: EntitySubscription | None) -> bool: ...
|
25
25
|
def __init__(self, *, hass, topic, message_callback, should_subscribe, unsubscribe_callback, qos=..., encoding=..., entity_id, job_type) -> None: ...
|
26
26
|
|
27
|
-
def async_prepare_subscribe_topics(hass: HomeAssistant,
|
27
|
+
def async_prepare_subscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription] | None, topics: dict[str, dict[str, Any]]) -> dict[str, EntitySubscription]: ...
|
28
28
|
async def async_subscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
|
29
29
|
def async_subscribe_topics_internal(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
|
30
30
|
def async_unsubscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription] | None) -> dict[str, EntitySubscription]: ...
|
@@ -18,6 +18,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
|
|
18
18
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
19
19
|
from typing import Any
|
20
20
|
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
DEFAULT_NAME: str
|
22
23
|
DEFAULT_PAYLOAD_ON: str
|
23
24
|
DEFAULT_PAYLOAD_OFF: str
|
@@ -17,6 +17,7 @@ from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPT
|
|
17
17
|
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|
18
18
|
|
19
19
|
_LOGGER: Incomplete
|
20
|
+
PARALLEL_UPDATES: int
|
20
21
|
CONF_REPORTS_POSITION: str
|
21
22
|
DEFAULT_NAME: str
|
22
23
|
MQTT_VALVE_ATTRIBUTES_BLOCKED: Incomplete
|
@@ -18,6 +18,7 @@ from homeassistant.util.unit_conversion import TemperatureConverter as Temperatu
|
|
18
18
|
from typing import Any
|
19
19
|
|
20
20
|
_LOGGER: Incomplete
|
21
|
+
PARALLEL_UPDATES: int
|
21
22
|
DEFAULT_NAME: str
|
22
23
|
MQTT_WATER_HEATER_ATTRIBUTES_BLOCKED: Incomplete
|
23
24
|
VALUE_TEMPLATE_KEYS: Incomplete
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import asyncio
|
2
|
+
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
6
|
+
from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
7
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
10
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
11
|
+
from music_assistant_client import MusicAssistantClient
|
12
|
+
from music_assistant_models.event import MassEvent as MassEvent
|
13
|
+
|
14
|
+
PLATFORMS: Incomplete
|
15
|
+
CONNECT_TIMEOUT: int
|
16
|
+
LISTEN_READY_TIMEOUT: int
|
17
|
+
type MusicAssistantConfigEntry = ConfigEntry[MusicAssistantEntryData]
|
18
|
+
|
19
|
+
@dataclass
|
20
|
+
class MusicAssistantEntryData:
|
21
|
+
mass: MusicAssistantClient
|
22
|
+
listen_task: asyncio.Task
|
23
|
+
def __init__(self, mass, listen_task) -> None: ...
|
24
|
+
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry) -> bool: ...
|
26
|
+
async def _client_listen(hass: HomeAssistant, entry: ConfigEntry, mass: MusicAssistantClient, init_ready: asyncio.Event) -> None: ...
|
27
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import voluptuous as vol
|
2
|
+
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components import zeroconf as zeroconf
|
5
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
6
|
+
from homeassistant.const import CONF_URL as CONF_URL
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
9
|
+
from music_assistant_models.api import ServerInfoMessage
|
10
|
+
from typing import Any
|
11
|
+
|
12
|
+
DEFAULT_URL: str
|
13
|
+
DEFAULT_TITLE: str
|
14
|
+
|
15
|
+
def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
|
16
|
+
async def get_server_info(hass: HomeAssistant, url: str) -> ServerInfoMessage: ...
|
17
|
+
|
18
|
+
class MusicAssistantConfigFlow(ConfigFlow, domain=DOMAIN):
|
19
|
+
VERSION: int
|
20
|
+
server_info: Incomplete
|
21
|
+
def __init__(self) -> None: ...
|
22
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
24
|
+
async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
|
3
|
+
DOMAIN: str
|
4
|
+
DOMAIN_EVENT: Incomplete
|
5
|
+
DEFAULT_NAME: str
|
6
|
+
ATTR_IS_GROUP: str
|
7
|
+
ATTR_GROUP_MEMBERS: str
|
8
|
+
ATTR_GROUP_PARENTS: str
|
9
|
+
ATTR_MASS_PLAYER_TYPE: str
|
10
|
+
ATTR_ACTIVE_QUEUE: str
|
11
|
+
ATTR_STREAM_TITLE: str
|
12
|
+
LOGGER: Incomplete
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
4
|
+
from homeassistant.helpers.entity import Entity as Entity
|
5
|
+
from music_assistant_client import MusicAssistantClient as MusicAssistantClient
|
6
|
+
from music_assistant_models.event import MassEvent as MassEvent
|
7
|
+
from music_assistant_models.player import Player as Player
|
8
|
+
|
9
|
+
class MusicAssistantEntity(Entity):
|
10
|
+
_attr_has_entity_name: bool
|
11
|
+
_attr_should_poll: bool
|
12
|
+
mass: Incomplete
|
13
|
+
player_id: Incomplete
|
14
|
+
_attr_device_info: Incomplete
|
15
|
+
def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
|
16
|
+
async def async_added_to_hass(self) -> None: ...
|
17
|
+
@property
|
18
|
+
def player(self) -> Player: ...
|
19
|
+
@property
|
20
|
+
def unique_id(self) -> str | None: ...
|
21
|
+
@property
|
22
|
+
def available(self) -> bool: ...
|
23
|
+
async def __on_mass_update(self, event: MassEvent) -> None: ...
|
24
|
+
async def async_on_update(self) -> None: ...
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components import media_source as media_source
|
4
|
+
from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaType as MediaType
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from music_assistant_client import MusicAssistantClient as MusicAssistantClient
|
7
|
+
from music_assistant_models.media_items import MediaItemType as MediaItemType
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
MEDIA_TYPE_RADIO: str
|
11
|
+
PLAYABLE_MEDIA_TYPES: Incomplete
|
12
|
+
LIBRARY_ARTISTS: str
|
13
|
+
LIBRARY_ALBUMS: str
|
14
|
+
LIBRARY_TRACKS: str
|
15
|
+
LIBRARY_PLAYLISTS: str
|
16
|
+
LIBRARY_RADIO: str
|
17
|
+
LIBRARY_TITLE_MAP: Incomplete
|
18
|
+
LIBRARY_MEDIA_CLASS_MAP: Incomplete
|
19
|
+
MEDIA_CONTENT_TYPE_FLAC: str
|
20
|
+
THUMB_SIZE: int
|
21
|
+
|
22
|
+
def media_source_filter(item: BrowseMedia) -> bool: ...
|
23
|
+
async def async_browse_media(hass: HomeAssistant, mass: MusicAssistantClient, media_content_id: str | None, media_content_type: str | None) -> BrowseMedia: ...
|
24
|
+
async def build_main_listing(hass: HomeAssistant) -> BrowseMedia: ...
|
25
|
+
async def build_playlists_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
|
26
|
+
async def build_playlist_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
|
27
|
+
async def build_artists_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
|
28
|
+
async def build_artist_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
|
29
|
+
async def build_albums_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
|
30
|
+
async def build_album_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
|
31
|
+
async def build_tracks_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
|
32
|
+
async def build_radio_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
|
33
|
+
def build_item(mass: MusicAssistantClient, item: MediaItemType, can_expand: bool = True, media_class: Any = None) -> BrowseMedia: ...
|
@@ -0,0 +1,96 @@
|
|
1
|
+
from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
|
2
|
+
from .const import ATTR_ACTIVE_QUEUE as ATTR_ACTIVE_QUEUE, ATTR_MASS_PLAYER_TYPE as ATTR_MASS_PLAYER_TYPE, DOMAIN as DOMAIN
|
3
|
+
from .entity import MusicAssistantEntity as MusicAssistantEntity
|
4
|
+
from .media_browser import async_browse_media as async_browse_media
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
|
7
|
+
from homeassistant.components import media_source as media_source
|
8
|
+
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
|
9
|
+
from homeassistant.const import STATE_OFF as STATE_OFF
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
|
13
|
+
from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp
|
14
|
+
from music_assistant_client import MusicAssistantClient as MusicAssistantClient
|
15
|
+
from music_assistant_models.enums import MediaType, QueueOption
|
16
|
+
from music_assistant_models.event import MassEvent as MassEvent
|
17
|
+
from music_assistant_models.player import Player as Player
|
18
|
+
from music_assistant_models.player_queue import PlayerQueue as PlayerQueue
|
19
|
+
from typing import Any
|
20
|
+
|
21
|
+
SUPPORTED_FEATURES: Incomplete
|
22
|
+
QUEUE_OPTION_MAP: Incomplete
|
23
|
+
SERVICE_PLAY_MEDIA_ADVANCED: str
|
24
|
+
SERVICE_PLAY_ANNOUNCEMENT: str
|
25
|
+
SERVICE_TRANSFER_QUEUE: str
|
26
|
+
ATTR_RADIO_MODE: str
|
27
|
+
ATTR_MEDIA_ID: str
|
28
|
+
ATTR_MEDIA_TYPE: str
|
29
|
+
ATTR_ARTIST: str
|
30
|
+
ATTR_ALBUM: str
|
31
|
+
ATTR_URL: str
|
32
|
+
ATTR_USE_PRE_ANNOUNCE: str
|
33
|
+
ATTR_ANNOUNCE_VOLUME: str
|
34
|
+
ATTR_SOURCE_PLAYER: str
|
35
|
+
ATTR_AUTO_PLAY: str
|
36
|
+
|
37
|
+
def catch_musicassistant_error[_R, **P](func: Callable[..., Awaitable[_R]]) -> Callable[..., Coroutine[Any, Any, _R | None]]: ...
|
38
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
39
|
+
|
40
|
+
class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
|
41
|
+
_attr_name: Incomplete
|
42
|
+
_attr_media_image_remotely_accessible: bool
|
43
|
+
_attr_media_content_type: Incomplete
|
44
|
+
_attr_icon: Incomplete
|
45
|
+
_attr_supported_features: Incomplete
|
46
|
+
_attr_device_class: Incomplete
|
47
|
+
_prev_time: int
|
48
|
+
def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
|
49
|
+
async def async_added_to_hass(self) -> None: ...
|
50
|
+
@property
|
51
|
+
def active_queue(self) -> PlayerQueue | None: ...
|
52
|
+
@property
|
53
|
+
def extra_state_attributes(self) -> Mapping[str, Any]: ...
|
54
|
+
_attr_state: Incomplete
|
55
|
+
_attr_group_members: Incomplete
|
56
|
+
_attr_volume_level: Incomplete
|
57
|
+
_attr_is_volume_muted: Incomplete
|
58
|
+
async def async_on_update(self) -> None: ...
|
59
|
+
async def async_media_play(self) -> None: ...
|
60
|
+
async def async_media_pause(self) -> None: ...
|
61
|
+
async def async_media_stop(self) -> None: ...
|
62
|
+
async def async_media_next_track(self) -> None: ...
|
63
|
+
async def async_media_previous_track(self) -> None: ...
|
64
|
+
async def async_media_seek(self, position: float) -> None: ...
|
65
|
+
async def async_mute_volume(self, mute: bool) -> None: ...
|
66
|
+
async def async_set_volume_level(self, volume: float) -> None: ...
|
67
|
+
async def async_volume_up(self) -> None: ...
|
68
|
+
async def async_volume_down(self) -> None: ...
|
69
|
+
async def async_turn_on(self) -> None: ...
|
70
|
+
async def async_turn_off(self) -> None: ...
|
71
|
+
async def async_set_shuffle(self, shuffle: bool) -> None: ...
|
72
|
+
async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
|
73
|
+
async def async_clear_playlist(self) -> None: ...
|
74
|
+
async def async_play_media(self, media_type: MediaType | str, media_id: str, enqueue: MediaPlayerEnqueue | None = None, announce: bool | None = None, **kwargs: Any) -> None: ...
|
75
|
+
async def async_join_players(self, group_members: list[str]) -> None: ...
|
76
|
+
async def async_unjoin_player(self) -> None: ...
|
77
|
+
async def _async_handle_play_media(self, media_id: list[str], artist: str | None = None, album: str | None = None, enqueue: MediaPlayerEnqueue | QueueOption | None = None, radio_mode: bool | None = None, media_type: str | None = None) -> None: ...
|
78
|
+
async def _async_handle_play_announcement(self, url: str, use_pre_announce: bool | None = None, announce_volume: int | None = None) -> None: ...
|
79
|
+
async def _async_handle_transfer_queue(self, source_player: str | None = None, auto_play: bool | None = None) -> None: ...
|
80
|
+
async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
|
81
|
+
_attr_media_image_url: Incomplete
|
82
|
+
def _update_media_image_url(self, player: Player, queue: PlayerQueue | None) -> None: ...
|
83
|
+
_attr_media_artist: Incomplete
|
84
|
+
_attr_media_album_artist: Incomplete
|
85
|
+
_attr_media_album_name: Incomplete
|
86
|
+
_attr_media_title: Incomplete
|
87
|
+
_attr_media_content_id: Incomplete
|
88
|
+
_attr_media_duration: Incomplete
|
89
|
+
_attr_media_position: Incomplete
|
90
|
+
_attr_media_position_updated_at: Incomplete
|
91
|
+
_attr_app_id: Incomplete
|
92
|
+
_attr_shuffle: Incomplete
|
93
|
+
_attr_repeat: Incomplete
|
94
|
+
_attr_source: Incomplete
|
95
|
+
def _update_media_attributes(self, player: Player, queue: PlayerQueue | None) -> None: ...
|
96
|
+
def _convert_queueoption_to_media_player_enqueue(self, queue_option: MediaPlayerEnqueue | QueueOption | None) -> QueueOption | None: ...
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, SUPPORT_EMAIL as SUPPORT_EMAIL
|
2
|
+
from .coordinator import NASwebCoordinator as NASwebCoordinator
|
3
|
+
from .nasweb_data import NASwebData as NASwebData
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError
|
10
|
+
from homeassistant.util.hass_dict import HassKey as HassKey
|
11
|
+
|
12
|
+
PLATFORMS: list[Platform]
|
13
|
+
NASWEB_CONFIG_URL: str
|
14
|
+
_LOGGER: Incomplete
|
15
|
+
type NASwebConfigEntry = ConfigEntry[NASwebCoordinator]
|
16
|
+
DATA_NASWEB: HassKey[NASwebData]
|
17
|
+
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, entry: NASwebConfigEntry) -> bool: ...
|
19
|
+
async def async_unload_entry(hass: HomeAssistant, entry: NASwebConfigEntry) -> bool: ...
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import NASwebCoordinator as NASwebCoordinator
|
3
|
+
from .nasweb_data import NASwebData as NASwebData
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant import config_entries as config_entries
|
6
|
+
from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
|
7
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
NASWEB_SCHEMA_IMG_URL: str
|
15
|
+
_LOGGER: Incomplete
|
16
|
+
STEP_USER_DATA_SCHEMA: Incomplete
|
17
|
+
|
18
|
+
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
|
19
|
+
|
20
|
+
class NASwebConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
21
|
+
VERSION: int
|
22
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
|
+
|
24
|
+
class CannotConnect(HomeAssistantError): ...
|
25
|
+
class InvalidAuth(HomeAssistantError): ...
|
26
|
+
class MissingNASwebData(HomeAssistantError): ...
|
27
|
+
class MissingNASwebStatus(HomeAssistantError): ...
|