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
@@ -1,10 +1,10 @@
|
|
1
|
+
from . import PureEnergieConfigEntry as PureEnergieConfigEntry
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import PureEnergieData as PureEnergieData, PureEnergieDataUpdateCoordinator as PureEnergieDataUpdateCoordinator
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|
6
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import CONF_HOST as CONF_HOST, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
@@ -18,7 +18,7 @@ class PureEnergieSensorEntityDescription(SensorEntityDescription):
|
|
18
18
|
|
19
19
|
SENSORS: tuple[PureEnergieSensorEntityDescription, ...]
|
20
20
|
|
21
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PureEnergieConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
22
22
|
|
23
23
|
class PureEnergieSensorEntity(CoordinatorEntity[PureEnergieDataUpdateCoordinator], SensorEntity):
|
24
24
|
_attr_has_entity_name: bool
|
@@ -26,6 +26,6 @@ class PureEnergieSensorEntity(CoordinatorEntity[PureEnergieDataUpdateCoordinator
|
|
26
26
|
entity_id: Incomplete
|
27
27
|
_attr_unique_id: Incomplete
|
28
28
|
_attr_device_info: Incomplete
|
29
|
-
def __init__(self, *,
|
29
|
+
def __init__(self, *, description: PureEnergieSensorEntityDescription, entry: PureEnergieConfigEntry) -> None: ...
|
30
30
|
@property
|
31
31
|
def native_value(self) -> int | float: ...
|
@@ -50,8 +50,7 @@ class PurpleAirConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
50
50
|
|
51
51
|
class PurpleAirOptionsFlowHandler(OptionsFlow):
|
52
52
|
_flow_data: Incomplete
|
53
|
-
|
54
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
53
|
+
def __init__(self) -> None: ...
|
55
54
|
@property
|
56
55
|
def settings_schema(self) -> vol.Schema: ...
|
57
56
|
async def async_step_add_sensor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .const import CONF_ALLOW_INACTIVE_ZONES_TO_RUN as CONF_ALLOW_INACTIVE_ZONES_TO_RUN, CONF_DEFAULT_ZONE_RUN_TIME as CONF_DEFAULT_ZONE_RUN_TIME, CONF_USE_APP_RUN_TIMES as CONF_USE_APP_RUN_TIMES, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_ZONE_RUN as DEFAULT_ZONE_RUN, DOMAIN as DOMAIN
|
3
|
-
from _typeshed import Incomplete
|
4
3
|
from homeassistant.components import zeroconf as zeroconf
|
5
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
6
5
|
from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL
|
@@ -25,6 +24,4 @@ class RainMachineFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
25
24
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
25
|
|
27
26
|
class RainMachineOptionsFlowHandler(OptionsFlow):
|
28
|
-
config_entry: Incomplete
|
29
|
-
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
30
27
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -11,10 +11,8 @@ DATA_SCHEMA: Incomplete
|
|
11
11
|
class RecollectWasteConfigFlow(ConfigFlow, domain=DOMAIN):
|
12
12
|
VERSION: int
|
13
13
|
@staticmethod
|
14
|
-
def async_get_options_flow(config_entry: ConfigEntry) ->
|
14
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> RecollectWasteOptionsFlowHandler: ...
|
15
15
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
16
|
|
17
17
|
class RecollectWasteOptionsFlowHandler(OptionsFlow):
|
18
|
-
_entry: Incomplete
|
19
|
-
def __init__(self, entry: ConfigEntry) -> None: ...
|
20
18
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import threading
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.helpers.frame import
|
3
|
+
from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
|
4
4
|
from homeassistant.util.loop import raise_for_blocking_call as raise_for_blocking_call
|
5
5
|
from sqlalchemy.pool import ConnectionPoolEntry as ConnectionPoolEntry, NullPool, SingletonThreadPool, StaticPool
|
6
6
|
from typing import Any
|
@@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
13
|
from homeassistant.helpers.singleton import singleton as singleton
|
14
14
|
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
15
|
-
from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
15
|
+
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
16
16
|
from sqlalchemy import Select as Select
|
17
17
|
from sqlalchemy.engine.row import Row
|
18
18
|
from sqlalchemy.orm.session import Session as Session
|
@@ -8,7 +8,7 @@ from homeassistant.components.websocket_api import messages as messages
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
10
|
from homeassistant.helpers.json import json_bytes as json_bytes
|
11
|
-
from homeassistant.util.unit_conversion import ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
11
|
+
from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
12
12
|
from typing import Any, Literal
|
13
13
|
|
14
14
|
CLEAR_STATISTICS_TIME_OUT: int
|
@@ -6,15 +6,14 @@ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowRes
|
|
6
6
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from typing import Any
|
8
8
|
|
9
|
+
USER_SCHEMA: Incomplete
|
10
|
+
REAUTH_SCHEMA: Incomplete
|
11
|
+
|
9
12
|
class RenaultFlowHandler(ConfigFlow, domain=DOMAIN):
|
10
|
-
|
11
|
-
_original_data: Incomplete
|
13
|
+
renault_hub: RenaultHub
|
12
14
|
renault_config: Incomplete
|
13
|
-
renault_hub: Incomplete
|
14
15
|
def __init__(self) -> None: ...
|
15
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
-
def _show_user_form(self, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
17
|
async def async_step_kamereon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
18
18
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
19
19
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
-
def _show_reauth_confirm_form(self, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -4,6 +4,7 @@ from .renault_vehicle import RenaultVehicleProxy as RenaultVehicleProxy
|
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
7
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
7
8
|
|
8
9
|
LOGGER: Incomplete
|
9
10
|
ATTR_SCHEDULES: str
|
@@ -0,0 +1,28 @@
|
|
1
|
+
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
|
+
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, UserNotAdmin as UserNotAdmin
|
3
|
+
from .host import ReolinkHost as ReolinkHost
|
4
|
+
from .services import async_setup_services as async_setup_services
|
5
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, get_device_uid_and_ch as get_device_uid_and_ch
|
6
|
+
from _typeshed import Incomplete
|
7
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
8
|
+
from homeassistant.const import CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
|
+
from homeassistant.helpers import device_registry as dr
|
12
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
13
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
14
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
15
|
+
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
PLATFORMS: Incomplete
|
18
|
+
DEVICE_UPDATE_INTERVAL: Incomplete
|
19
|
+
FIRMWARE_UPDATE_INTERVAL: Incomplete
|
20
|
+
NUM_CRED_ERRORS: int
|
21
|
+
CONFIG_SCHEMA: Incomplete
|
22
|
+
|
23
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
|
25
|
+
async def entry_update_listener(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
|
26
|
+
async def async_unload_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
|
27
|
+
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ReolinkConfigEntry, device: dr.DeviceEntry) -> bool: ...
|
28
|
+
def migrate_entity_ids(hass: HomeAssistant, config_entry_id: str, host: ReolinkHost) -> None: ...
|
@@ -0,0 +1,34 @@
|
|
1
|
+
from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
|
2
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from reolink_aio.api import Host as Host
|
12
|
+
|
13
|
+
PARALLEL_UPDATES: int
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class ReolinkBinarySensorEntityDescription(BinarySensorEntityDescription, ReolinkChannelEntityDescription):
|
17
|
+
value: Callable[[Host, int], bool]
|
18
|
+
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., cmd_key=..., cmd_id=..., supported=..., value) -> None: ...
|
19
|
+
|
20
|
+
BINARY_PUSH_SENSORS: Incomplete
|
21
|
+
BINARY_SENSORS: Incomplete
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class ReolinkBinarySensorEntity(ReolinkChannelCoordinatorEntity, BinarySensorEntity):
|
26
|
+
entity_description: ReolinkBinarySensorEntityDescription
|
27
|
+
_attr_translation_key: Incomplete
|
28
|
+
def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkBinarySensorEntityDescription) -> None: ...
|
29
|
+
@property
|
30
|
+
def is_on(self) -> bool: ...
|
31
|
+
|
32
|
+
class ReolinkPushBinarySensorEntity(ReolinkBinarySensorEntity):
|
33
|
+
async def async_added_to_hass(self) -> None: ...
|
34
|
+
async def _async_handle_event(self, event: str) -> None: ...
|
@@ -0,0 +1,48 @@
|
|
1
|
+
from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
|
2
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
7
|
+
from homeassistant.components.camera import CameraEntityFeature as CameraEntityFeature
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
|
12
|
+
from reolink_aio.api import Host as Host
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
ATTR_SPEED: str
|
17
|
+
SUPPORT_PTZ_SPEED: Incomplete
|
18
|
+
SERVICE_PTZ_MOVE: str
|
19
|
+
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class ReolinkButtonEntityDescription(ButtonEntityDescription, ReolinkChannelEntityDescription):
|
22
|
+
enabled_default: Callable[[Host, int], bool] | None = ...
|
23
|
+
method: Callable[[Host, int], Any]
|
24
|
+
ptz_cmd: str | None = ...
|
25
|
+
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=..., cmd_key=..., cmd_id=..., supported=..., enabled_default=..., method, ptz_cmd=...) -> None: ...
|
26
|
+
|
27
|
+
@dataclass(frozen=True, kw_only=True)
|
28
|
+
class ReolinkHostButtonEntityDescription(ButtonEntityDescription, ReolinkHostEntityDescription):
|
29
|
+
method: Callable[[Host], Any]
|
30
|
+
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=..., cmd_key=..., cmd_id=..., supported=..., method) -> None: ...
|
31
|
+
|
32
|
+
BUTTON_ENTITIES: Incomplete
|
33
|
+
HOST_BUTTON_ENTITIES: Incomplete
|
34
|
+
|
35
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
36
|
+
|
37
|
+
class ReolinkButtonEntity(ReolinkChannelCoordinatorEntity, ButtonEntity):
|
38
|
+
entity_description: ReolinkButtonEntityDescription
|
39
|
+
_attr_entity_registry_enabled_default: Incomplete
|
40
|
+
_attr_supported_features: Incomplete
|
41
|
+
def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkButtonEntityDescription) -> None: ...
|
42
|
+
async def async_press(self) -> None: ...
|
43
|
+
async def async_ptz_move(self, **kwargs: Any) -> None: ...
|
44
|
+
|
45
|
+
class ReolinkHostButtonEntity(ReolinkHostCoordinatorEntity, ButtonEntity):
|
46
|
+
entity_description: ReolinkHostButtonEntityDescription
|
47
|
+
def __init__(self, reolink_data: ReolinkData, entity_description: ReolinkHostButtonEntityDescription) -> None: ...
|
48
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,28 @@
|
|
1
|
+
from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
|
2
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
|
10
|
+
_LOGGER: Incomplete
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class ReolinkCameraEntityDescription(CameraEntityDescription, ReolinkChannelEntityDescription):
|
15
|
+
stream: str
|
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=..., cmd_key=..., cmd_id=..., supported=..., stream) -> None: ...
|
17
|
+
|
18
|
+
CAMERA_ENTITIES: Incomplete
|
19
|
+
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
|
+
|
22
|
+
class ReolinkCamera(ReolinkChannelCoordinatorEntity, Camera):
|
23
|
+
entity_description: ReolinkCameraEntityDescription
|
24
|
+
_attr_supported_features: Incomplete
|
25
|
+
_attr_translation_key: Incomplete
|
26
|
+
def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkCameraEntityDescription) -> None: ...
|
27
|
+
async def stream_source(self) -> str | None: ...
|
28
|
+
async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
|
+
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, ReolinkWebhookException as ReolinkWebhookException, UserNotAdmin as UserNotAdmin
|
3
|
+
from .host import ReolinkHost as ReolinkHost
|
4
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, is_connected as is_connected
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Mapping
|
7
|
+
from homeassistant.components import dhcp as dhcp
|
8
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
9
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
10
|
+
from homeassistant.core import callback as callback
|
11
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
12
|
+
from homeassistant.helpers import selector as selector
|
13
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
14
|
+
from typing import Any
|
15
|
+
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
DEFAULT_PROTOCOL: str
|
18
|
+
DEFAULT_OPTIONS: Incomplete
|
19
|
+
|
20
|
+
class ReolinkOptionsFlowHandler(OptionsFlow):
|
21
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
22
|
+
|
23
|
+
class ReolinkFlowHandler(ConfigFlow, domain=DOMAIN):
|
24
|
+
VERSION: int
|
25
|
+
_host: Incomplete
|
26
|
+
_username: str
|
27
|
+
_password: Incomplete
|
28
|
+
def __init__(self) -> None: ...
|
29
|
+
@staticmethod
|
30
|
+
def async_get_options_flow(config_entry: ReolinkConfigEntry) -> ReolinkOptionsFlowHandler: ...
|
31
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
32
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
34
|
+
async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
|
35
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,5 @@
|
|
1
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from typing import Any
|
4
|
+
|
5
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,69 @@
|
|
1
|
+
from . import ReolinkData as ReolinkData
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.core import callback as callback
|
7
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
8
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
9
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
10
|
+
from reolink_aio.api import Chime as Chime, Host as Host
|
11
|
+
|
12
|
+
@dataclass(frozen=True, kw_only=True)
|
13
|
+
class ReolinkEntityDescription(EntityDescription):
|
14
|
+
cmd_key: str | None = ...
|
15
|
+
cmd_id: int | None = ...
|
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=..., cmd_key=..., cmd_id=...) -> None: ...
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class ReolinkChannelEntityDescription(ReolinkEntityDescription):
|
20
|
+
supported: Callable[[Host, int], bool] = ...
|
21
|
+
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=..., cmd_key=..., cmd_id=..., supported=...) -> None: ...
|
22
|
+
|
23
|
+
@dataclass(frozen=True, kw_only=True)
|
24
|
+
class ReolinkHostEntityDescription(ReolinkEntityDescription):
|
25
|
+
supported: Callable[[Host], bool] = ...
|
26
|
+
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=..., cmd_key=..., cmd_id=..., supported=...) -> None: ...
|
27
|
+
|
28
|
+
@dataclass(frozen=True, kw_only=True)
|
29
|
+
class ReolinkChimeEntityDescription(ReolinkEntityDescription):
|
30
|
+
supported: Callable[[Chime], bool] = ...
|
31
|
+
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=..., cmd_key=..., cmd_id=..., supported=...) -> None: ...
|
32
|
+
|
33
|
+
class ReolinkHostCoordinatorEntity(CoordinatorEntity[DataUpdateCoordinator[None]]):
|
34
|
+
_attr_has_entity_name: bool
|
35
|
+
entity_description: ReolinkEntityDescription
|
36
|
+
_host: Incomplete
|
37
|
+
_attr_unique_id: Incomplete
|
38
|
+
_conf_url: Incomplete
|
39
|
+
_dev_id: Incomplete
|
40
|
+
_attr_device_info: Incomplete
|
41
|
+
def __init__(self, reolink_data: ReolinkData, coordinator: DataUpdateCoordinator[None] | None = None) -> None: ...
|
42
|
+
@property
|
43
|
+
def available(self) -> bool: ...
|
44
|
+
def _push_callback(self) -> None: ...
|
45
|
+
def register_callback(self, unique_id: str, cmd_id: int) -> None: ...
|
46
|
+
async def async_added_to_hass(self) -> None: ...
|
47
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
48
|
+
async def async_update(self) -> None: ...
|
49
|
+
|
50
|
+
class ReolinkChannelCoordinatorEntity(ReolinkHostCoordinatorEntity):
|
51
|
+
_channel: Incomplete
|
52
|
+
_attr_unique_id: Incomplete
|
53
|
+
_dev_id: Incomplete
|
54
|
+
_attr_device_info: Incomplete
|
55
|
+
def __init__(self, reolink_data: ReolinkData, channel: int, coordinator: DataUpdateCoordinator[None] | None = None) -> None: ...
|
56
|
+
@property
|
57
|
+
def available(self) -> bool: ...
|
58
|
+
def register_callback(self, unique_id: str, cmd_id: int) -> None: ...
|
59
|
+
async def async_added_to_hass(self) -> None: ...
|
60
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
61
|
+
|
62
|
+
class ReolinkChimeCoordinatorEntity(ReolinkChannelCoordinatorEntity):
|
63
|
+
_chime: Incomplete
|
64
|
+
_attr_unique_id: Incomplete
|
65
|
+
_dev_id: Incomplete
|
66
|
+
_attr_device_info: Incomplete
|
67
|
+
def __init__(self, reolink_data: ReolinkData, chime: Chime, coordinator: DataUpdateCoordinator[None] | None = None) -> None: ...
|
68
|
+
@property
|
69
|
+
def available(self) -> bool: ...
|
@@ -0,0 +1,7 @@
|
|
1
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
2
|
+
|
3
|
+
class ReolinkException(HomeAssistantError): ...
|
4
|
+
class ReolinkSetupException(ReolinkException): ...
|
5
|
+
class ReolinkWebhookException(ReolinkException): ...
|
6
|
+
class UserNotAdmin(ReolinkException): ...
|
7
|
+
class PasswordIncompatible(ReolinkException): ...
|
@@ -0,0 +1,82 @@
|
|
1
|
+
from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
|
2
|
+
from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkSetupException as ReolinkSetupException, ReolinkWebhookException as ReolinkWebhookException, UserNotAdmin as UserNotAdmin
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from aiohttp.web import Request as Request
|
5
|
+
from collections.abc import Mapping
|
6
|
+
from homeassistant.components import webhook as webhook
|
7
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
8
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
10
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
11
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
12
|
+
from homeassistant.helpers.event import async_call_later as async_call_later
|
13
|
+
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
14
|
+
from homeassistant.util.ssl import SSLCipherList as SSLCipherList
|
15
|
+
from reolink_aio.api import Host
|
16
|
+
from reolink_aio.enums import SubType
|
17
|
+
from typing import Any, Literal
|
18
|
+
|
19
|
+
DEFAULT_TIMEOUT: int
|
20
|
+
FIRST_TCP_PUSH_TIMEOUT: int
|
21
|
+
FIRST_ONVIF_TIMEOUT: int
|
22
|
+
FIRST_ONVIF_LONG_POLL_TIMEOUT: int
|
23
|
+
SUBSCRIPTION_RENEW_THRESHOLD: int
|
24
|
+
POLL_INTERVAL_NO_PUSH: int
|
25
|
+
LONG_POLL_COOLDOWN: float
|
26
|
+
LONG_POLL_ERROR_COOLDOWN: int
|
27
|
+
BATTERY_WAKE_UPDATE_INTERVAL: int
|
28
|
+
_LOGGER: Incomplete
|
29
|
+
|
30
|
+
class ReolinkHost:
|
31
|
+
_hass: Incomplete
|
32
|
+
_unique_id: str
|
33
|
+
_api: Incomplete
|
34
|
+
last_wake: int
|
35
|
+
update_cmd: Incomplete
|
36
|
+
firmware_ch_list: Incomplete
|
37
|
+
starting: bool
|
38
|
+
credential_errors: int
|
39
|
+
webhook_id: Incomplete
|
40
|
+
_onvif_push_supported: bool
|
41
|
+
_onvif_long_poll_supported: bool
|
42
|
+
_base_url: str
|
43
|
+
_webhook_url: str
|
44
|
+
_webhook_reachable: bool
|
45
|
+
_long_poll_received: bool
|
46
|
+
_long_poll_error: bool
|
47
|
+
_cancel_poll: Incomplete
|
48
|
+
_cancel_tcp_push_check: Incomplete
|
49
|
+
_cancel_onvif_check: Incomplete
|
50
|
+
_cancel_long_poll_check: Incomplete
|
51
|
+
_poll_job: Incomplete
|
52
|
+
_fast_poll_error: bool
|
53
|
+
_long_poll_task: Incomplete
|
54
|
+
_lost_subscription: bool
|
55
|
+
def __init__(self, hass: HomeAssistant, config: Mapping[str, Any], options: Mapping[str, Any]) -> None: ...
|
56
|
+
def async_register_update_cmd(self, cmd: str, channel: int | None = None) -> None: ...
|
57
|
+
def async_unregister_update_cmd(self, cmd: str, channel: int | None = None) -> None: ...
|
58
|
+
@property
|
59
|
+
def unique_id(self) -> str: ...
|
60
|
+
@property
|
61
|
+
def api(self) -> Host: ...
|
62
|
+
async def async_init(self) -> None: ...
|
63
|
+
async def _async_check_tcp_push(self, *_: Any) -> None: ...
|
64
|
+
async def _async_check_onvif(self, *_: Any) -> None: ...
|
65
|
+
async def _async_check_onvif_long_poll(self, *_: Any) -> None: ...
|
66
|
+
async def update_states(self) -> None: ...
|
67
|
+
async def disconnect(self) -> None: ...
|
68
|
+
async def _async_start_long_polling(self, initial: bool = False) -> None: ...
|
69
|
+
async def _async_stop_long_polling(self) -> None: ...
|
70
|
+
async def stop(self, *_: Any) -> None: ...
|
71
|
+
async def subscribe(self) -> None: ...
|
72
|
+
async def renew(self) -> None: ...
|
73
|
+
async def _renew(self, sub_type: Literal[SubType.push, SubType.long_poll]) -> None: ...
|
74
|
+
def register_webhook(self) -> None: ...
|
75
|
+
def unregister_webhook(self) -> None: ...
|
76
|
+
async def _async_long_polling(self, *_: Any) -> None: ...
|
77
|
+
async def _async_poll_all_motion(self, *_: Any) -> None: ...
|
78
|
+
async def handle_webhook(self, hass: HomeAssistant, webhook_id: str, request: Request) -> None: ...
|
79
|
+
async def _process_webhook_data(self, hass: HomeAssistant, webhook_id: str, data: bytes | None) -> None: ...
|
80
|
+
def _signal_write_ha_state(self, channels: list[int] | None) -> None: ...
|
81
|
+
@property
|
82
|
+
def event_connection(self) -> str: ...
|
@@ -0,0 +1,55 @@
|
|
1
|
+
from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
|
2
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from reolink_aio.api import Host as Host
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class ReolinkLightEntityDescription(LightEntityDescription, ReolinkChannelEntityDescription):
|
18
|
+
get_brightness_fn: Callable[[Host, int], int | None] | None = ...
|
19
|
+
is_on_fn: Callable[[Host, int], bool]
|
20
|
+
set_brightness_fn: Callable[[Host, int, int], Any] | None = ...
|
21
|
+
turn_on_off_fn: Callable[[Host, int, bool], Any]
|
22
|
+
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=..., cmd_key=..., cmd_id=..., supported=..., get_brightness_fn=..., is_on_fn, set_brightness_fn=..., turn_on_off_fn) -> None: ...
|
23
|
+
|
24
|
+
@dataclass(frozen=True, kw_only=True)
|
25
|
+
class ReolinkHostLightEntityDescription(LightEntityDescription, ReolinkHostEntityDescription):
|
26
|
+
is_on_fn: Callable[[Host], bool]
|
27
|
+
turn_on_off_fn: Callable[[Host, bool], Any]
|
28
|
+
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=..., cmd_key=..., cmd_id=..., supported=..., is_on_fn, turn_on_off_fn) -> None: ...
|
29
|
+
|
30
|
+
LIGHT_ENTITIES: Incomplete
|
31
|
+
HOST_LIGHT_ENTITIES: Incomplete
|
32
|
+
|
33
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
34
|
+
|
35
|
+
class ReolinkLightEntity(ReolinkChannelCoordinatorEntity, LightEntity):
|
36
|
+
entity_description: ReolinkLightEntityDescription
|
37
|
+
_attr_supported_color_modes: Incomplete
|
38
|
+
_attr_color_mode: Incomplete
|
39
|
+
def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkLightEntityDescription) -> None: ...
|
40
|
+
@property
|
41
|
+
def is_on(self) -> bool: ...
|
42
|
+
@property
|
43
|
+
def brightness(self) -> int | None: ...
|
44
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
45
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
46
|
+
|
47
|
+
class ReolinkHostLightEntity(ReolinkHostCoordinatorEntity, LightEntity):
|
48
|
+
entity_description: ReolinkHostLightEntityDescription
|
49
|
+
_attr_supported_color_modes: Incomplete
|
50
|
+
_attr_color_mode: Incomplete
|
51
|
+
def __init__(self, reolink_data: ReolinkData, entity_description: ReolinkHostLightEntityDescription) -> None: ...
|
52
|
+
@property
|
53
|
+
def is_on(self) -> bool: ...
|
54
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
55
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .host import ReolinkHost as ReolinkHost
|
3
|
+
from .util import ReolinkConfigEntry as ReolinkConfigEntry
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.camera import DynamicStreamSettings as DynamicStreamSettings
|
6
|
+
from homeassistant.components.media_player import MediaClass as MediaClass, MediaType as MediaType
|
7
|
+
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
8
|
+
from homeassistant.components.stream import create_stream as create_stream
|
9
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
async def async_get_media_source(hass: HomeAssistant) -> ReolinkVODMediaSource: ...
|
15
|
+
def res_name(stream: str) -> str: ...
|
16
|
+
def get_host(hass: HomeAssistant, config_entry_id: str) -> ReolinkHost: ...
|
17
|
+
|
18
|
+
class ReolinkVODMediaSource(MediaSource):
|
19
|
+
name: str
|
20
|
+
hass: Incomplete
|
21
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
22
|
+
async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
|
23
|
+
async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
|
24
|
+
async def _async_generate_root(self) -> BrowseMediaSource: ...
|
25
|
+
async def _async_generate_resolution_select(self, config_entry_id: str, channel: int) -> BrowseMediaSource: ...
|
26
|
+
async def _async_generate_camera_days(self, config_entry_id: str, channel: int, stream: str) -> BrowseMediaSource: ...
|
27
|
+
async def _async_generate_camera_files(self, config_entry_id: str, channel: int, stream: str, year: int, month: int, day: int) -> BrowseMediaSource: ...
|