homeassistant-stubs 2024.6.4__py3-none-any.whl → 2024.7.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/auth/__init__.pyi +2 -0
- homeassistant-stubs/auth/auth_store.pyi +1 -0
- homeassistant-stubs/auth/providers/homeassistant.pyi +8 -1
- homeassistant-stubs/block_async_io.pyi +23 -0
- homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
- homeassistant-stubs/components/accuweather/weather.pyi +1 -1
- homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
- homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
- homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
- homeassistant-stubs/components/airgradient/button.pyi +28 -0
- homeassistant-stubs/components/airgradient/const.pyi +2 -0
- homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
- homeassistant-stubs/components/airgradient/number.pyi +32 -0
- homeassistant-stubs/components/airgradient/select.pyi +14 -12
- homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
- homeassistant-stubs/components/airgradient/switch.pyi +33 -0
- homeassistant-stubs/components/airnow/const.pyi +1 -0
- homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
- homeassistant-stubs/components/airnow/sensor.pyi +1 -2
- homeassistant-stubs/components/airzone/__init__.pyi +4 -4
- homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/climate.pyi +3 -2
- homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone/entity.pyi +2 -1
- homeassistant-stubs/components/airzone/select.pyi +2 -2
- homeassistant-stubs/components/airzone/sensor.pyi +3 -2
- homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
- homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
- homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
- homeassistant-stubs/components/aladdin_connect/api.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -2
- homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -1
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -2
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
- homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
- homeassistant-stubs/components/alexa/entities.pyi +25 -24
- homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
- homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
- homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
- homeassistant-stubs/components/androidtv/entity.pyi +1 -0
- homeassistant-stubs/components/androidtv/remote.pyi +21 -0
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
- homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
- homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
- homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
- homeassistant-stubs/components/apprise/notify.pyi +2 -1
- homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
- homeassistant-stubs/components/apsystems/entity.pyi +10 -0
- homeassistant-stubs/components/apsystems/number.pyi +25 -0
- homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
- homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
- homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
- homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
- homeassistant-stubs/components/automation/__init__.pyi +10 -5
- homeassistant-stubs/components/automation/config.pyi +11 -1
- homeassistant-stubs/components/automation/trace.pyi +2 -2
- homeassistant-stubs/components/axis/config_flow.pyi +1 -0
- homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/baf/entity.pyi +6 -1
- homeassistant-stubs/components/baf/number.pyi +2 -4
- homeassistant-stubs/components/baf/sensor.pyi +2 -4
- homeassistant-stubs/components/baf/switch.pyi +2 -4
- homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
- homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
- homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
- homeassistant-stubs/components/blueprint/errors.pyi +1 -1
- homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
- homeassistant-stubs/components/brother/config_flow.pyi +9 -1
- homeassistant-stubs/components/button/__init__.pyi +4 -3
- homeassistant-stubs/components/calendar/__init__.pyi +2 -4
- homeassistant-stubs/components/camera/__init__.pyi +8 -7
- homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
- homeassistant-stubs/components/clickatell/notify.pyi +2 -1
- homeassistant-stubs/components/clicksend/notify.pyi +2 -1
- homeassistant-stubs/components/climate/__init__.pyi +5 -4
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/account_link.pyi +1 -1
- homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/cloud/const.pyi +6 -1
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/repairs.pyi +1 -3
- homeassistant-stubs/components/cloud/stt.pyi +1 -1
- homeassistant-stubs/components/cloud/system_health.pyi +1 -3
- homeassistant-stubs/components/cloud/tts.pyi +1 -1
- homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
- homeassistant-stubs/components/config/scene.pyi +3 -1
- homeassistant-stubs/components/counter/__init__.pyi +2 -2
- homeassistant-stubs/components/cover/__init__.pyi +3 -2
- homeassistant-stubs/components/demo/tts.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
- homeassistant-stubs/components/derivative/sensor.pyi +3 -1
- homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
- homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
- homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
- homeassistant-stubs/components/dnsip/const.pyi +2 -0
- homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +5 -5
- homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
- homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
- homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
- homeassistant-stubs/components/ecovacs/event.pyi +3 -3
- homeassistant-stubs/components/ecovacs/image.pyi +2 -2
- homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +3 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
- homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
- homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
- homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/efergy/__init__.pyi +3 -2
- homeassistant-stubs/components/efergy/sensor.pyi +3 -4
- homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
- homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
- homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
- homeassistant-stubs/components/electrasmart/const.pyi +10 -0
- homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
- homeassistant-stubs/components/elkm1/const.pyi +2 -1
- homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
- homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
- homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
- homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
- homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
- homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -5
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
- homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/esphome/button.pyi +3 -5
- homeassistant-stubs/components/esphome/camera.pyi +3 -5
- homeassistant-stubs/components/esphome/climate.pyi +3 -6
- homeassistant-stubs/components/esphome/cover.pyi +3 -5
- homeassistant-stubs/components/esphome/date.pyi +3 -5
- homeassistant-stubs/components/esphome/datetime.pyi +3 -5
- homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
- homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
- homeassistant-stubs/components/esphome/entity.pyi +2 -4
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
- homeassistant-stubs/components/esphome/event.pyi +3 -5
- homeassistant-stubs/components/esphome/fan.pyi +3 -6
- homeassistant-stubs/components/esphome/light.pyi +3 -6
- homeassistant-stubs/components/esphome/lock.pyi +3 -5
- homeassistant-stubs/components/esphome/manager.pyi +4 -5
- homeassistant-stubs/components/esphome/media_player.pyi +3 -5
- homeassistant-stubs/components/esphome/number.pyi +3 -5
- homeassistant-stubs/components/esphome/select.pyi +2 -4
- homeassistant-stubs/components/esphome/switch.pyi +3 -5
- homeassistant-stubs/components/esphome/text.pyi +3 -5
- homeassistant-stubs/components/esphome/time.pyi +3 -5
- homeassistant-stubs/components/esphome/update.pyi +22 -2
- homeassistant-stubs/components/esphome/valve.pyi +3 -5
- homeassistant-stubs/components/event/__init__.pyi +3 -1
- homeassistant-stubs/components/evohome/__init__.pyi +8 -49
- homeassistant-stubs/components/evohome/climate.pyi +2 -2
- homeassistant-stubs/components/evohome/const.pyi +39 -16
- homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
- homeassistant-stubs/components/evohome/helpers.pyi +13 -0
- homeassistant-stubs/components/fan/__init__.pyi +3 -2
- homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
- homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
- homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
- homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
- homeassistant-stubs/components/feedreader/const.pyi +5 -0
- homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
- homeassistant-stubs/components/filter/sensor.pyi +2 -1
- homeassistant-stubs/components/flux_led/light.pyi +4 -3
- homeassistant-stubs/components/fritz/switch.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
- homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
- homeassistant-stubs/components/frontend/__init__.pyi +9 -4
- homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
- homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
- homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
- homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
- homeassistant-stubs/components/glances/__init__.pyi +3 -2
- homeassistant-stubs/components/glances/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
- homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
- homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/switch.pyi +2 -3
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
- homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
- homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
- homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
- homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/group/cover.pyi +2 -1
- homeassistant-stubs/components/group/entity.pyi +2 -2
- homeassistant-stubs/components/group/event.pyi +2 -1
- homeassistant-stubs/components/group/fan.pyi +2 -1
- homeassistant-stubs/components/group/light.pyi +2 -1
- homeassistant-stubs/components/group/lock.pyi +2 -1
- homeassistant-stubs/components/group/media_player.pyi +2 -1
- homeassistant-stubs/components/group/notify.pyi +2 -1
- homeassistant-stubs/components/group/registry.pyi +8 -2
- homeassistant-stubs/components/group/switch.pyi +2 -1
- homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
- homeassistant-stubs/components/homeassistant/const.pyi +3 -1
- homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
- homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
- homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
- homeassistant-stubs/components/http/__init__.pyi +20 -3
- homeassistant-stubs/components/http/cors.pyi +1 -1
- homeassistant-stubs/components/http/data_validator.pyi +2 -1
- homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
- homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
- homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
- homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
- homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
- homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +3 -0
- homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
- homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
- homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
- homeassistant-stubs/components/image/__init__.pyi +3 -2
- homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
- homeassistant-stubs/components/imap/__init__.pyi +5 -4
- homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
- homeassistant-stubs/components/imap/sensor.pyi +5 -5
- homeassistant-stubs/components/input_button/__init__.pyi +3 -4
- homeassistant-stubs/components/input_select/__init__.pyi +2 -2
- homeassistant-stubs/components/input_text/__init__.pyi +3 -4
- homeassistant-stubs/components/integration/__init__.pyi +2 -0
- homeassistant-stubs/components/integration/config_flow.pyi +1 -1
- homeassistant-stubs/components/integration/const.pyi +1 -0
- homeassistant-stubs/components/integration/sensor.pyi +33 -12
- homeassistant-stubs/components/intent/timers.pyi +7 -3
- homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
- homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/services.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
- homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
- homeassistant-stubs/components/knocki/__init__.pyi +12 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
- homeassistant-stubs/components/knocki/const.pyi +4 -0
- homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
- homeassistant-stubs/components/knocki/event.pyi +25 -0
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
- homeassistant-stubs/components/knx/trigger.pyi +2 -3
- homeassistant-stubs/components/knx/websocket.pyi +1 -0
- homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
- homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
- homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
- homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
- homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
- homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
- homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/switch.pyi +20 -7
- homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
- homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
- homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
- homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
- homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
- homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/light.pyi +3 -2
- homeassistant-stubs/components/light/__init__.pyi +8 -6
- homeassistant-stubs/components/light/device_action.pyi +1 -1
- homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/button.pyi +2 -4
- homeassistant-stubs/components/litterrobot/select.pyi +2 -3
- homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
- homeassistant-stubs/components/litterrobot/time.pyi +2 -4
- homeassistant-stubs/components/litterrobot/update.pyi +3 -4
- homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
- homeassistant-stubs/components/lock/__init__.pyi +4 -3
- homeassistant-stubs/components/logbook/processor.pyi +4 -3
- homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
- homeassistant-stubs/components/mastodon/notify.pyi +2 -1
- homeassistant-stubs/components/matrix/notify.pyi +2 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/discovery.pyi +3 -3
- homeassistant-stubs/components/matter/entity.pyi +8 -1
- homeassistant-stubs/components/matter/event.pyi +0 -2
- homeassistant-stubs/components/matter/lock.pyi +1 -0
- homeassistant-stubs/components/matter/models.pyi +1 -2
- homeassistant-stubs/components/matter/number.pyi +24 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/media_player/__init__.pyi +3 -2
- homeassistant-stubs/components/media_player/intent.pyi +2 -1
- homeassistant-stubs/components/mikrotik/__init__.pyi +2 -1
- homeassistant-stubs/components/mikrotik/device_tracker.pyi +2 -3
- homeassistant-stubs/components/min_max/sensor.pyi +2 -1
- homeassistant-stubs/components/modbus/sensor.pyi +2 -2
- homeassistant-stubs/components/monzo/config_flow.pyi +5 -1
- homeassistant-stubs/components/monzo/coordinator.pyi +1 -0
- homeassistant-stubs/components/motionmount/select.pyi +5 -2
- homeassistant-stubs/components/mqtt/async_client.pyi +22 -0
- homeassistant-stubs/components/mqtt/client.pyi +13 -28
- homeassistant-stubs/components/mqtt/climate.pyi +2 -3
- homeassistant-stubs/components/mqtt/cover.pyi +2 -3
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -3
- homeassistant-stubs/components/mqtt/event.pyi +2 -3
- homeassistant-stubs/components/mqtt/fan.pyi +2 -3
- homeassistant-stubs/components/mqtt/humidifier.pyi +2 -3
- homeassistant-stubs/components/mqtt/image.pyi +2 -3
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -3
- homeassistant-stubs/components/mqtt/mixins.pyi +4 -4
- homeassistant-stubs/components/mqtt/models.pyi +2 -3
- homeassistant-stubs/components/mqtt/number.pyi +2 -3
- homeassistant-stubs/components/mqtt/select.pyi +2 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +2 -3
- homeassistant-stubs/components/mqtt/siren.pyi +2 -3
- homeassistant-stubs/components/mqtt/text.pyi +2 -3
- homeassistant-stubs/components/mqtt/update.pyi +2 -3
- homeassistant-stubs/components/mqtt/util.pyi +23 -2
- homeassistant-stubs/components/mqtt/vacuum.pyi +2 -3
- homeassistant-stubs/components/mqtt/valve.pyi +2 -3
- homeassistant-stubs/components/mqtt/water_heater.pyi +2 -3
- homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
- homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +4 -1
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/myuplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/myuplink/number.pyi +2 -4
- homeassistant-stubs/components/myuplink/sensor.pyi +3 -5
- homeassistant-stubs/components/myuplink/switch.pyi +2 -4
- homeassistant-stubs/components/myuplink/update.pyi +2 -4
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +1 -1
- homeassistant-stubs/components/nanoleaf/__init__.pyi +6 -14
- homeassistant-stubs/components/nanoleaf/button.pyi +4 -7
- homeassistant-stubs/components/nanoleaf/coordinator.pyi +12 -0
- homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -0
- homeassistant-stubs/components/nanoleaf/diagnostics.pyi +2 -4
- homeassistant-stubs/components/nanoleaf/entity.pyi +4 -4
- homeassistant-stubs/components/nanoleaf/event.pyi +18 -0
- homeassistant-stubs/components/nanoleaf/light.pyi +4 -7
- homeassistant-stubs/components/number/__init__.pyi +3 -1
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/ping/binary_sensor.pyi +2 -8
- homeassistant-stubs/components/ping/config_flow.pyi +2 -4
- homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
- homeassistant-stubs/components/plugwise/button.pyi +20 -0
- homeassistant-stubs/components/plugwise/const.pyi +3 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
- homeassistant-stubs/components/plugwise/number.pyi +2 -4
- homeassistant-stubs/components/plugwise/select.pyi +3 -5
- homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
- homeassistant-stubs/components/radarr/__init__.pyi +14 -2
- homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/radarr/calendar.pyi +2 -4
- homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
- homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
- homeassistant-stubs/components/radarr/sensor.pyi +2 -4
- homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/const.pyi +3 -1
- homeassistant-stubs/components/recorder/core.pyi +2 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +2 -1
- homeassistant-stubs/components/recorder/purge.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +7 -4
- homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +4 -3
- homeassistant-stubs/components/remote/__init__.pyi +5 -4
- homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/rest/notify.pyi +2 -1
- homeassistant-stubs/components/rest/sensor.pyi +2 -1
- homeassistant-stubs/components/rest/switch.pyi +2 -1
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
- homeassistant-stubs/components/roborock/__init__.pyi +30 -0
- homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/roborock/button.pyi +28 -0
- homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
- homeassistant-stubs/components/roborock/const.pyi +13 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
- homeassistant-stubs/components/roborock/device.pyi +53 -0
- homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
- homeassistant-stubs/components/roborock/image.pyi +37 -0
- homeassistant-stubs/components/roborock/models.pyi +27 -0
- homeassistant-stubs/components/roborock/number.pyi +35 -0
- homeassistant-stubs/components/roborock/select.pyi +37 -0
- homeassistant-stubs/components/roborock/sensor.pyi +47 -0
- homeassistant-stubs/components/roborock/switch.pyi +37 -0
- homeassistant-stubs/components/roborock/time.pyi +38 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
- homeassistant-stubs/components/roku/media_player.pyi +2 -1
- homeassistant-stubs/components/schedule/__init__.pyi +5 -5
- homeassistant-stubs/components/select/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -2
- homeassistant-stubs/components/shelly/climate.pyi +3 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
- homeassistant-stubs/components/shelly/switch.pyi +2 -18
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
- homeassistant-stubs/components/siren/__init__.pyi +4 -3
- homeassistant-stubs/components/sql/sensor.pyi +2 -1
- homeassistant-stubs/components/starlink/const.pyi +1 -0
- homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
- homeassistant-stubs/components/statistics/__init__.pyi +6 -0
- homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
- homeassistant-stubs/components/statistics/sensor.pyi +4 -1
- homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
- homeassistant-stubs/components/stream/worker.pyi +3 -2
- homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
- homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
- homeassistant-stubs/components/switch/__init__.pyi +4 -3
- homeassistant-stubs/components/switch/light.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
- homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
- homeassistant-stubs/components/tag/__init__.pyi +4 -5
- homeassistant-stubs/components/tami4/__init__.pyi +1 -1
- homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
- homeassistant-stubs/components/tami4/sensor.pyi +3 -3
- homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
- homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
- homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
- homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
- homeassistant-stubs/components/tibber/__init__.pyi +1 -0
- homeassistant-stubs/components/tibber/sensor.pyi +12 -6
- homeassistant-stubs/components/tibber/services.pyi +15 -0
- homeassistant-stubs/components/time_date/sensor.pyi +3 -3
- homeassistant-stubs/components/timer/__init__.pyi +2 -2
- homeassistant-stubs/components/todo/__init__.pyi +3 -2
- homeassistant-stubs/components/tplink/__init__.pyi +9 -6
- homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/tplink/button.pyi +22 -0
- homeassistant-stubs/components/tplink/climate.pyi +42 -0
- homeassistant-stubs/components/tplink/config_flow.pyi +4 -4
- homeassistant-stubs/components/tplink/const.pyi +3 -1
- homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
- homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/tplink/entity.pyi +49 -7
- homeassistant-stubs/components/tplink/fan.pyi +31 -0
- homeassistant-stubs/components/tplink/light.pyi +19 -19
- homeassistant-stubs/components/tplink/number.pyi +27 -0
- homeassistant-stubs/components/tplink/select.pyi +26 -0
- homeassistant-stubs/components/tplink/sensor.pyi +14 -22
- homeassistant-stubs/components/tplink/switch.pyi +14 -34
- homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
- homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
- homeassistant-stubs/components/transmission/__init__.pyi +9 -3
- homeassistant-stubs/components/transmission/sensor.pyi +2 -2
- homeassistant-stubs/components/transmission/switch.pyi +2 -4
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
- homeassistant-stubs/components/tts/notify.pyi +2 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
- homeassistant-stubs/components/unifi/sensor.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
- homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
- homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
- homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
- homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
- homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
- homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
- homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
- homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
- homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
- homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
- homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
- homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
- homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
- homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
- homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
- homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
- homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
- homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
- homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
- homeassistant-stubs/components/update/__init__.pyi +3 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
- homeassistant-stubs/components/vallox/sensor.pyi +5 -1
- homeassistant-stubs/components/valve/__init__.pyi +3 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
- homeassistant-stubs/components/weather/__init__.pyi +4 -5
- homeassistant-stubs/components/webhook/__init__.pyi +1 -1
- homeassistant-stubs/components/webostv/__init__.pyi +7 -0
- homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
- homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
- homeassistant-stubs/components/wemo/entity.pyi +2 -2
- homeassistant-stubs/components/wemo/fan.pyi +2 -1
- homeassistant-stubs/components/withings/coordinator.pyi +3 -3
- homeassistant-stubs/components/withings/sensor.pyi +6 -2
- homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
- homeassistant-stubs/components/zone/__init__.pyi +3 -3
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +1 -5
- homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
- homeassistant-stubs/components/zwave_js/const.pyi +5 -0
- homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
- homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
- homeassistant-stubs/components/zwave_js/services.pyi +3 -2
- homeassistant-stubs/config.pyi +4 -5
- homeassistant-stubs/config_entries.pyi +6 -3
- homeassistant-stubs/const.pyi +9 -3
- homeassistant-stubs/core.pyi +13 -8
- homeassistant-stubs/data_entry_flow.pyi +12 -2
- homeassistant-stubs/exceptions.pyi +6 -5
- homeassistant-stubs/helpers/__init__.pyi +0 -5
- homeassistant-stubs/helpers/collection.pyi +14 -11
- homeassistant-stubs/helpers/condition.pyi +3 -2
- homeassistant-stubs/helpers/config_validation.pyi +5 -4
- homeassistant-stubs/helpers/deprecation.pyi +10 -0
- homeassistant-stubs/helpers/device.pyi +8 -0
- homeassistant-stubs/helpers/device_registry.pyi +14 -2
- homeassistant-stubs/helpers/entity.pyi +3 -2
- homeassistant-stubs/helpers/entity_component.pyi +3 -4
- homeassistant-stubs/helpers/entity_platform.pyi +2 -3
- homeassistant-stubs/helpers/frame.pyi +1 -0
- homeassistant-stubs/helpers/http.pyi +1 -1
- homeassistant-stubs/helpers/intent.pyi +6 -4
- homeassistant-stubs/helpers/llm.pyi +17 -3
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
- homeassistant-stubs/helpers/script.pyi +3 -2
- homeassistant-stubs/helpers/selector.pyi +10 -8
- homeassistant-stubs/helpers/service.pyi +6 -3
- homeassistant-stubs/helpers/template.pyi +8 -6
- homeassistant-stubs/helpers/trace.pyi +3 -2
- homeassistant-stubs/helpers/typing.pyi +6 -1
- homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
- homeassistant-stubs/loader.pyi +1 -2
- homeassistant-stubs/requirements.pyi +0 -3
- homeassistant-stubs/setup.pyi +4 -3
- homeassistant-stubs/util/loop.pyi +2 -1
- homeassistant-stubs/util/unit_conversion.pyi +7 -1
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/RECORD +591 -548
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
- homeassistant-stubs/components/air_quality/group.pyi +0 -5
- homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
- homeassistant-stubs/components/climate/group.pyi +0 -6
- homeassistant-stubs/components/cover/group.pyi +0 -6
- homeassistant-stubs/components/device_tracker/group.pyi +0 -6
- homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
- homeassistant-stubs/components/lock/group.pyi +0 -6
- homeassistant-stubs/components/media_player/group.pyi +0 -6
- homeassistant-stubs/components/sensor/group.pyi +0 -5
- homeassistant-stubs/components/vacuum/group.pyi +0 -6
- homeassistant-stubs/components/water_heater/group.pyi +0 -6
- homeassistant-stubs/components/weather/group.pyi +0 -5
- homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0b0.dist-info}/WHEEL +0 -0
@@ -1,35 +1,27 @@
|
|
1
|
-
from . import
|
2
|
-
from .const import
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .const import UNIT_MAPPING as UNIT_MAPPING
|
3
3
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
-
from .entity import
|
5
|
-
from .models import TPLinkData as TPLinkData
|
4
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription
|
6
5
|
from _typeshed import Incomplete
|
7
6
|
from dataclasses import dataclass
|
8
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
|
-
from homeassistant.const import ATTR_VOLTAGE as ATTR_VOLTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
11
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from kasa import
|
10
|
+
from kasa import Device as Device, Feature
|
14
11
|
|
15
|
-
@dataclass(frozen=True)
|
16
|
-
class TPLinkSensorEntityDescription(SensorEntityDescription):
|
17
|
-
|
18
|
-
precision: int | None = ...
|
19
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, emeter_attr, precision) -> None: ...
|
12
|
+
@dataclass(frozen=True, kw_only=True)
|
13
|
+
class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription):
|
14
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
20
15
|
|
21
|
-
|
16
|
+
SENSOR_DESCRIPTIONS: tuple[TPLinkSensorEntityDescription, ...]
|
17
|
+
SENSOR_DESCRIPTIONS_MAP: Incomplete
|
22
18
|
|
23
|
-
def
|
24
|
-
def _async_sensors_for_device(device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, has_parent: bool = False) -> list[SmartPlugSensor]: ...
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
20
|
|
27
|
-
class
|
21
|
+
class TPLinkSensorEntity(CoordinatedTPLinkFeatureEntity, SensorEntity):
|
28
22
|
entity_description: TPLinkSensorEntityDescription
|
29
|
-
|
30
|
-
|
31
|
-
_attr_translation_key: Incomplete
|
32
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkSensorEntityDescription, has_parent: bool = False) -> None: ...
|
23
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkSensorEntityDescription, parent: Device | None = None) -> None: ...
|
24
|
+
_attr_suggested_display_precision: Incomplete
|
33
25
|
_attr_native_value: Incomplete
|
26
|
+
_attr_native_unit_of_measurement: Incomplete
|
34
27
|
def _async_update_attrs(self) -> None: ...
|
35
|
-
def _handle_coordinator_update(self) -> None: ...
|
@@ -1,48 +1,28 @@
|
|
1
|
-
from . import
|
2
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
3
2
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
-
from .entity import
|
5
|
-
from .models import TPLinkData as TPLinkData
|
3
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription, async_refresh_after as async_refresh_after
|
6
4
|
from _typeshed import Incomplete
|
7
|
-
from
|
8
|
-
from homeassistant.
|
9
|
-
from homeassistant.const import EntityCategory as EntityCategory
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
10
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
-
from kasa import
|
9
|
+
from kasa import Device as Device, Feature
|
13
10
|
from typing import Any
|
14
11
|
|
15
12
|
_LOGGER: Incomplete
|
16
13
|
|
17
|
-
|
14
|
+
@dataclass(frozen=True, kw_only=True)
|
15
|
+
class TPLinkSwitchEntityDescription(SwitchEntityDescription, TPLinkFeatureEntityDescription):
|
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) -> None: ...
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
_attr_translation_key: str
|
22
|
-
_attr_entity_category: Incomplete
|
23
|
-
_attr_unique_id: Incomplete
|
24
|
-
def __init__(self, device: SmartPlug, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
|
25
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
26
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
27
|
-
_attr_is_on: Incomplete
|
28
|
-
def _async_update_attrs(self) -> None: ...
|
29
|
-
def _handle_coordinator_update(self) -> None: ...
|
18
|
+
SWITCH_DESCRIPTIONS: tuple[TPLinkSwitchEntityDescription, ...]
|
19
|
+
SWITCH_DESCRIPTIONS_MAP: Incomplete
|
30
20
|
|
31
|
-
|
32
|
-
_attr_name: str | None
|
33
|
-
_attr_unique_id: Incomplete
|
34
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
|
35
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
36
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
37
|
-
_attr_is_on: Incomplete
|
38
|
-
def _async_update_attrs(self) -> None: ...
|
39
|
-
def _handle_coordinator_update(self) -> None: ...
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
40
22
|
|
41
|
-
class
|
42
|
-
|
43
|
-
|
44
|
-
_attr_name: Incomplete
|
45
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, plug: SmartDevice) -> None: ...
|
23
|
+
class TPLinkSwitch(CoordinatedTPLinkFeatureEntity, SwitchEntity):
|
24
|
+
entity_description: TPLinkSwitchEntityDescription
|
25
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkSwitchEntityDescription, parent: Device | None = None) -> None: ...
|
46
26
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
47
27
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
48
28
|
_attr_is_on: Incomplete
|
@@ -1,25 +1,13 @@
|
|
1
|
-
from .coordinator import
|
1
|
+
from .coordinator import OmadaClientsCoordinator as OmadaClientsCoordinator, OmadaGatewayCoordinator as OmadaGatewayCoordinator, OmadaSwitchPortCoordinator as OmadaSwitchPortCoordinator
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
4
|
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient
|
5
|
-
from tplink_omada_client.devices import
|
6
|
-
|
7
|
-
POLL_SWITCH_PORT: int
|
8
|
-
POLL_GATEWAY: int
|
9
|
-
|
10
|
-
class OmadaSwitchPortCoordinator(OmadaCoordinator[OmadaSwitchPortDetails]):
|
11
|
-
_network_switch: Incomplete
|
12
|
-
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, network_switch: OmadaSwitch) -> None: ...
|
13
|
-
async def poll_update(self) -> dict[str, OmadaSwitchPortDetails]: ...
|
14
|
-
|
15
|
-
class OmadaGatewayCoordinator(OmadaCoordinator[OmadaGateway]):
|
16
|
-
mac: Incomplete
|
17
|
-
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, mac: str) -> None: ...
|
18
|
-
async def poll_update(self) -> dict[str, OmadaGateway]: ...
|
5
|
+
from tplink_omada_client.devices import OmadaSwitch as OmadaSwitch
|
19
6
|
|
20
7
|
class OmadaSiteController:
|
21
8
|
_gateway_coordinator: OmadaGatewayCoordinator | None
|
22
9
|
_initialized_gateway_coordinator: bool
|
10
|
+
_clients_coordinator: OmadaClientsCoordinator | None
|
23
11
|
_hass: Incomplete
|
24
12
|
_omada_client: Incomplete
|
25
13
|
_switch_port_coordinators: Incomplete
|
@@ -28,3 +16,4 @@ class OmadaSiteController:
|
|
28
16
|
def omada_client(self) -> OmadaSiteClient: ...
|
29
17
|
def get_switch_port_coordinator(self, switch: OmadaSwitch) -> OmadaSwitchPortCoordinator: ...
|
30
18
|
async def get_gateway_coordinator(self) -> OmadaGatewayCoordinator | None: ...
|
19
|
+
def get_clients_coordinator(self) -> OmadaClientsCoordinator: ...
|
@@ -1,12 +1,31 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
3
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
4
|
-
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient
|
4
|
+
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient, OmadaSwitchPortDetails
|
5
|
+
from tplink_omada_client.clients import OmadaWirelessClient
|
6
|
+
from tplink_omada_client.devices import OmadaGateway, OmadaSwitch as OmadaSwitch
|
5
7
|
|
6
8
|
_LOGGER: Incomplete
|
9
|
+
POLL_SWITCH_PORT: int
|
10
|
+
POLL_GATEWAY: int
|
11
|
+
POLL_CLIENTS: int
|
7
12
|
|
8
13
|
class OmadaCoordinator(DataUpdateCoordinator[dict[str, _T]]):
|
9
14
|
omada_client: Incomplete
|
10
15
|
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, name: str, poll_delay: int = 300) -> None: ...
|
11
16
|
async def _async_update_data(self) -> dict[str, _T]: ...
|
12
17
|
async def poll_update(self) -> dict[str, _T]: ...
|
18
|
+
|
19
|
+
class OmadaSwitchPortCoordinator(OmadaCoordinator[OmadaSwitchPortDetails]):
|
20
|
+
_network_switch: Incomplete
|
21
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, network_switch: OmadaSwitch) -> None: ...
|
22
|
+
async def poll_update(self) -> dict[str, OmadaSwitchPortDetails]: ...
|
23
|
+
|
24
|
+
class OmadaGatewayCoordinator(OmadaCoordinator[OmadaGateway]):
|
25
|
+
mac: Incomplete
|
26
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, mac: str) -> None: ...
|
27
|
+
async def poll_update(self) -> dict[str, OmadaGateway]: ...
|
28
|
+
|
29
|
+
class OmadaClientsCoordinator(OmadaCoordinator[OmadaWirelessClient]):
|
30
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient) -> None: ...
|
31
|
+
async def poll_update(self) -> dict[str, OmadaWirelessClient]: ...
|
@@ -0,0 +1,36 @@
|
|
1
|
+
from .config_flow import CONF_SITE as CONF_SITE
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .controller import OmadaClientsCoordinator as OmadaClientsCoordinator, OmadaSiteController as OmadaSiteController
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity, SourceType as SourceType
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
10
|
+
from tplink_omada_client.clients import OmadaWirelessClient
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
15
|
+
|
16
|
+
class OmadaClientScannerEntity(CoordinatorEntity[OmadaClientsCoordinator], ScannerEntity):
|
17
|
+
_client_details: OmadaWirelessClient | None
|
18
|
+
_site_id: Incomplete
|
19
|
+
_client_id: Incomplete
|
20
|
+
_attr_name: Incomplete
|
21
|
+
def __init__(self, site_id: str, client_id: str, display_name: str, coordinator: OmadaClientsCoordinator) -> None: ...
|
22
|
+
@property
|
23
|
+
def source_type(self) -> SourceType: ...
|
24
|
+
def _do_update(self) -> None: ...
|
25
|
+
async def async_added_to_hass(self) -> None: ...
|
26
|
+
def _handle_coordinator_update(self) -> None: ...
|
27
|
+
@property
|
28
|
+
def ip_address(self) -> str | None: ...
|
29
|
+
@property
|
30
|
+
def mac_address(self) -> str | None: ...
|
31
|
+
@property
|
32
|
+
def hostname(self) -> str | None: ...
|
33
|
+
@property
|
34
|
+
def is_connected(self) -> bool: ...
|
35
|
+
@property
|
36
|
+
def unique_id(self) -> str | None: ...
|
@@ -3,11 +3,12 @@ from .const import ATTR_DELETE_DATA as ATTR_DELETE_DATA, ATTR_TORRENT as ATTR_TO
|
|
3
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
4
4
|
from .errors import AuthenticationError as AuthenticationError, CannotConnect as CannotConnect, UnknownError as UnknownError
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
7
7
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PATH as CONF_PATH, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
9
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
10
10
|
from homeassistant.helpers import selector as selector
|
11
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
11
12
|
from typing import Any
|
12
13
|
|
13
14
|
_LOGGER: Incomplete
|
@@ -18,8 +19,13 @@ SERVICE_ADD_TORRENT_SCHEMA: Incomplete
|
|
18
19
|
SERVICE_REMOVE_TORRENT_SCHEMA: Incomplete
|
19
20
|
SERVICE_START_TORRENT_SCHEMA: Incomplete
|
20
21
|
SERVICE_STOP_TORRENT_SCHEMA: Incomplete
|
22
|
+
CONFIG_SCHEMA: Incomplete
|
23
|
+
TransmissionConfigEntry = ConfigEntry[TransmissionDataUpdateCoordinator]
|
21
24
|
|
22
|
-
async def
|
25
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
26
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry) -> bool: ...
|
23
27
|
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
24
28
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
29
|
+
def _get_coordinator_from_service_data(hass: HomeAssistant, entry_id: str) -> TransmissionDataUpdateCoordinator: ...
|
30
|
+
def setup_hass_services(hass: HomeAssistant) -> None: ...
|
25
31
|
async def get_api(hass: HomeAssistant, entry: dict[str, Any]) -> transmission_rpc.Client: ...
|
@@ -1,10 +1,10 @@
|
|
1
|
+
from . import TransmissionConfigEntry as TransmissionConfigEntry
|
1
2
|
from .const import DOMAIN as DOMAIN, STATE_ATTR_TORRENT_INFO as STATE_ATTR_TORRENT_INFO, STATE_DOWNLOADING as STATE_DOWNLOADING, STATE_SEEDING as STATE_SEEDING, STATE_UP_DOWN as STATE_UP_DOWN, SUPPORTED_ORDER_MODES as SUPPORTED_ORDER_MODES
|
2
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
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
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import STATE_IDLE as STATE_IDLE, UnitOfDataRate as UnitOfDataRate
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
@@ -24,7 +24,7 @@ class TransmissionSensorEntityDescription(SensorEntityDescription):
|
|
24
24
|
|
25
25
|
SENSOR_TYPES: tuple[TransmissionSensorEntityDescription, ...]
|
26
26
|
|
27
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
27
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
28
28
|
|
29
29
|
class TransmissionSensor(CoordinatorEntity[TransmissionDataUpdateCoordinator], SensorEntity):
|
30
30
|
entity_description: TransmissionSensorEntityDescription
|
@@ -1,18 +1,16 @@
|
|
1
|
+
from . import TransmissionConfigEntry as TransmissionConfigEntry
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
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.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
12
12
|
from typing import Any
|
13
13
|
|
14
|
-
_LOGGING: Incomplete
|
15
|
-
|
16
14
|
@dataclass(frozen=True, kw_only=True)
|
17
15
|
class TransmissionSwitchEntityDescription(SwitchEntityDescription):
|
18
16
|
is_on_func: Callable[[TransmissionDataUpdateCoordinator], bool | None]
|
@@ -22,7 +20,7 @@ class TransmissionSwitchEntityDescription(SwitchEntityDescription):
|
|
22
20
|
|
23
21
|
SWITCH_TYPES: tuple[TransmissionSwitchEntityDescription, ...]
|
24
22
|
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
24
|
|
27
25
|
class TransmissionSwitch(CoordinatorEntity[TransmissionDataUpdateCoordinator], SwitchEntity):
|
28
26
|
entity_description: TransmissionSwitchEntityDescription
|
@@ -1,7 +1,8 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
|
-
from homeassistant.const import Platform as Platform
|
3
|
+
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.device import async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
|
5
6
|
|
6
7
|
PLATFORMS: Incomplete
|
7
8
|
|
@@ -2,10 +2,12 @@ from . import PLATFORMS as PLATFORMS
|
|
2
2
|
from .const import ATTR_GRADIENT as ATTR_GRADIENT, ATTR_INVERT as ATTR_INVERT, ATTR_MIN_GRADIENT as ATTR_MIN_GRADIENT, ATTR_SAMPLE_COUNT as ATTR_SAMPLE_COUNT, ATTR_SAMPLE_DURATION as ATTR_SAMPLE_DURATION, CONF_INVERT as CONF_INVERT, CONF_MAX_SAMPLES as CONF_MAX_SAMPLES, CONF_MIN_GRADIENT as CONF_MIN_GRADIENT, CONF_MIN_SAMPLES as CONF_MIN_SAMPLES, CONF_SAMPLE_DURATION as CONF_SAMPLE_DURATION, DEFAULT_MAX_SAMPLES as DEFAULT_MAX_SAMPLES, DEFAULT_MIN_GRADIENT as DEFAULT_MIN_GRADIENT, DEFAULT_MIN_SAMPLES as DEFAULT_MIN_SAMPLES, DEFAULT_SAMPLE_DURATION as DEFAULT_SAMPLE_DURATION, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT
|
5
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FRIENDLY_NAME as CONF_FRIENDLY_NAME, CONF_SENSORS as CONF_SENSORS, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
8
8
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.helpers import device_registry as dr
|
10
|
+
from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
|
9
11
|
from homeassistant.helpers.entity import generate_entity_id as generate_entity_id
|
10
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
13
|
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
@@ -20,6 +22,7 @@ _LOGGER: Incomplete
|
|
20
22
|
def _validate_min_max(data: dict[str, Any]) -> dict[str, Any]: ...
|
21
23
|
|
22
24
|
SENSOR_SCHEMA: Incomplete
|
25
|
+
PLATFORM_SCHEMA: Incomplete
|
23
26
|
|
24
27
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
25
28
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -38,8 +41,9 @@ class SensorTrend(BinarySensorEntity, RestoreEntity):
|
|
38
41
|
_attr_name: Incomplete
|
39
42
|
_attr_device_class: Incomplete
|
40
43
|
_attr_unique_id: Incomplete
|
44
|
+
_attr_device_info: Incomplete
|
41
45
|
entity_id: Incomplete
|
42
|
-
def __init__(self, name: str, entity_id: str, attribute: str | None, invert: bool, sample_duration: int, min_gradient: float, min_samples: int, max_samples: int, unique_id: str | None = None, device_class: BinarySensorDeviceClass | None = None, sensor_entity_id: str | None = None) -> None: ...
|
46
|
+
def __init__(self, name: str, entity_id: str, attribute: str | None, invert: bool, sample_duration: int, min_gradient: float, min_samples: int, max_samples: int, unique_id: str | None = None, device_class: BinarySensorDeviceClass | None = None, sensor_entity_id: str | None = None, device_info: dr.DeviceInfo | None = None) -> None: ...
|
43
47
|
@property
|
44
48
|
def is_on(self) -> bool | None: ...
|
45
49
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import ATTR_LANGUAGE as ATTR_LANGUAGE, ATTR_MEDIA_PLAYER_ENTITY_ID as ATTR_MEDIA_PLAYER_ENTITY_ID, ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
|
3
|
+
from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
|
4
4
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, split_entity_id as split_entity_id
|
6
6
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
@@ -10,6 +10,7 @@ CONF_MEDIA_PLAYER: str
|
|
10
10
|
CONF_TTS_SERVICE: str
|
11
11
|
ENTITY_LEGACY_PROVIDER_GROUP: str
|
12
12
|
_LOGGER: Incomplete
|
13
|
+
PLATFORM_SCHEMA: Incomplete
|
13
14
|
|
14
15
|
async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> TTSNotificationService: ...
|
15
16
|
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from aiounifi.interfaces.sites import Sites as Sites
|
7
7
|
from collections.abc import Mapping
|
8
8
|
from homeassistant.components import ssdp as ssdp
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
10
10
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
@@ -25,6 +25,7 @@ def async_client_rx_value_fn(hub: UnifiHub, client: Client) -> float: ...
|
|
25
25
|
def async_client_tx_value_fn(hub: UnifiHub, client: Client) -> float: ...
|
26
26
|
def async_client_uptime_value_fn(hub: UnifiHub, client: Client) -> datetime: ...
|
27
27
|
def async_wlan_client_value_fn(hub: UnifiHub, wlan: Wlan) -> int: ...
|
28
|
+
def async_device_clients_value_fn(hub: UnifiHub, device: Device) -> int: ...
|
28
29
|
def async_device_uptime_value_fn(hub: UnifiHub, device: Device) -> datetime | None: ...
|
29
30
|
def async_device_uptime_value_changed_fn(old: StateType | date | datetime | Decimal, new: datetime | float | str | None) -> bool: ...
|
30
31
|
def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from collections.abc import Mapping
|
3
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
3
4
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
4
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
5
6
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
@@ -1,12 +1,11 @@
|
|
1
|
-
from .const import AUTH_RETRIES as AUTH_RETRIES, CONF_ALLOW_EA as CONF_ALLOW_EA,
|
2
|
-
from .data import ProtectData as ProtectData,
|
1
|
+
from .const import AUTH_RETRIES as AUTH_RETRIES, CONF_ALLOW_EA as CONF_ALLOW_EA, DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN, MIN_REQUIRED_PROTECT_V as MIN_REQUIRED_PROTECT_V, OUTDATED_LOG_MESSAGE as OUTDATED_LOG_MESSAGE, PLATFORMS as PLATFORMS
|
2
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
3
3
|
from .discovery import async_start_discovery as async_start_discovery
|
4
4
|
from .migrate import async_migrate_data as async_migrate_data
|
5
|
-
from .services import
|
5
|
+
from .services import async_setup_services as async_setup_services
|
6
6
|
from .utils import _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client, async_get_devices as async_get_devices
|
7
7
|
from .views import ThumbnailProxyView as ThumbnailProxyView, VideoProxyView as VideoProxyView
|
8
8
|
from _typeshed import Incomplete
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
9
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
11
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
11
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
@@ -22,8 +21,8 @@ CONFIG_SCHEMA: Incomplete
|
|
22
21
|
EARLY_ACCESS_URL: str
|
23
22
|
|
24
23
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
26
|
-
async def _async_setup_entry(hass: HomeAssistant, entry:
|
27
|
-
async def _async_options_updated(hass: HomeAssistant, entry:
|
28
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
29
|
-
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry:
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
25
|
+
async def _async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, data_service: ProtectData, bootstrap: Bootstrap) -> None: ...
|
26
|
+
async def _async_options_updated(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
|
27
|
+
async def async_unload_entry(hass: HomeAssistant, entry: UFPConfigEntry) -> bool: ...
|
28
|
+
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: UFPConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
@@ -1,64 +1,72 @@
|
|
1
1
|
import dataclasses
|
2
|
-
from .
|
3
|
-
from .
|
4
|
-
from .
|
5
|
-
from .models import PermRequired as PermRequired, ProtectEventMixin as ProtectEventMixin, ProtectRequiredKeysMixin as ProtectRequiredKeysMixin
|
2
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
3
|
+
from .entity import BaseProtectEntity as BaseProtectEntity, EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectNVREntity as ProtectNVREntity, async_all_device_entities as async_all_device_entities
|
4
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectEventMixin as ProtectEventMixin
|
6
5
|
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Sequence
|
7
7
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
10
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
12
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from
|
14
|
-
from uiprotect.data import Camera, Light as Light, NVR as NVR, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor
|
11
|
+
from uiprotect.data import Camera, Light as Light, ModelType, NVR as NVR, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor as Sensor
|
15
12
|
from uiprotect.data.nvr import UOSDisk as UOSDisk
|
16
13
|
|
17
|
-
_LOGGER: Incomplete
|
18
14
|
_KEY_DOOR: str
|
19
15
|
|
20
16
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
21
|
-
class ProtectBinaryEntityDescription(
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
|
17
|
+
class ProtectBinaryEntityDescription(ProtectEntityDescription, BinarySensorEntityDescription):
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled) -> None: ...
|
23
19
|
|
24
20
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
25
21
|
class ProtectBinaryEventEntityDescription(ProtectEventMixin, BinarySensorEntityDescription):
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled, ufp_event_obj, ufp_obj_type) -> None: ...
|
27
23
|
|
28
24
|
MOUNT_DEVICE_CLASS_MAP: Incomplete
|
29
25
|
CAMERA_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
30
26
|
LIGHT_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
27
|
+
MOUNTABLE_SENSE_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
31
28
|
SENSE_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
32
29
|
EVENT_SENSORS: tuple[ProtectBinaryEventEntityDescription, ...]
|
33
30
|
DOORLOCK_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
34
31
|
VIEWER_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
35
32
|
DISK_SENSORS: tuple[ProtectBinaryEntityDescription, ...]
|
36
|
-
|
37
|
-
|
38
|
-
def _async_event_entities(data: ProtectData, ufp_device: ProtectAdoptableDeviceModel | None = None) -> list[ProtectDeviceEntity]: ...
|
39
|
-
def _async_nvr_entities(data: ProtectData) -> list[ProtectDeviceEntity]: ...
|
33
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
34
|
+
_MOUNTABLE_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
40
35
|
|
41
36
|
class ProtectDeviceBinarySensor(ProtectDeviceEntity, BinarySensorEntity):
|
42
37
|
device: Camera | Light | Sensor
|
43
38
|
entity_description: ProtectBinaryEntityDescription
|
39
|
+
_state_attrs: tuple[str, ...]
|
44
40
|
_attr_is_on: Incomplete
|
41
|
+
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
42
|
+
|
43
|
+
class MountableProtectDeviceBinarySensor(ProtectDeviceBinarySensor):
|
44
|
+
device: Sensor
|
45
|
+
_state_attrs: tuple[str, ...]
|
45
46
|
_attr_device_class: Incomplete
|
46
47
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
47
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
48
48
|
|
49
49
|
class ProtectDiskBinarySensor(ProtectNVREntity, BinarySensorEntity):
|
50
50
|
_disk: UOSDisk
|
51
51
|
entity_description: ProtectBinaryEntityDescription
|
52
|
+
_state_attrs: Incomplete
|
52
53
|
def __init__(self, data: ProtectData, device: NVR, description: ProtectBinaryEntityDescription, disk: UOSDisk) -> None: ...
|
53
54
|
_attr_available: bool
|
54
55
|
_attr_is_on: Incomplete
|
55
56
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
56
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
57
57
|
|
58
58
|
class ProtectEventBinarySensor(EventEntityMixin, BinarySensorEntity):
|
59
59
|
entity_description: ProtectBinaryEventEntityDescription
|
60
|
-
|
61
|
-
|
60
|
+
_state_attrs: Incomplete
|
61
|
+
_attr_is_on: bool
|
62
62
|
_attr_extra_state_attributes: Incomplete
|
63
|
+
def _set_event_done(self) -> None: ...
|
64
|
+
_event: Incomplete
|
65
|
+
_event_end: Incomplete
|
63
66
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
64
|
-
|
67
|
+
|
68
|
+
MODEL_DESCRIPTIONS_WITH_CLASS: Incomplete
|
69
|
+
|
70
|
+
def _async_event_entities(data: ProtectData, ufp_device: ProtectAdoptableDeviceModel | None = None) -> list[ProtectDeviceEntity]: ...
|
71
|
+
def _async_nvr_entities(data: ProtectData) -> list[BaseProtectEntity]: ...
|
72
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -1,24 +1,24 @@
|
|
1
|
-
from .const import DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT,
|
2
|
-
from .data import
|
1
|
+
from .const import DEVICES_THAT_ADOPT as DEVICES_THAT_ADOPT, DOMAIN as DOMAIN
|
2
|
+
from .data import UFPConfigEntry as UFPConfigEntry
|
3
3
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity, async_all_device_entities as async_all_device_entities
|
4
|
-
from .models import PermRequired as PermRequired, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
4
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
5
5
|
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Sequence
|
6
7
|
from dataclasses import dataclass
|
7
8
|
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
9
|
from homeassistant.const import Platform as Platform
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
13
|
from typing import Final
|
14
|
-
from uiprotect.data import ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
14
|
+
from uiprotect.data import ModelType, ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
15
15
|
|
16
16
|
_LOGGER: Incomplete
|
17
17
|
|
18
18
|
@dataclass(frozen=True, kw_only=True)
|
19
19
|
class ProtectButtonEntityDescription(ProtectSetableKeysMixin[T], ButtonEntityDescription):
|
20
20
|
ufp_press: str | None = ...
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_press) -> None: ...
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled, ufp_set_method, ufp_set_method_fn, ufp_press) -> None: ...
|
22
22
|
|
23
23
|
DEVICE_CLASS_CHIME_BUTTON: Final[str]
|
24
24
|
KEY_ADOPT: str
|
@@ -26,14 +26,13 @@ ALL_DEVICE_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
|
|
26
26
|
ADOPT_BUTTON: Incomplete
|
27
27
|
SENSOR_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
|
28
28
|
CHIME_BUTTONS: tuple[ProtectButtonEntityDescription, ...]
|
29
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
29
30
|
|
30
31
|
def _async_remove_adopt_button(hass: HomeAssistant, device: ProtectAdoptableDeviceModel) -> None: ...
|
31
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
32
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
32
33
|
|
33
34
|
class ProtectButton(ProtectDeviceEntity, ButtonEntity):
|
34
35
|
entity_description: ProtectButtonEntityDescription
|
35
|
-
_attr_name: Incomplete
|
36
|
-
def __init__(self, data: ProtectData, device: ProtectAdoptableDeviceModel, description: ProtectButtonEntityDescription) -> None: ...
|
37
36
|
_attr_available: Incomplete
|
38
37
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
39
38
|
async def async_press(self) -> None: ...
|
@@ -1,27 +1,28 @@
|
|
1
|
-
from .const import ATTR_BITRATE as ATTR_BITRATE, ATTR_CHANNEL_ID as ATTR_CHANNEL_ID, ATTR_FPS as ATTR_FPS, ATTR_HEIGHT as ATTR_HEIGHT, ATTR_WIDTH as ATTR_WIDTH,
|
2
|
-
from .data import ProtectData as ProtectData
|
1
|
+
from .const import ATTR_BITRATE as ATTR_BITRATE, ATTR_CHANNEL_ID as ATTR_CHANNEL_ID, ATTR_FPS as ATTR_FPS, ATTR_HEIGHT as ATTR_HEIGHT, ATTR_WIDTH as ATTR_WIDTH, DOMAIN as DOMAIN
|
2
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
3
3
|
from .entity import ProtectDeviceEntity as ProtectDeviceEntity
|
4
4
|
from .utils import get_camera_base_name as get_camera_base_name
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from collections.abc import Generator
|
7
6
|
from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
8
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
10
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity
|
13
|
-
from
|
11
|
+
from typing_extensions import Generator
|
14
12
|
from uiprotect.data import Camera as UFPCamera, CameraChannel as CameraChannel, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
15
13
|
|
16
14
|
_LOGGER: Incomplete
|
17
15
|
|
18
|
-
def _create_rtsp_repair(hass: HomeAssistant, entry:
|
19
|
-
def _get_camera_channels(hass: HomeAssistant, entry:
|
20
|
-
def _async_camera_entities(hass: HomeAssistant, entry:
|
21
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
16
|
+
def _create_rtsp_repair(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, camera: UFPCamera) -> None: ...
|
17
|
+
def _get_camera_channels(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, ufp_device: UFPCamera | None = None) -> Generator[tuple[UFPCamera, CameraChannel, bool]]: ...
|
18
|
+
def _async_camera_entities(hass: HomeAssistant, entry: UFPConfigEntry, data: ProtectData, ufp_device: UFPCamera | None = None) -> list[ProtectDeviceEntity]: ...
|
19
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
20
|
+
|
21
|
+
_EMPTY_CAMERA_FEATURES: Incomplete
|
22
22
|
|
23
23
|
class ProtectCamera(ProtectDeviceEntity, Camera):
|
24
24
|
device: UFPCamera
|
25
|
+
_state_attrs: Incomplete
|
25
26
|
channel: Incomplete
|
26
27
|
_secure: Incomplete
|
27
28
|
_disable_stream: Incomplete
|
@@ -33,7 +34,6 @@ class ProtectCamera(ProtectDeviceEntity, Camera):
|
|
33
34
|
_stream_source: Incomplete
|
34
35
|
_attr_supported_features: Incomplete
|
35
36
|
def _async_set_stream_source(self) -> None: ...
|
36
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
37
37
|
_attr_motion_detection_enabled: Incomplete
|
38
38
|
_attr_is_recording: Incomplete
|
39
39
|
_attr_available: Incomplete
|