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
@@ -17,16 +17,17 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
17
17
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_FILENAME as CONF_FILENAME, CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
|
18
18
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
19
19
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
20
|
-
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
20
|
+
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, deprecated_function as deprecated_function, dir_with_deprecated_constants as dir_with_deprecated_constants
|
21
21
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
22
22
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
23
23
|
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
24
|
+
from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
|
24
25
|
from homeassistant.helpers.network import get_url as get_url
|
25
26
|
from homeassistant.helpers.template import Template as Template
|
26
27
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
27
28
|
from homeassistant.loader import bind_hass as bind_hass
|
28
29
|
from typing import Any, Final
|
29
|
-
from webrtc_models import
|
30
|
+
from webrtc_models import RTCIceCandidateInit as RTCIceCandidateInit
|
30
31
|
|
31
32
|
_LOGGER: Incomplete
|
32
33
|
ENTITY_ID_FORMAT: Final[Incomplete]
|
@@ -115,6 +116,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
115
116
|
_legacy_webrtc_provider: Incomplete
|
116
117
|
_supports_native_sync_webrtc: Incomplete
|
117
118
|
_supports_native_async_webrtc: Incomplete
|
119
|
+
_deprecate_attr_frontend_stream_type_logged: bool
|
118
120
|
def __init__(self) -> None: ...
|
119
121
|
def entity_picture(self) -> str: ...
|
120
122
|
def use_stream_for_stills(self) -> bool: ...
|
@@ -158,7 +160,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
158
160
|
async def _async_get_supported_webrtc_provider[_T](self, fn: Callable[[HomeAssistant, Camera], Coroutine[None, None, _T | None]]) -> _T | None: ...
|
159
161
|
def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
|
160
162
|
def async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
|
161
|
-
async def async_on_webrtc_candidate(self, session_id: str, candidate:
|
163
|
+
async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
|
162
164
|
def close_webrtc_session(self, session_id: str) -> None: ...
|
163
165
|
def _invalidate_camera_capabilities_cache(self) -> None: ...
|
164
166
|
def camera_capabilities(self) -> CameraCapabilities: ...
|
@@ -9,10 +9,11 @@ from dataclasses import dataclass
|
|
9
9
|
from homeassistant.components import websocket_api as websocket_api
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
12
|
+
from homeassistant.helpers.deprecation import deprecated_function as deprecated_function
|
12
13
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
13
14
|
from homeassistant.util.ulid import ulid as ulid
|
14
15
|
from typing import Any, Protocol
|
15
|
-
from webrtc_models import RTCConfiguration, RTCIceCandidate, RTCIceServer as RTCIceServer
|
16
|
+
from webrtc_models import RTCConfiguration, RTCIceCandidate as RTCIceCandidate, RTCIceCandidateInit, RTCIceServer as RTCIceServer
|
16
17
|
|
17
18
|
_LOGGER: Incomplete
|
18
19
|
DATA_WEBRTC_PROVIDERS: HassKey[set[CameraWebRTCProvider]]
|
@@ -38,7 +39,7 @@ class WebRTCAnswer(WebRTCMessage):
|
|
38
39
|
|
39
40
|
@dataclass(frozen=True)
|
40
41
|
class WebRTCCandidate(WebRTCMessage):
|
41
|
-
candidate: RTCIceCandidate
|
42
|
+
candidate: RTCIceCandidate | RTCIceCandidateInit
|
42
43
|
def as_dict(self) -> dict[str, Any]: ...
|
43
44
|
def __init__(self, candidate) -> None: ...
|
44
45
|
|
@@ -66,7 +67,7 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
|
|
66
67
|
@abstractmethod
|
67
68
|
async def async_handle_async_webrtc_offer(self, camera: Camera, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
|
68
69
|
@abstractmethod
|
69
|
-
async def async_on_webrtc_candidate(self, session_id: str, candidate:
|
70
|
+
async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
|
70
71
|
def async_close_session(self, session_id: str) -> None: ...
|
71
72
|
|
72
73
|
class CameraWebRTCLegacyProvider(Protocol):
|
@@ -75,9 +76,12 @@ class CameraWebRTCLegacyProvider(Protocol):
|
|
75
76
|
|
76
77
|
def async_register_webrtc_provider(hass: HomeAssistant, provider: CameraWebRTCProvider) -> Callable[[], None]: ...
|
77
78
|
async def _async_refresh_providers(hass: HomeAssistant) -> None: ...
|
78
|
-
|
79
|
-
|
80
|
-
async def
|
79
|
+
type WsCommandWithCamera = Callable[[websocket_api.ActiveConnection, dict[str, Any], Camera], Awaitable[None]]
|
80
|
+
def require_webrtc_support(error_code: str) -> Callable[[WsCommandWithCamera], websocket_api.AsyncWebSocketCommandHandler]: ...
|
81
|
+
async def ws_webrtc_offer(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
|
82
|
+
async def ws_get_client_config(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
|
83
|
+
def _parse_webrtc_candidate_init(value: Any) -> RTCIceCandidateInit: ...
|
84
|
+
async def ws_candidate(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
|
81
85
|
def async_register_ws(hass: HomeAssistant) -> None: ...
|
82
86
|
async def async_get_supported_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCProvider | None: ...
|
83
87
|
async def async_get_supported_legacy_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCLegacyProvider | None: ...
|
@@ -17,6 +17,4 @@ class CanaryConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
17
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
18
18
|
|
19
19
|
class CanaryOptionsFlowHandler(OptionsFlow):
|
20
|
-
config_entry: Incomplete
|
21
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
22
20
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import asyncio
|
2
|
-
from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL, _DEPRECATED_HVAC_MODE_AUTO as _DEPRECATED_HVAC_MODE_AUTO, _DEPRECATED_HVAC_MODE_COOL as _DEPRECATED_HVAC_MODE_COOL, _DEPRECATED_HVAC_MODE_DRY as _DEPRECATED_HVAC_MODE_DRY, _DEPRECATED_HVAC_MODE_FAN_ONLY as _DEPRECATED_HVAC_MODE_FAN_ONLY, _DEPRECATED_HVAC_MODE_HEAT as _DEPRECATED_HVAC_MODE_HEAT, _DEPRECATED_HVAC_MODE_HEAT_COOL as _DEPRECATED_HVAC_MODE_HEAT_COOL, _DEPRECATED_HVAC_MODE_OFF as _DEPRECATED_HVAC_MODE_OFF, _DEPRECATED_SUPPORT_AUX_HEAT as _DEPRECATED_SUPPORT_AUX_HEAT, _DEPRECATED_SUPPORT_FAN_MODE as _DEPRECATED_SUPPORT_FAN_MODE, _DEPRECATED_SUPPORT_PRESET_MODE as _DEPRECATED_SUPPORT_PRESET_MODE, _DEPRECATED_SUPPORT_SWING_MODE as _DEPRECATED_SUPPORT_SWING_MODE, _DEPRECATED_SUPPORT_TARGET_HUMIDITY as _DEPRECATED_SUPPORT_TARGET_HUMIDITY, _DEPRECATED_SUPPORT_TARGET_TEMPERATURE as _DEPRECATED_SUPPORT_TARGET_TEMPERATURE, _DEPRECATED_SUPPORT_TARGET_TEMPERATURE_RANGE as _DEPRECATED_SUPPORT_TARGET_TEMPERATURE_RANGE
|
2
|
+
from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL, _DEPRECATED_HVAC_MODE_AUTO as _DEPRECATED_HVAC_MODE_AUTO, _DEPRECATED_HVAC_MODE_COOL as _DEPRECATED_HVAC_MODE_COOL, _DEPRECATED_HVAC_MODE_DRY as _DEPRECATED_HVAC_MODE_DRY, _DEPRECATED_HVAC_MODE_FAN_ONLY as _DEPRECATED_HVAC_MODE_FAN_ONLY, _DEPRECATED_HVAC_MODE_HEAT as _DEPRECATED_HVAC_MODE_HEAT, _DEPRECATED_HVAC_MODE_HEAT_COOL as _DEPRECATED_HVAC_MODE_HEAT_COOL, _DEPRECATED_HVAC_MODE_OFF as _DEPRECATED_HVAC_MODE_OFF, _DEPRECATED_SUPPORT_AUX_HEAT as _DEPRECATED_SUPPORT_AUX_HEAT, _DEPRECATED_SUPPORT_FAN_MODE as _DEPRECATED_SUPPORT_FAN_MODE, _DEPRECATED_SUPPORT_PRESET_MODE as _DEPRECATED_SUPPORT_PRESET_MODE, _DEPRECATED_SUPPORT_SWING_MODE as _DEPRECATED_SUPPORT_SWING_MODE, _DEPRECATED_SUPPORT_TARGET_HUMIDITY as _DEPRECATED_SUPPORT_TARGET_HUMIDITY, _DEPRECATED_SUPPORT_TARGET_TEMPERATURE as _DEPRECATED_SUPPORT_TARGET_TEMPERATURE, _DEPRECATED_SUPPORT_TARGET_TEMPERATURE_RANGE as _DEPRECATED_SUPPORT_TARGET_TEMPERATURE_RANGE
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
|
@@ -60,6 +60,8 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
60
60
|
_attr_supported_features: ClimateEntityFeature
|
61
61
|
_attr_swing_mode: str | None
|
62
62
|
_attr_swing_modes: list[str] | None
|
63
|
+
_attr_swing_horizontal_mode: str | None
|
64
|
+
_attr_swing_horizontal_modes: list[str] | None
|
63
65
|
_attr_target_humidity: float | None
|
64
66
|
_attr_target_temperature_high: float | None
|
65
67
|
_attr_target_temperature_low: float | None
|
@@ -69,7 +71,7 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
69
71
|
__climate_reported_legacy_aux: bool
|
70
72
|
__mod_supported_features: ClimateEntityFeature
|
71
73
|
_enable_turn_on_off_backwards_compatibility: bool
|
72
|
-
def __getattribute__(self,
|
74
|
+
def __getattribute__(self, name: str) -> Any: ...
|
73
75
|
def add_to_platform_start(self, hass: HomeAssistant, platform: EntityPlatform, parallel_updates: asyncio.Semaphore | None) -> None: ...
|
74
76
|
def _report_legacy_aux(self) -> None: ...
|
75
77
|
@property
|
@@ -98,7 +100,9 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
98
100
|
def fan_modes(self) -> list[str] | None: ...
|
99
101
|
def swing_mode(self) -> str | None: ...
|
100
102
|
def swing_modes(self) -> list[str] | None: ...
|
101
|
-
def
|
103
|
+
def swing_horizontal_mode(self) -> str | None: ...
|
104
|
+
def swing_horizontal_modes(self) -> list[str] | None: ...
|
105
|
+
def _valid_mode_or_raise(self, mode_type: Literal['preset', 'horizontal_swing', 'swing', 'fan', 'hvac'], mode: str | HVACMode, modes: list[str] | list[HVACMode] | None) -> None: ...
|
102
106
|
def set_temperature(self, **kwargs: Any) -> None: ...
|
103
107
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
104
108
|
def set_humidity(self, humidity: int) -> None: ...
|
@@ -112,6 +116,9 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
112
116
|
async def async_handle_set_swing_mode_service(self, swing_mode: str) -> None: ...
|
113
117
|
def set_swing_mode(self, swing_mode: str) -> None: ...
|
114
118
|
async def async_set_swing_mode(self, swing_mode: str) -> None: ...
|
119
|
+
async def async_handle_set_swing_horizontal_mode_service(self, swing_horizontal_mode: str) -> None: ...
|
120
|
+
def set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
|
121
|
+
async def async_set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
|
115
122
|
async def async_handle_set_preset_mode_service(self, preset_mode: str) -> None: ...
|
116
123
|
def set_preset_mode(self, preset_mode: str) -> None: ...
|
117
124
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
@@ -42,6 +42,8 @@ SWING_OFF: str
|
|
42
42
|
SWING_BOTH: str
|
43
43
|
SWING_VERTICAL: str
|
44
44
|
SWING_HORIZONTAL: str
|
45
|
+
SWING_HORIZONTAL_ON: str
|
46
|
+
SWING_HORIZONTAL_OFF: str
|
45
47
|
|
46
48
|
class HVACAction(StrEnum):
|
47
49
|
COOLING = 'cooling'
|
@@ -77,6 +79,8 @@ ATTR_HVAC_MODES: str
|
|
77
79
|
ATTR_HVAC_MODE: str
|
78
80
|
ATTR_SWING_MODES: str
|
79
81
|
ATTR_SWING_MODE: str
|
82
|
+
ATTR_SWING_HORIZONTAL_MODE: str
|
83
|
+
ATTR_SWING_HORIZONTAL_MODES: str
|
80
84
|
ATTR_TARGET_TEMP_HIGH: str
|
81
85
|
ATTR_TARGET_TEMP_LOW: str
|
82
86
|
ATTR_TARGET_TEMP_STEP: str
|
@@ -92,6 +96,7 @@ SERVICE_SET_PRESET_MODE: str
|
|
92
96
|
SERVICE_SET_HUMIDITY: str
|
93
97
|
SERVICE_SET_HVAC_MODE: str
|
94
98
|
SERVICE_SET_SWING_MODE: str
|
99
|
+
SERVICE_SET_SWING_HORIZONTAL_MODE: str
|
95
100
|
SERVICE_SET_TEMPERATURE: str
|
96
101
|
|
97
102
|
class ClimateEntityFeature(IntFlag):
|
@@ -104,6 +109,7 @@ class ClimateEntityFeature(IntFlag):
|
|
104
109
|
AUX_HEAT = 64
|
105
110
|
TURN_OFF = 128
|
106
111
|
TURN_ON = 256
|
112
|
+
SWING_HORIZONTAL_MODE = 512
|
107
113
|
|
108
114
|
_DEPRECATED_SUPPORT_TARGET_TEMPERATURE: Incomplete
|
109
115
|
_DEPRECATED_SUPPORT_TARGET_TEMPERATURE_RANGE: Incomplete
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, DOMAIN as DOMAIN, HVAC_MODES as HVAC_MODES, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE
|
1
|
+
from .const import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, DOMAIN as DOMAIN, HVAC_MODES as HVAC_MODES, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE
|
2
2
|
from collections.abc import Iterable
|
3
3
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE
|
4
4
|
from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from . import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TEMPERATURE as ATTR_TEMPERATURE
|
1
|
+
from . import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TEMPERATURE as ATTR_TEMPERATURE
|
2
2
|
from homeassistant.const import UnitOfTemperature as UnitOfTemperature
|
3
3
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
4
4
|
from homeassistant.helpers.significant_change import check_absolute_change as check_absolute_change, check_valid_float as check_valid_float
|
@@ -28,7 +28,7 @@ class CloudPreferences:
|
|
28
28
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
29
29
|
async def async_initialize(self) -> None: ...
|
30
30
|
def async_listen_updates(self, listener: Callable[[CloudPreferences], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
|
31
|
-
async def async_update(self, *,
|
31
|
+
async def async_update(self, *, alexa_enabled: bool | UndefinedType = ..., alexa_report_state: bool | UndefinedType = ..., alexa_settings_version: int | UndefinedType = ..., cloud_ice_servers_enabled: bool | UndefinedType = ..., cloud_user: str | UndefinedType = ..., cloudhooks: dict[str, dict[str, str | bool]] | UndefinedType = ..., google_connected: bool | UndefinedType = ..., google_enabled: bool | UndefinedType = ..., google_report_state: bool | UndefinedType = ..., google_secure_devices_pin: str | None | UndefinedType = ..., google_settings_version: int | UndefinedType = ..., remote_allow_remote_enable: bool | UndefinedType = ..., remote_domain: str | None | UndefinedType = ..., remote_enabled: bool | UndefinedType = ..., tts_default_voice: tuple[str, str] | UndefinedType = ...) -> None: ...
|
32
32
|
async def async_set_username(self, username: str | None) -> bool: ...
|
33
33
|
async def async_erase_config(self) -> None: ...
|
34
34
|
def as_dict(self) -> dict[str, Any]: ...
|
@@ -36,8 +36,7 @@ class CrownstoneConfigFlowHandler(BaseCrownstoneFlowHandler, ConfigFlow, domain=
|
|
36
36
|
def async_create_new_entry(self) -> ConfigFlowResult: ...
|
37
37
|
|
38
38
|
class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
|
39
|
-
|
40
|
-
updated_options: Incomplete
|
39
|
+
options: Incomplete
|
41
40
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
42
41
|
cloud: Incomplete
|
43
42
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,6 +1,5 @@
|
|
1
1
|
from .const import CONF_ALLOW_CLIP_SENSOR as CONF_ALLOW_CLIP_SENSOR, CONF_ALLOW_DECONZ_GROUPS as CONF_ALLOW_DECONZ_GROUPS, CONF_ALLOW_NEW_DEVICES as CONF_ALLOW_NEW_DEVICES, DEFAULT_ALLOW_CLIP_SENSOR as DEFAULT_ALLOW_CLIP_SENSOR, DEFAULT_ALLOW_DECONZ_GROUPS as DEFAULT_ALLOW_DECONZ_GROUPS, DEFAULT_ALLOW_NEW_DEVICES as DEFAULT_ALLOW_NEW_DEVICES, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, HASSIO_CONFIGURATION_URL as HASSIO_CONFIGURATION_URL, LOGGER as LOGGER
|
2
2
|
from .hub import DeconzHub as DeconzHub
|
3
|
-
from _typeshed import Incomplete
|
4
3
|
from collections.abc import Mapping
|
5
4
|
from homeassistant.components import ssdp as ssdp
|
6
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HASSIO as SOURCE_HASSIO
|
@@ -25,7 +24,7 @@ class DeconzFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
25
24
|
port: int
|
26
25
|
api_key: str
|
27
26
|
@staticmethod
|
28
|
-
def async_get_options_flow(config_entry: ConfigEntry) ->
|
27
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> DeconzOptionsFlowHandler: ...
|
29
28
|
bridge_id: str
|
30
29
|
def __init__(self) -> None: ...
|
31
30
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -39,8 +38,5 @@ class DeconzFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
39
38
|
|
40
39
|
class DeconzOptionsFlowHandler(OptionsFlow):
|
41
40
|
gateway: DeconzHub
|
42
|
-
config_entry: Incomplete
|
43
|
-
options: Incomplete
|
44
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
45
41
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
46
42
|
async def async_step_deconz_devices(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -31,13 +31,15 @@ class DemoClimate(ClimateEntity):
|
|
31
31
|
_hvac_action: Incomplete
|
32
32
|
_hvac_mode: Incomplete
|
33
33
|
_current_swing_mode: Incomplete
|
34
|
+
_current_swing_horizontal_mode: Incomplete
|
34
35
|
_fan_modes: Incomplete
|
35
36
|
_hvac_modes: Incomplete
|
36
37
|
_swing_modes: Incomplete
|
38
|
+
_swing_horizontal_modes: Incomplete
|
37
39
|
_target_temperature_high: Incomplete
|
38
40
|
_target_temperature_low: Incomplete
|
39
41
|
_attr_device_info: Incomplete
|
40
|
-
def __init__(self, unique_id: str, device_name: str, target_temperature: float | None, unit_of_measurement: str, preset: str | None, current_temperature: float, fan_mode: str | None, target_humidity: float | None, current_humidity: float | None, swing_mode: str | None, hvac_mode: HVACMode, hvac_action: HVACAction | None, target_temp_high: float | None, target_temp_low: float | None, hvac_modes: list[HVACMode], preset_modes: list[str] | None = None) -> None: ...
|
42
|
+
def __init__(self, unique_id: str, device_name: str, target_temperature: float | None, unit_of_measurement: str, preset: str | None, current_temperature: float, fan_mode: str | None, target_humidity: float | None, current_humidity: float | None, swing_mode: str | None, swing_horizontal_mode: str | None, hvac_mode: HVACMode, hvac_action: HVACAction | None, target_temp_high: float | None, target_temp_low: float | None, hvac_modes: list[HVACMode], preset_modes: list[str] | None = None) -> None: ...
|
41
43
|
@property
|
42
44
|
def unique_id(self) -> str: ...
|
43
45
|
@property
|
@@ -72,9 +74,14 @@ class DemoClimate(ClimateEntity):
|
|
72
74
|
def swing_mode(self) -> str | None: ...
|
73
75
|
@property
|
74
76
|
def swing_modes(self) -> list[str]: ...
|
77
|
+
@property
|
78
|
+
def swing_horizontal_mode(self) -> str | None: ...
|
79
|
+
@property
|
80
|
+
def swing_horizontal_modes(self) -> list[str]: ...
|
75
81
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
76
82
|
async def async_set_humidity(self, humidity: int) -> None: ...
|
77
83
|
async def async_set_swing_mode(self, swing_mode: str) -> None: ...
|
84
|
+
async def async_set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
|
78
85
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
79
86
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
80
87
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
@@ -17,7 +17,6 @@ class DemoConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
17
|
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
18
18
|
|
19
19
|
class OptionsFlowHandler(OptionsFlow):
|
20
|
-
config_entry: Incomplete
|
21
20
|
options: Incomplete
|
22
21
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
23
22
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Mapping
|
4
|
-
from homeassistant.config_entries import
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
|
5
5
|
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
|
6
6
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
7
7
|
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
@@ -12,8 +12,5 @@ CONFIG_SCHEMA: Incomplete
|
|
12
12
|
|
13
13
|
class DiscovergyConfigFlow(ConfigFlow, domain=DOMAIN):
|
14
14
|
VERSION: int
|
15
|
-
_existing_entry: ConfigEntry
|
16
|
-
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
15
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
18
|
-
async def
|
19
|
-
async def _validate_and_save(self, user_input: Mapping[str, Any] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
16
|
+
async def async_step_user(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -38,8 +38,6 @@ class DlnaDmrFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
38
38
|
async def _async_get_discoveries(self) -> list[ssdp.SsdpServiceInfo]: ...
|
39
39
|
|
40
40
|
class DlnaDmrOptionsFlowHandler(OptionsFlow):
|
41
|
-
config_entry: Incomplete
|
42
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
43
41
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
44
42
|
|
45
43
|
def _is_ignored_device(discovery_info: ssdp.SsdpServiceInfo) -> bool: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import CONF_HOSTNAME as CONF_HOSTNAME, CONF_IPV4 as CONF_IPV4, CONF_IPV6 as CONF_IPV6, CONF_IPV6_V4 as CONF_IPV6_V4, CONF_PORT_IPV6 as CONF_PORT_IPV6, CONF_RESOLVER as CONF_RESOLVER, CONF_RESOLVER_IPV6 as CONF_RESOLVER_IPV6, DEFAULT_HOSTNAME as DEFAULT_HOSTNAME, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_RESOLVER as DEFAULT_RESOLVER, DEFAULT_RESOLVER_IPV6 as DEFAULT_RESOLVER_IPV6, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
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_NAME as CONF_NAME, CONF_PORT as CONF_PORT
|
5
5
|
from homeassistant.core import callback as callback
|
6
6
|
from typing import Any
|
@@ -17,5 +17,5 @@ class DnsIPConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
17
17
|
def async_get_options_flow(config_entry: ConfigEntry) -> DnsIPOptionsFlowHandler: ...
|
18
18
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
19
19
|
|
20
|
-
class DnsIPOptionsFlowHandler(
|
20
|
+
class DnsIPOptionsFlowHandler(OptionsFlow):
|
21
21
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -35,8 +35,6 @@ class DoorBirdConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
35
35
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
|
36
36
|
|
37
37
|
class OptionsFlowHandler(OptionsFlow):
|
38
|
-
config_entry: Incomplete
|
39
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
40
38
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
41
39
|
|
42
40
|
class CannotConnect(HomeAssistantError): ...
|
@@ -35,8 +35,6 @@ class DSMRFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
35
35
|
async def async_validate_dsmr(self, input_data: dict[str, Any], errors: dict[str, str]) -> dict[str, Any]: ...
|
36
36
|
|
37
37
|
class DSMROptionFlowHandler(OptionsFlow):
|
38
|
-
entry: Incomplete
|
39
|
-
def __init__(self, entry: ConfigEntry) -> None: ...
|
40
38
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
41
39
|
|
42
40
|
def get_serial_by_id(dev_path: str) -> str: ...
|
@@ -8,7 +8,7 @@ from dataclasses import dataclass
|
|
8
8
|
from deebot_client.capabilities import CapabilityEvent, CapabilityLifeSpan
|
9
9
|
from deebot_client.events import ErrorEvent, Event as Event, LifeSpan as LifeSpan, LifeSpanEvent as LifeSpanEvent
|
10
10
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
11
|
-
from homeassistant.const import
|
11
|
+
from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, CONF_DESCRIPTION as CONF_DESCRIPTION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfArea as UnitOfArea, UnitOfTime as UnitOfTime
|
12
12
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
14
|
from homeassistant.helpers.typing import StateType as StateType
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .const import CONF_CONFIGURE_VOICE as CONF_CONFIGURE_VOICE, CONF_MODEL as CONF_MODEL, CONF_OPTIMIZE_LATENCY as CONF_OPTIMIZE_LATENCY, CONF_SIMILARITY as CONF_SIMILARITY, CONF_STABILITY as CONF_STABILITY, CONF_STYLE as CONF_STYLE, CONF_USE_SPEAKER_BOOST as CONF_USE_SPEAKER_BOOST, CONF_VOICE as CONF_VOICE, DEFAULT_MODEL as DEFAULT_MODEL, DEFAULT_OPTIMIZE_LATENCY as DEFAULT_OPTIMIZE_LATENCY, DEFAULT_SIMILARITY as DEFAULT_SIMILARITY, DEFAULT_STABILITY as DEFAULT_STABILITY, DEFAULT_STYLE as DEFAULT_STYLE, DEFAULT_USE_SPEAKER_BOOST as DEFAULT_USE_SPEAKER_BOOST, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
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_API_KEY as CONF_API_KEY
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
@@ -19,7 +19,7 @@ class ElevenLabsConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
19
19
|
@staticmethod
|
20
20
|
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
21
21
|
|
22
|
-
class ElevenLabsOptionsFlow(
|
22
|
+
class ElevenLabsOptionsFlow(OptionsFlow):
|
23
23
|
api_key: Incomplete
|
24
24
|
voices: Incomplete
|
25
25
|
models: Incomplete
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, INVALID_AUTH_ERRORS as INVALID_AUTH_ERRORS,
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
5
|
from homeassistant.components import zeroconf as zeroconf
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
|
7
7
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
@@ -35,5 +35,5 @@ class EnphaseConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
35
35
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
36
36
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
37
37
|
|
38
|
-
class EnvoyOptionsFlowHandler(
|
38
|
+
class EnvoyOptionsFlowHandler(OptionsFlow):
|
39
39
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import SIGNAL_THERMOSTAT_CONNECTED as SIGNAL_THERMOSTAT_CONNECTED, SIGNAL_THERMOSTAT_DISCONNECTED as SIGNAL_THERMOSTAT_DISCONNECTED
|
2
2
|
from .models import Eq3Config as Eq3Config, Eq3ConfigEntryData as Eq3ConfigEntryData
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components import bluetooth as bluetooth
|
@@ -10,9 +10,10 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_disp
|
|
10
10
|
|
11
11
|
PLATFORMS: Incomplete
|
12
12
|
_LOGGER: Incomplete
|
13
|
+
type Eq3ConfigEntry = ConfigEntry[Eq3ConfigEntryData]
|
13
14
|
|
14
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
15
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
16
|
-
async def update_listener(hass: HomeAssistant, entry:
|
17
|
-
async def _async_run_thermostat(hass: HomeAssistant, entry:
|
18
|
-
async def _async_reconnect_thermostat(hass: HomeAssistant, entry:
|
15
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Eq3ConfigEntry) -> bool: ...
|
16
|
+
async def async_unload_entry(hass: HomeAssistant, entry: Eq3ConfigEntry) -> bool: ...
|
17
|
+
async def update_listener(hass: HomeAssistant, entry: Eq3ConfigEntry) -> None: ...
|
18
|
+
async def _async_run_thermostat(hass: HomeAssistant, entry: Eq3ConfigEntry) -> None: ...
|
19
|
+
async def _async_reconnect_thermostat(hass: HomeAssistant, entry: Eq3ConfigEntry) -> None: ...
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
+
from .const import ENTITY_KEY_BATTERY as ENTITY_KEY_BATTERY, ENTITY_KEY_DST as ENTITY_KEY_DST, ENTITY_KEY_WINDOW as ENTITY_KEY_WINDOW
|
3
|
+
from .entity import Eq3Entity as Eq3Entity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from eq3btsmart.models import Status as Status
|
8
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
9
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class Eq3BinarySensorEntityDescription(BinarySensorEntityDescription):
|
15
|
+
value_func: Callable[[Status], bool]
|
16
|
+
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., value_func) -> None: ...
|
17
|
+
|
18
|
+
BINARY_SENSOR_ENTITY_DESCRIPTIONS: Incomplete
|
19
|
+
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Eq3ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
|
+
|
22
|
+
class Eq3BinarySensorEntity(Eq3Entity, BinarySensorEntity):
|
23
|
+
entity_description: Eq3BinarySensorEntityDescription
|
24
|
+
def __init__(self, entry: Eq3ConfigEntry, entity_description: Eq3BinarySensorEntityDescription) -> None: ...
|
25
|
+
@property
|
26
|
+
def is_on(self) -> bool: ...
|
@@ -1,23 +1,19 @@
|
|
1
|
-
from .
|
1
|
+
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
+
from .const import CurrentTemperatureSelector as CurrentTemperatureSelector, EQ_TO_HA_HVAC as EQ_TO_HA_HVAC, HA_TO_EQ_HVAC as HA_TO_EQ_HVAC, Preset as Preset, TargetTemperatureSelector as TargetTemperatureSelector
|
2
3
|
from .entity import Eq3Entity as Eq3Entity
|
3
|
-
from .models import Eq3Config as Eq3Config, Eq3ConfigEntryData as Eq3ConfigEntryData
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from eq3btsmart import Thermostat as Thermostat
|
6
5
|
from eq3btsmart.const import EQ3BT_MAX_TEMP, EQ3BT_OFF_TEMP
|
7
6
|
from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
7
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
|
10
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
9
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
12
|
-
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH
|
13
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
10
|
+
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH
|
14
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
-
from homeassistant.util import slugify as slugify
|
16
12
|
from typing import Any
|
17
13
|
|
18
14
|
_LOGGER: Incomplete
|
19
15
|
|
20
|
-
async def async_setup_entry(hass: HomeAssistant,
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Eq3ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
17
|
|
22
18
|
class Eq3Climate(Eq3Entity, ClimateEntity):
|
23
19
|
_attr_name: Incomplete
|
@@ -34,13 +30,6 @@ class Eq3Climate(Eq3Entity, ClimateEntity):
|
|
34
30
|
_attr_hvac_action: HVACAction | None
|
35
31
|
_attr_preset_mode: str | None
|
36
32
|
_target_temperature: float | None
|
37
|
-
_attr_unique_id: Incomplete
|
38
|
-
_attr_device_info: Incomplete
|
39
|
-
def __init__(self, eq3_config: Eq3Config, thermostat: Thermostat) -> None: ...
|
40
|
-
async def async_added_to_hass(self) -> None: ...
|
41
|
-
async def async_will_remove_from_hass(self) -> None: ...
|
42
|
-
def _async_on_disconnected(self) -> None: ...
|
43
|
-
def _async_on_connected(self) -> None: ...
|
44
33
|
def _async_on_updated(self) -> None: ...
|
45
34
|
_attr_current_temperature: Incomplete
|
46
35
|
_attr_target_temperature: Incomplete
|
@@ -6,6 +6,19 @@ from homeassistant.components.climate import HVACMode as HVACMode, PRESET_AWAY a
|
|
6
6
|
DOMAIN: str
|
7
7
|
MANUFACTURER: str
|
8
8
|
DEVICE_MODEL: str
|
9
|
+
ENTITY_KEY_DST: str
|
10
|
+
ENTITY_KEY_BATTERY: str
|
11
|
+
ENTITY_KEY_WINDOW: str
|
12
|
+
ENTITY_KEY_LOCK: str
|
13
|
+
ENTITY_KEY_BOOST: str
|
14
|
+
ENTITY_KEY_AWAY: str
|
15
|
+
ENTITY_KEY_COMFORT: str
|
16
|
+
ENTITY_KEY_ECO: str
|
17
|
+
ENTITY_KEY_OFFSET: str
|
18
|
+
ENTITY_KEY_WINDOW_OPEN_TEMPERATURE: str
|
19
|
+
ENTITY_KEY_WINDOW_OPEN_TIMEOUT: str
|
20
|
+
ENTITY_KEY_VALVE: str
|
21
|
+
ENTITY_KEY_AWAY_UNTIL: str
|
9
22
|
GET_DEVICE_TIMEOUT: int
|
10
23
|
EQ_TO_HA_HVAC: dict[OperationMode, HVACMode]
|
11
24
|
HA_TO_EQ_HVAC: Incomplete
|
@@ -36,3 +49,4 @@ DEFAULT_TARGET_TEMP_SELECTOR: Incomplete
|
|
36
49
|
DEFAULT_SCAN_INTERVAL: int
|
37
50
|
SIGNAL_THERMOSTAT_DISCONNECTED: Incomplete
|
38
51
|
SIGNAL_THERMOSTAT_CONNECTED: Incomplete
|
52
|
+
EQ3BT_STEP: float
|
@@ -1,10 +1,24 @@
|
|
1
|
-
from .
|
1
|
+
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
+
from .const import DEVICE_MODEL as DEVICE_MODEL, MANUFACTURER as MANUFACTURER, SIGNAL_THERMOSTAT_CONNECTED as SIGNAL_THERMOSTAT_CONNECTED, SIGNAL_THERMOSTAT_DISCONNECTED as SIGNAL_THERMOSTAT_DISCONNECTED
|
2
3
|
from _typeshed import Incomplete
|
3
|
-
from
|
4
|
+
from homeassistant.core import callback as callback
|
5
|
+
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo, format_mac as format_mac
|
6
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
4
7
|
from homeassistant.helpers.entity import Entity as Entity
|
8
|
+
from homeassistant.util import slugify as slugify
|
5
9
|
|
6
10
|
class Eq3Entity(Entity):
|
7
11
|
_attr_has_entity_name: bool
|
8
12
|
_eq3_config: Incomplete
|
9
13
|
_thermostat: Incomplete
|
10
|
-
|
14
|
+
_attr_device_info: Incomplete
|
15
|
+
_attr_unique_id: Incomplete
|
16
|
+
def __init__(self, entry: Eq3ConfigEntry, unique_id_key: str | None = None) -> None: ...
|
17
|
+
async def async_added_to_hass(self) -> None: ...
|
18
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
19
|
+
def _async_on_updated(self) -> None: ...
|
20
|
+
_attr_available: bool
|
21
|
+
def _async_on_disconnected(self) -> None: ...
|
22
|
+
def _async_on_connected(self) -> None: ...
|
23
|
+
@property
|
24
|
+
def available(self) -> bool: ...
|
@@ -9,9 +9,7 @@ class Eq3Config:
|
|
9
9
|
target_temp_selector: TargetTemperatureSelector = ...
|
10
10
|
external_temp_sensor: str = ...
|
11
11
|
scan_interval: int = ...
|
12
|
-
|
13
|
-
default_away_temperature: float = ...
|
14
|
-
def __init__(self, mac_address, current_temp_selector=..., target_temp_selector=..., external_temp_sensor=..., scan_interval=..., default_away_hours=..., default_away_temperature=...) -> None: ...
|
12
|
+
def __init__(self, mac_address, current_temp_selector=..., target_temp_selector=..., external_temp_sensor=..., scan_interval=...) -> None: ...
|
15
13
|
|
16
14
|
@dataclass(slots=True)
|
17
15
|
class Eq3ConfigEntryData:
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
+
from .const import ENTITY_KEY_COMFORT as ENTITY_KEY_COMFORT, ENTITY_KEY_ECO as ENTITY_KEY_ECO, ENTITY_KEY_OFFSET as ENTITY_KEY_OFFSET, ENTITY_KEY_WINDOW_OPEN_TEMPERATURE as ENTITY_KEY_WINDOW_OPEN_TEMPERATURE, ENTITY_KEY_WINDOW_OPEN_TIMEOUT as ENTITY_KEY_WINDOW_OPEN_TIMEOUT, EQ3BT_STEP as EQ3BT_STEP
|
3
|
+
from .entity import Eq3Entity as Eq3Entity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Awaitable, Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from eq3btsmart import Thermostat as Thermostat
|
8
|
+
from eq3btsmart.models import Presets as Presets
|
9
|
+
from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
10
|
+
from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
15
|
+
class Eq3NumberEntityDescription(NumberEntityDescription):
|
16
|
+
value_func: Callable[[Presets], float]
|
17
|
+
value_set_func: Callable[[Thermostat], Callable[[float], Awaitable[None]]]
|
18
|
+
mode: NumberMode = ...
|
19
|
+
entity_category: EntityCategory | None = ...
|
20
|
+
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=..., value_func, value_set_func) -> None: ...
|
21
|
+
|
22
|
+
NUMBER_ENTITY_DESCRIPTIONS: Incomplete
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Eq3ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
25
|
+
|
26
|
+
class Eq3NumberEntity(Eq3Entity, NumberEntity):
|
27
|
+
entity_description: Eq3NumberEntityDescription
|
28
|
+
def __init__(self, entry: Eq3ConfigEntry, entity_description: Eq3NumberEntityDescription) -> None: ...
|
29
|
+
@property
|
30
|
+
def native_value(self) -> float: ...
|
31
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
32
|
+
@property
|
33
|
+
def available(self) -> bool: ...
|