homeassistant-stubs 2024.6.3__py3-none-any.whl → 2024.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +2 -0
- homeassistant-stubs/auth/auth_store.pyi +1 -0
- homeassistant-stubs/auth/providers/homeassistant.pyi +10 -2
- homeassistant-stubs/block_async_io.pyi +23 -0
- homeassistant-stubs/bootstrap.pyi +4 -3
- 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/__init__.pyi +4 -13
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +3 -16
- 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 +23 -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/fritzbox/switch.pyi +3 -0
- 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 +6 -1
- 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 +26 -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 +21 -6
- 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/fan.pyi +2 -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/overkiz/water_heater.pyi +2 -1
- homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +2 -0
- homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +32 -0
- 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/prometheus/__init__.pyi +1 -1
- 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 +3 -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/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
- 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 +8 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
- homeassistant-stubs/components/statistics/sensor.pyi +7 -2
- 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/synology_dsm/const.pyi +1 -0
- homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -1
- 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 +14 -8
- 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 +5 -5
- homeassistant-stubs/components/tplink/const.pyi +5 -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 +20 -19
- homeassistant-stubs/components/tplink/number.pyi +27 -0
- homeassistant-stubs/components/tplink/select.pyi +26 -0
- homeassistant-stubs/components/tplink/sensor.pyi +12 -23
- homeassistant-stubs/components/tplink/switch.pyi +12 -35
- 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 +2 -1
- 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 +15 -10
- 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/event.pyi +10 -4
- 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 +5 -1
- homeassistant-stubs/util/unit_conversion.pyi +7 -1
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +599 -562
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
- homeassistant-stubs/components/air_quality/group.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/const.pyi +0 -3
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
- homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -25
- homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -27
- 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.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -1,45 +1,44 @@
|
|
1
|
-
from .utils import get_nested_attr as get_nested_attr
|
2
1
|
from _typeshed import Incomplete
|
3
2
|
from collections.abc import Callable as Callable, Coroutine
|
4
3
|
from dataclasses import dataclass
|
5
4
|
from enum import Enum
|
6
5
|
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
7
6
|
from typing import Any, Generic, TypeVar
|
8
|
-
from uiprotect.data import Event as Event, NVR, ProtectAdoptableDeviceModel
|
7
|
+
from uiprotect.data import Event as Event, NVR, ProtectAdoptableDeviceModel, SmartDetectObjectType as SmartDetectObjectType
|
9
8
|
|
10
9
|
_LOGGER: Incomplete
|
11
10
|
T = TypeVar('T', bound=ProtectAdoptableDeviceModel | NVR)
|
12
11
|
|
13
|
-
def split_tuple(value: tuple[str, ...] | str | None) -> tuple[str, ...] | None: ...
|
14
|
-
|
15
12
|
class PermRequired(int, Enum):
|
16
13
|
NO_WRITE: int
|
17
14
|
WRITE: int
|
18
15
|
DELETE: int
|
19
16
|
|
20
17
|
@dataclass(frozen=True, kw_only=True)
|
21
|
-
class
|
22
|
-
ufp_required_field:
|
23
|
-
ufp_value:
|
18
|
+
class ProtectEntityDescription(EntityDescription, Generic[T]):
|
19
|
+
ufp_required_field: str | None = ...
|
20
|
+
ufp_value: str | None = ...
|
24
21
|
ufp_value_fn: Callable[[T], Any] | None = ...
|
25
|
-
ufp_enabled:
|
22
|
+
ufp_enabled: str | None = ...
|
26
23
|
ufp_perm: PermRequired | None = ...
|
27
|
-
|
24
|
+
has_required: Callable[[T], bool] = ...
|
25
|
+
get_ufp_enabled: Callable[[T], bool] | None = ...
|
28
26
|
def get_ufp_value(self, obj: T) -> Any: ...
|
29
|
-
def
|
30
|
-
def
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm) -> None: ...
|
27
|
+
def __post_init__(self) -> None: ...
|
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled) -> None: ...
|
32
29
|
|
33
30
|
@dataclass(frozen=True, kw_only=True)
|
34
|
-
class ProtectEventMixin(
|
31
|
+
class ProtectEventMixin(ProtectEntityDescription[T]):
|
35
32
|
ufp_event_obj: str | None = ...
|
33
|
+
ufp_obj_type: SmartDetectObjectType | None = ...
|
36
34
|
def get_event_obj(self, obj: T) -> Event | None: ...
|
37
|
-
def
|
38
|
-
def
|
35
|
+
def has_matching_smart(self, event: Event) -> bool: ...
|
36
|
+
def __post_init__(self) -> None: ...
|
37
|
+
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: ...
|
39
38
|
|
40
39
|
@dataclass(frozen=True, kw_only=True)
|
41
|
-
class ProtectSetableKeysMixin(
|
40
|
+
class ProtectSetableKeysMixin(ProtectEntityDescription[T]):
|
42
41
|
ufp_set_method: str | None = ...
|
43
42
|
ufp_set_method_fn: Callable[[T, Any], Coroutine[Any, Any, None]] | None = ...
|
44
43
|
async def ufp_set(self, obj: T, value: Any) -> None: ...
|
45
|
-
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) -> None: ...
|
44
|
+
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) -> None: ...
|
@@ -1,26 +1,21 @@
|
|
1
|
-
from .
|
2
|
-
from .data import ProtectData as ProtectData
|
1
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
3
2
|
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
|
3
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
5
4
|
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Sequence
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
8
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
8
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
|
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 as Camera, Doorlock, Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
15
|
-
|
16
|
-
_LOGGER: Incomplete
|
11
|
+
from uiprotect.data import Camera as Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
17
12
|
|
18
13
|
@dataclass(frozen=True, kw_only=True)
|
19
14
|
class ProtectNumberEntityDescription(ProtectSetableKeysMixin[T], NumberEntityDescription):
|
20
15
|
ufp_max: int | float
|
21
16
|
ufp_min: int | float
|
22
17
|
ufp_step: int | float
|
23
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_max, ufp_min, ufp_step) -> None: ...
|
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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, 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_max, ufp_min, ufp_step) -> None: ...
|
24
19
|
|
25
20
|
def _get_pir_duration(obj: Light) -> int: ...
|
26
21
|
async def _set_pir_duration(obj: Light, value: float) -> None: ...
|
@@ -33,12 +28,14 @@ LIGHT_NUMBERS: tuple[ProtectNumberEntityDescription, ...]
|
|
33
28
|
SENSE_NUMBERS: tuple[ProtectNumberEntityDescription, ...]
|
34
29
|
DOORLOCK_NUMBERS: tuple[ProtectNumberEntityDescription, ...]
|
35
30
|
CHIME_NUMBERS: tuple[ProtectNumberEntityDescription, ...]
|
31
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
36
32
|
|
37
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
33
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
38
34
|
|
39
35
|
class ProtectNumbers(ProtectDeviceEntity, NumberEntity):
|
40
36
|
device: Camera | Light
|
41
37
|
entity_description: ProtectNumberEntityDescription
|
38
|
+
_state_attrs: Incomplete
|
42
39
|
_attr_native_max_value: Incomplete
|
43
40
|
_attr_native_min_value: Incomplete
|
44
41
|
_attr_native_step: Incomplete
|
@@ -46,4 +43,3 @@ class ProtectNumbers(ProtectDeviceEntity, NumberEntity):
|
|
46
43
|
_attr_native_value: Incomplete
|
47
44
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
48
45
|
async def async_set_native_value(self, value: float) -> None: ...
|
49
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from .const import CONF_ALLOW_EA as CONF_ALLOW_EA
|
2
|
+
from .data import UFPConfigEntry as UFPConfigEntry, async_get_data_for_entry_id as async_get_data_for_entry_id
|
2
3
|
from .utils import async_create_api_client as async_create_api_client
|
3
4
|
from homeassistant import data_entry_flow as data_entry_flow
|
4
5
|
from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
|
@@ -9,8 +10,8 @@ from uiprotect.data import Bootstrap as Bootstrap, Camera as Camera
|
|
9
10
|
|
10
11
|
class ProtectRepair(RepairsFlow):
|
11
12
|
_api: ProtectApiClient
|
12
|
-
_entry:
|
13
|
-
def __init__(self, *, api: ProtectApiClient, entry:
|
13
|
+
_entry: UFPConfigEntry
|
14
|
+
def __init__(self, *, api: ProtectApiClient, entry: UFPConfigEntry) -> None: ...
|
14
15
|
def _async_get_placeholders(self) -> dict[str, str]: ...
|
15
16
|
|
16
17
|
class EAConfirmRepair(ProtectRepair):
|
@@ -26,7 +27,7 @@ class RTSPRepair(ProtectRepair):
|
|
26
27
|
_camera_id: str
|
27
28
|
_camera: Camera | None
|
28
29
|
_bootstrap: Bootstrap | None
|
29
|
-
def __init__(self, *, api: ProtectApiClient, entry:
|
30
|
+
def __init__(self, *, api: ProtectApiClient, entry: UFPConfigEntry, camera_id: str) -> None: ...
|
30
31
|
def _async_get_placeholders(self) -> dict[str, str]: ...
|
31
32
|
async def _get_boostrap(self) -> Bootstrap: ...
|
32
33
|
async def _get_camera(self) -> Camera: ...
|
@@ -35,4 +36,5 @@ class RTSPRepair(ProtectRepair):
|
|
35
36
|
async def async_step_start(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
36
37
|
async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
37
38
|
|
39
|
+
def _async_get_or_create_api_client(hass: HomeAssistant, entry: ConfigEntry) -> ProtectApiClient: ...
|
38
40
|
async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
|
@@ -1,21 +1,19 @@
|
|
1
|
-
from .const import
|
2
|
-
from .data import ProtectData as ProtectData
|
1
|
+
from .const import TYPE_EMPTY_VALUE as TYPE_EMPTY_VALUE
|
2
|
+
from .data import ProtectData as ProtectData, 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 .utils import async_get_light_motion_current as async_get_light_motion_current
|
6
6
|
from _typeshed import Incomplete
|
7
|
-
from collections.abc import Callable as Callable
|
7
|
+
from collections.abc import Callable as Callable, Sequence
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from enum import Enum
|
10
10
|
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
11
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
11
|
from homeassistant.const import EntityCategory as EntityCategory
|
13
12
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
15
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
14
|
from typing import Any, Final
|
17
15
|
from uiprotect.api import ProtectApiClient as ProtectApiClient
|
18
|
-
from uiprotect.data import Camera, Doorlock, Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor, Viewer
|
16
|
+
from uiprotect.data import Camera, Doorlock, Light, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor, Viewer
|
19
17
|
|
20
18
|
_LOGGER: Incomplete
|
21
19
|
_KEY_LIGHT_MOTION: str
|
@@ -38,7 +36,7 @@ class ProtectSelectEntityDescription(ProtectSetableKeysMixin[T], SelectEntityDes
|
|
38
36
|
ufp_options: list[dict[str, Any]] | None = ...
|
39
37
|
ufp_options_fn: Callable[[ProtectApiClient], list[dict[str, Any]]] | None = ...
|
40
38
|
ufp_enum_type: type[Enum] | None = ...
|
41
|
-
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, options, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn, ufp_options, ufp_options_fn, ufp_enum_type) -> None: ...
|
39
|
+
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, options, 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_options, ufp_options_fn, ufp_enum_type) -> None: ...
|
42
40
|
|
43
41
|
def _get_viewer_options(api: ProtectApiClient) -> list[dict[str, Any]]: ...
|
44
42
|
def _get_doorbell_options(api: ProtectApiClient) -> list[dict[str, Any]]: ...
|
@@ -55,13 +53,14 @@ LIGHT_SELECTS: tuple[ProtectSelectEntityDescription, ...]
|
|
55
53
|
SENSE_SELECTS: tuple[ProtectSelectEntityDescription, ...]
|
56
54
|
DOORLOCK_SELECTS: tuple[ProtectSelectEntityDescription, ...]
|
57
55
|
VIEWER_SELECTS: tuple[ProtectSelectEntityDescription, ...]
|
56
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
58
57
|
|
59
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
58
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
60
59
|
|
61
60
|
class ProtectSelects(ProtectDeviceEntity, SelectEntity):
|
62
61
|
device: Camera | Light | Viewer
|
63
62
|
entity_description: ProtectSelectEntityDescription
|
64
|
-
|
63
|
+
_state_attrs: Incomplete
|
65
64
|
def __init__(self, data: ProtectData, device: Camera | Light | Viewer, description: ProtectSelectEntityDescription) -> None: ...
|
66
65
|
_attr_current_option: Incomplete
|
67
66
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
@@ -70,4 +69,3 @@ class ProtectSelects(ProtectDeviceEntity, SelectEntity):
|
|
70
69
|
_unifi_to_hass_options: Incomplete
|
71
70
|
def _async_set_options(self, data: ProtectData, description: ProtectSelectEntityDescription) -> None: ...
|
72
71
|
async def async_select_option(self, option: str) -> None: ...
|
73
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
@@ -1,32 +1,31 @@
|
|
1
|
-
from .
|
2
|
-
from .
|
3
|
-
from .
|
4
|
-
from .models import PermRequired as PermRequired, ProtectEventMixin as ProtectEventMixin, ProtectRequiredKeysMixin as ProtectRequiredKeysMixin, T as T
|
1
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
2
|
+
from .entity import BaseProtectEntity as BaseProtectEntity, EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectNVREntity as ProtectNVREntity, async_all_device_entities as async_all_device_entities
|
3
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectEventMixin as ProtectEventMixin, T as T
|
5
4
|
from .utils import async_get_light_motion_current as async_get_light_motion_current
|
6
5
|
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Callable as Callable, Sequence
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from datetime import datetime
|
9
9
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
10
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
10
|
from homeassistant.const import EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfDataRate as UnitOfDataRate, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfInformation as UnitOfInformation, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
12
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
13
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
13
|
from typing import Any
|
16
|
-
from uiprotect.data import Camera, NVR, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectDeviceModel as ProtectDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor
|
14
|
+
from uiprotect.data import Camera, ModelType, NVR, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectDeviceModel as ProtectDeviceModel, ProtectModelWithId as ProtectModelWithId, Sensor
|
17
15
|
|
18
16
|
_LOGGER: Incomplete
|
19
17
|
OBJECT_TYPE_NONE: str
|
20
18
|
|
21
19
|
@dataclass(frozen=True, kw_only=True)
|
22
|
-
class ProtectSensorEntityDescription(
|
20
|
+
class ProtectSensorEntityDescription(ProtectEntityDescription[T], SensorEntityDescription):
|
23
21
|
precision: int | None = ...
|
24
|
-
def
|
25
|
-
def
|
22
|
+
def __post_init__(self) -> None: ...
|
23
|
+
def _rounded_value(self, precision: int, getter: Callable[[T], Any], obj: T) -> Any: ...
|
24
|
+
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled, precision) -> None: ...
|
26
25
|
|
27
26
|
@dataclass(frozen=True, kw_only=True)
|
28
27
|
class ProtectSensorEventEntityDescription(ProtectEventMixin[T], SensorEntityDescription):
|
29
|
-
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, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_event_obj) -> None: ...
|
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_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: ...
|
30
29
|
|
31
30
|
def _get_uptime(obj: ProtectDeviceModel) -> datetime | None: ...
|
32
31
|
def _get_nvr_recording_capacity(obj: NVR) -> int: ...
|
@@ -40,32 +39,35 @@ SENSE_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
|
40
39
|
DOORLOCK_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
41
40
|
NVR_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
42
41
|
NVR_DISABLED_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
43
|
-
|
42
|
+
LICENSE_PLATE_EVENT_SENSORS: tuple[ProtectSensorEventEntityDescription, ...]
|
44
43
|
LIGHT_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
45
44
|
MOTION_TRIP_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
46
45
|
CHIME_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
47
46
|
VIEWER_SENSORS: tuple[ProtectSensorEntityDescription, ...]
|
47
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
48
48
|
|
49
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
49
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
50
50
|
def _async_event_entities(data: ProtectData, ufp_device: Camera | None = None) -> list[ProtectDeviceEntity]: ...
|
51
|
-
def _async_nvr_entities(data: ProtectData) -> list[
|
51
|
+
def _async_nvr_entities(data: ProtectData) -> list[BaseProtectEntity]: ...
|
52
52
|
|
53
|
-
class
|
53
|
+
class BaseProtectSensor(BaseProtectEntity, SensorEntity):
|
54
54
|
entity_description: ProtectSensorEntityDescription
|
55
|
+
_state_attrs: Incomplete
|
55
56
|
_attr_native_value: Incomplete
|
56
57
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
57
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
58
58
|
|
59
|
-
class
|
60
|
-
|
61
|
-
_attr_native_value: Incomplete
|
62
|
-
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
63
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
59
|
+
class ProtectDeviceSensor(BaseProtectSensor, ProtectDeviceEntity): ...
|
60
|
+
class ProtectNVRSensor(BaseProtectSensor, ProtectNVREntity): ...
|
64
61
|
|
65
62
|
class ProtectEventSensor(EventEntityMixin, SensorEntity):
|
66
63
|
entity_description: ProtectSensorEventEntityDescription
|
64
|
+
_state_attrs: Incomplete
|
65
|
+
|
66
|
+
class ProtectLicensePlateEventSensor(ProtectEventSensor):
|
67
|
+
device: Camera
|
67
68
|
_attr_native_value: Incomplete
|
68
|
-
_event: Incomplete
|
69
69
|
_attr_extra_state_attributes: Incomplete
|
70
|
+
def _set_event_done(self) -> None: ...
|
71
|
+
_event: Incomplete
|
72
|
+
_event_end: Incomplete
|
70
73
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
71
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
@@ -2,7 +2,6 @@ from .const import ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN
|
|
2
2
|
from .data import async_ufp_instance_for_config_entry_ids as async_ufp_instance_for_config_entry_ids
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
|
5
|
-
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
6
5
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
8
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
@@ -16,7 +15,6 @@ SERVICE_ADD_DOORBELL_TEXT: str
|
|
16
15
|
SERVICE_REMOVE_DOORBELL_TEXT: str
|
17
16
|
SERVICE_SET_PRIVACY_ZONE: str
|
18
17
|
SERVICE_REMOVE_PRIVACY_ZONE: str
|
19
|
-
SERVICE_SET_DEFAULT_DOORBELL_TEXT: str
|
20
18
|
SERVICE_SET_CHIME_PAIRED: str
|
21
19
|
ALL_GLOBAL_SERIVCES: Incomplete
|
22
20
|
DOORBELL_TEXT_SCHEMA: Incomplete
|
@@ -29,9 +27,7 @@ def _async_get_protect_from_call(hass: HomeAssistant, call: ServiceCall) -> set[
|
|
29
27
|
async def _async_service_call_nvr(hass: HomeAssistant, call: ServiceCall, method: str, *args: Any, **kwargs: Any) -> None: ...
|
30
28
|
async def add_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
|
31
29
|
async def remove_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
|
32
|
-
async def set_default_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
|
33
30
|
async def remove_privacy_zone(hass: HomeAssistant, call: ServiceCall) -> None: ...
|
34
31
|
def _async_unique_id_to_mac(unique_id: str) -> str: ...
|
35
32
|
async def set_chime_paired_doorbells(hass: HomeAssistant, call: ServiceCall) -> None: ...
|
36
33
|
def async_setup_services(hass: HomeAssistant) -> None: ...
|
37
|
-
def async_cleanup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,18 +1,16 @@
|
|
1
|
-
from .
|
2
|
-
from .
|
3
|
-
from .
|
4
|
-
from .models import PermRequired as PermRequired, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
1
|
+
from .data import ProtectData as ProtectData, UFPConfigEntry as UFPConfigEntry
|
2
|
+
from .entity import BaseProtectEntity as BaseProtectEntity, ProtectDeviceEntity as ProtectDeviceEntity, ProtectNVREntity as ProtectNVREntity, async_all_device_entities as async_all_device_entities
|
3
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
5
4
|
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Sequence
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
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
11
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
14
12
|
from typing import Any
|
15
|
-
from uiprotect.data import Camera,
|
13
|
+
from uiprotect.data import Camera, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
16
14
|
|
17
15
|
_LOGGER: Incomplete
|
18
16
|
ATTR_PREV_MIC: str
|
@@ -20,7 +18,7 @@ ATTR_PREV_RECORD: str
|
|
20
18
|
|
21
19
|
@dataclass(frozen=True, kw_only=True)
|
22
20
|
class ProtectSwitchEntityDescription(ProtectSetableKeysMixin[T], SwitchEntityDescription):
|
23
|
-
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) -> 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) -> None: ...
|
24
22
|
|
25
23
|
async def _set_highfps(obj: Camera, value: bool) -> None: ...
|
26
24
|
|
@@ -31,37 +29,30 @@ LIGHT_SWITCHES: tuple[ProtectSwitchEntityDescription, ...]
|
|
31
29
|
DOORLOCK_SWITCHES: tuple[ProtectSwitchEntityDescription, ...]
|
32
30
|
VIEWER_SWITCHES: tuple[ProtectSwitchEntityDescription, ...]
|
33
31
|
NVR_SWITCHES: tuple[ProtectSwitchEntityDescription, ...]
|
32
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
33
|
+
_PRIVACY_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
class ProtectSwitch(ProtectDeviceEntity, SwitchEntity):
|
35
|
+
class ProtectBaseSwitch(BaseProtectEntity, SwitchEntity):
|
38
36
|
entity_description: ProtectSwitchEntityDescription
|
39
|
-
|
40
|
-
_switch_type: Incomplete
|
41
|
-
def __init__(self, data: ProtectData, device: ProtectAdoptableDeviceModel, description: ProtectSwitchEntityDescription) -> None: ...
|
37
|
+
_state_attrs: Incomplete
|
42
38
|
_attr_is_on: Incomplete
|
43
39
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
44
40
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
45
41
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
46
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
47
42
|
|
48
|
-
class
|
49
|
-
|
50
|
-
_attr_name: Incomplete
|
51
|
-
def __init__(self, data: ProtectData, device: NVR, description: ProtectSwitchEntityDescription) -> None: ...
|
52
|
-
@property
|
53
|
-
def is_on(self) -> bool: ...
|
54
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
55
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
43
|
+
class ProtectSwitch(ProtectBaseSwitch, ProtectDeviceEntity): ...
|
44
|
+
class ProtectNVRSwitch(ProtectBaseSwitch, ProtectNVREntity): ...
|
56
45
|
|
57
46
|
class ProtectPrivacyModeSwitch(RestoreEntity, ProtectSwitch):
|
58
47
|
device: Camera
|
59
48
|
_previous_mic_level: Incomplete
|
60
49
|
_previous_record_mode: Incomplete
|
61
|
-
def __init__(self, data: ProtectData, device:
|
50
|
+
def __init__(self, data: ProtectData, device: Camera, description: ProtectSwitchEntityDescription) -> None: ...
|
62
51
|
_attr_extra_state_attributes: Incomplete
|
63
52
|
def _update_previous_attr(self) -> None: ...
|
64
53
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
65
54
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
66
55
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
67
56
|
async def async_added_to_hass(self) -> None: ...
|
57
|
+
|
58
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -1,33 +1,30 @@
|
|
1
|
-
from .
|
2
|
-
from .data import ProtectData as ProtectData
|
1
|
+
from .data import UFPConfigEntry as UFPConfigEntry
|
3
2
|
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
|
3
|
+
from .models import PermRequired as PermRequired, ProtectEntityDescription as ProtectEntityDescription, ProtectSetableKeysMixin as ProtectSetableKeysMixin, T as T
|
5
4
|
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Sequence
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.text import TextEntity as TextEntity, TextEntityDescription as TextEntityDescription
|
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 as Camera, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
11
|
+
from uiprotect.data import Camera as Camera, ModelType, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
|
15
12
|
|
16
13
|
@dataclass(frozen=True, kw_only=True)
|
17
14
|
class ProtectTextEntityDescription(ProtectSetableKeysMixin[T], TextEntityDescription):
|
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, native_min, native_max, mode, pattern, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, ufp_set_method, ufp_set_method_fn) -> None: ...
|
15
|
+
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, native_min, native_max, mode, pattern, ufp_required_field, ufp_value, ufp_value_fn, ufp_enabled, ufp_perm, has_required, get_ufp_enabled, ufp_set_method, ufp_set_method_fn) -> None: ...
|
19
16
|
|
20
17
|
def _get_doorbell_current(obj: Camera) -> str | None: ...
|
21
18
|
async def _set_doorbell_message(obj: Camera, message: str) -> None: ...
|
22
19
|
|
23
20
|
CAMERA: tuple[ProtectTextEntityDescription, ...]
|
21
|
+
_MODEL_DESCRIPTIONS: dict[ModelType, Sequence[ProtectEntityDescription]]
|
24
22
|
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
24
|
|
27
25
|
class ProtectDeviceText(ProtectDeviceEntity, TextEntity):
|
28
26
|
entity_description: ProtectTextEntityDescription
|
29
|
-
|
27
|
+
_state_attrs: Incomplete
|
30
28
|
_attr_native_value: Incomplete
|
31
29
|
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None: ...
|
32
|
-
def _async_get_state_attrs(self) -> tuple[Any, ...]: ...
|
33
30
|
async def async_set_value(self, value: str) -> None: ...
|
@@ -1,24 +1,19 @@
|
|
1
|
-
from .const import CONF_ALL_UPDATES as CONF_ALL_UPDATES, CONF_OVERRIDE_CHOST as CONF_OVERRIDE_CHOST, DEVICES_FOR_SUBSCRIBE as DEVICES_FOR_SUBSCRIBE,
|
2
|
-
from
|
3
|
-
from collections.abc import
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
1
|
+
from .const import CONF_ALL_UPDATES as CONF_ALL_UPDATES, CONF_OVERRIDE_CHOST as CONF_OVERRIDE_CHOST, DEVICES_FOR_SUBSCRIBE as DEVICES_FOR_SUBSCRIBE, ModelType as ModelType
|
2
|
+
from .data import UFPConfigEntry as UFPConfigEntry
|
3
|
+
from collections.abc import Iterable
|
5
4
|
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
|
6
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
6
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
8
7
|
from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
|
9
|
-
from
|
8
|
+
from typing_extensions import Generator
|
10
9
|
from uiprotect import ProtectApiClient
|
11
10
|
from uiprotect.data import Bootstrap as Bootstrap, CameraChannel as CameraChannel, Light as Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
|
12
11
|
|
13
|
-
_SENTINEL: Incomplete
|
14
|
-
|
15
|
-
def get_nested_attr(obj: Any, attrs: tuple[str, ...]) -> Any: ...
|
16
12
|
def _async_unifi_mac_from_hass(mac: str) -> str: ...
|
17
13
|
def _async_short_mac(mac: str) -> str: ...
|
18
14
|
async def _async_resolve(hass: HomeAssistant, host: str) -> str | None: ...
|
19
15
|
def async_get_devices_by_type(bootstrap: Bootstrap, device_type: ModelType) -> dict[str, ProtectAdoptableDeviceModel]: ...
|
20
|
-
def async_get_devices(bootstrap: Bootstrap, model_type: Iterable[ModelType]) -> Generator[ProtectAdoptableDeviceModel
|
16
|
+
def async_get_devices(bootstrap: Bootstrap, model_type: Iterable[ModelType]) -> Generator[ProtectAdoptableDeviceModel]: ...
|
21
17
|
def async_get_light_motion_current(obj: Light) -> str: ...
|
22
|
-
def
|
23
|
-
def async_create_api_client(hass: HomeAssistant, entry: ConfigEntry) -> ProtectApiClient: ...
|
18
|
+
def async_create_api_client(hass: HomeAssistant, entry: UFPConfigEntry) -> ProtectApiClient: ...
|
24
19
|
def get_camera_base_name(channel: CameraChannel) -> str: ...
|
@@ -1,5 +1,4 @@
|
|
1
|
-
from .
|
2
|
-
from .data import ProtectData as ProtectData
|
1
|
+
from .data import ProtectData as ProtectData, async_get_data_for_entry_id as async_get_data_for_entry_id, async_get_data_for_nvr_id as async_get_data_for_nvr_id
|
3
2
|
from _typeshed import Incomplete
|
4
3
|
from aiohttp import web
|
5
4
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
@@ -21,9 +20,8 @@ def _validate_event(event: Event) -> None: ...
|
|
21
20
|
class ProtectProxyView(HomeAssistantView):
|
22
21
|
requires_auth: bool
|
23
22
|
hass: Incomplete
|
24
|
-
data: Incomplete
|
25
23
|
def __init__(self, hass: HomeAssistant) -> None: ...
|
26
|
-
def _get_data_or_404(self,
|
24
|
+
def _get_data_or_404(self, nvr_id_or_entry_id: str) -> ProtectData | web.Response: ...
|
27
25
|
|
28
26
|
class ThumbnailProxyView(ProtectProxyView):
|
29
27
|
url: str
|
@@ -3,13 +3,15 @@ from _typeshed import Incomplete
|
|
3
3
|
from enum import StrEnum
|
4
4
|
from functools import cached_property
|
5
5
|
from homeassistant.const import EntityCategory
|
6
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
7
6
|
from homeassistant.helpers.entity import ABCCachedProperties, EntityDescription
|
8
7
|
from homeassistant.helpers.restore_state import RestoreEntity
|
9
8
|
from typing import Any
|
10
9
|
|
11
10
|
__all__ = ['ATTR_BACKUP', 'ATTR_INSTALLED_VERSION', 'ATTR_LATEST_VERSION', 'ATTR_VERSION', 'DEVICE_CLASSES_SCHEMA', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'SERVICE_INSTALL', 'SERVICE_SKIP', 'UpdateDeviceClass', 'UpdateEntity', 'UpdateEntityDescription', 'UpdateEntityFeature']
|
12
11
|
|
12
|
+
PLATFORM_SCHEMA: Incomplete
|
13
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
14
|
+
|
13
15
|
class UpdateDeviceClass(StrEnum):
|
14
16
|
FIRMWARE: str
|
15
17
|
|
@@ -5,7 +5,6 @@ from functools import cached_property as cached_property
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_COMMAND as ATTR_COMMAND, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_IDLE as STATE_IDLE, STATE_ON as STATE_ON, STATE_PAUSED as STATE_PAUSED
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE, make_entity_service_schema as make_entity_service_schema
|
9
8
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
10
9
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
11
10
|
from homeassistant.helpers.icon import icon_for_battery_level as icon_for_battery_level
|
@@ -15,6 +14,8 @@ from typing import Any
|
|
15
14
|
|
16
15
|
_LOGGER: Incomplete
|
17
16
|
ENTITY_ID_FORMAT: Incomplete
|
17
|
+
PLATFORM_SCHEMA: Incomplete
|
18
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
18
19
|
SCAN_INTERVAL: Incomplete
|
19
20
|
ATTR_BATTERY_ICON: str
|
20
21
|
ATTR_CLEANED_AREA: str
|
@@ -6,7 +6,7 @@ from dataclasses import dataclass
|
|
6
6
|
from datetime import datetime
|
7
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
-
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfTemperature as UnitOfTemperature
|
9
|
+
from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
12
|
from homeassistant.helpers.typing import StateType as StateType
|
@@ -35,6 +35,10 @@ class ValloxCellStateSensor(ValloxSensorEntity):
|
|
35
35
|
@property
|
36
36
|
def native_value(self) -> StateType: ...
|
37
37
|
|
38
|
+
class ValloxProfileDurationSensor(ValloxSensorEntity):
|
39
|
+
@property
|
40
|
+
def native_value(self) -> StateType: ...
|
41
|
+
|
38
42
|
@dataclass(frozen=True)
|
39
43
|
class ValloxSensorEntityDescription(SensorEntityDescription):
|
40
44
|
metric_key: str | None = ...
|
@@ -4,7 +4,6 @@ from enum import IntFlag, StrEnum
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE, SERVICE_SET_VALVE_POSITION as SERVICE_SET_VALVE_POSITION, SERVICE_STOP_VALVE as SERVICE_STOP_VALVE, SERVICE_TOGGLE as SERVICE_TOGGLE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
8
7
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
9
8
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
10
9
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -12,8 +11,10 @@ from typing import Any
|
|
12
11
|
|
13
12
|
_LOGGER: Incomplete
|
14
13
|
DOMAIN: str
|
15
|
-
SCAN_INTERVAL: Incomplete
|
16
14
|
ENTITY_ID_FORMAT: Incomplete
|
15
|
+
PLATFORM_SCHEMA: Incomplete
|
16
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
17
|
+
SCAN_INTERVAL: Incomplete
|
17
18
|
|
18
19
|
class ValveDeviceClass(StrEnum):
|
19
20
|
WATER: str
|
@@ -6,7 +6,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
6
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
8
8
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
9
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
10
9
|
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
11
10
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
12
11
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
@@ -14,10 +13,12 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
14
13
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
15
14
|
from typing import Any
|
16
15
|
|
17
|
-
DEFAULT_MIN_TEMP: int
|
18
|
-
DEFAULT_MAX_TEMP: int
|
19
16
|
ENTITY_ID_FORMAT: Incomplete
|
17
|
+
PLATFORM_SCHEMA: Incomplete
|
18
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
20
19
|
SCAN_INTERVAL: Incomplete
|
20
|
+
DEFAULT_MIN_TEMP: int
|
21
|
+
DEFAULT_MAX_TEMP: int
|
21
22
|
SERVICE_SET_AWAY_MODE: str
|
22
23
|
SERVICE_SET_TEMPERATURE: str
|
23
24
|
SERVICE_SET_OPERATION_MODE: str
|