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,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
|
@@ -8,7 +8,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.const import PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
10
10
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
12
11
|
from homeassistant.helpers.entity import ABCCachedProperties as ABCCachedProperties, Entity as Entity, EntityDescription as EntityDescription
|
13
12
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
14
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -20,6 +19,10 @@ from typing import Any, Final, Generic, Literal, Required, TypedDict
|
|
20
19
|
from typing_extensions import TypeVar
|
21
20
|
|
22
21
|
_LOGGER: Incomplete
|
22
|
+
ENTITY_ID_FORMAT: Incomplete
|
23
|
+
PLATFORM_SCHEMA: Incomplete
|
24
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
25
|
+
SCAN_INTERVAL: Incomplete
|
23
26
|
ATTR_CONDITION_CLASS: str
|
24
27
|
ATTR_CONDITION_CLEAR_NIGHT: str
|
25
28
|
ATTR_CONDITION_CLOUDY: str
|
@@ -60,10 +63,7 @@ ATTR_FORECAST_NATIVE_DEW_POINT: Final[str]
|
|
60
63
|
ATTR_FORECAST_DEW_POINT: Final[str]
|
61
64
|
ATTR_FORECAST_CLOUD_COVERAGE: Final[str]
|
62
65
|
ATTR_FORECAST_UV_INDEX: Final[str]
|
63
|
-
ENTITY_ID_FORMAT: Incomplete
|
64
|
-
SCAN_INTERVAL: Incomplete
|
65
66
|
ROUNDING_PRECISION: int
|
66
|
-
LEGACY_SERVICE_GET_FORECAST: Final[str]
|
67
67
|
SERVICE_GET_FORECASTS: Final[str]
|
68
68
|
_ObservationUpdateCoordinatorT = TypeVar('_ObservationUpdateCoordinatorT', bound=DataUpdateCoordinator[Any], default=DataUpdateCoordinator[dict[str, Any]])
|
69
69
|
_DailyForecastUpdateCoordinatorT = TypeVar('_DailyForecastUpdateCoordinatorT', bound=TimestampDataUpdateCoordinator[Any], default=TimestampDataUpdateCoordinator[None])
|
@@ -214,7 +214,6 @@ class WeatherEntity(Entity, PostInit, cached_properties=CACHED_PROPERTIES_WITH_A
|
|
214
214
|
async def async_update_listeners(self, forecast_types: Iterable[Literal['daily', 'hourly', 'twice_daily']] | None) -> None: ...
|
215
215
|
|
216
216
|
def raise_unsupported_forecast(entity_id: str, forecast_type: str) -> None: ...
|
217
|
-
async def async_get_forecast_service(weather: WeatherEntity, service_call: ServiceCall) -> ServiceResponse: ...
|
218
217
|
async def async_get_forecasts_service(weather: WeatherEntity, service_call: ServiceCall) -> ServiceResponse: ...
|
219
218
|
|
220
219
|
class CoordinatorWeatherEntity(CoordinatorEntity[_ObservationUpdateCoordinatorT], WeatherEntity, Generic[_ObservationUpdateCoordinatorT, _DailyForecastUpdateCoordinatorT, _HourlyForecastUpdateCoordinatorT, _TwiceDailyForecastUpdateCoordinatorT]):
|
@@ -22,7 +22,7 @@ CONFIG_SCHEMA: Incomplete
|
|
22
22
|
def async_register(hass: HomeAssistant, domain: str, name: str, webhook_id: str, handler: Callable[[HomeAssistant, str, Request], Awaitable[Response | None]], *, local_only: bool | None = False, allowed_methods: Iterable[str] | None = None) -> None: ...
|
23
23
|
def async_unregister(hass: HomeAssistant, webhook_id: str) -> None: ...
|
24
24
|
def async_generate_id() -> str: ...
|
25
|
-
def async_generate_url(hass: HomeAssistant, webhook_id: str) -> str: ...
|
25
|
+
def async_generate_url(hass: HomeAssistant, webhook_id: str, allow_internal: bool = True, allow_external: bool = True, allow_ip: bool | None = None, prefer_external: bool | None = True) -> str: ...
|
26
26
|
def async_generate_path(webhook_id: str) -> str: ...
|
27
27
|
async def async_handle_webhook(hass: HomeAssistant, webhook_id: str, request: Request | MockRequest) -> Response: ...
|
28
28
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import voluptuous as vol
|
1
2
|
from .const import ATTR_BUTTON as ATTR_BUTTON, ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_SOUND_OUTPUT as ATTR_SOUND_OUTPUT, DATA_CONFIG_ENTRY as DATA_CONFIG_ENTRY, DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS, SERVICE_BUTTON as SERVICE_BUTTON, SERVICE_COMMAND as SERVICE_COMMAND, SERVICE_SELECT_SOUND_OUTPUT as SERVICE_SELECT_SOUND_OUTPUT, WEBOSTV_EXCEPTIONS as WEBOSTV_EXCEPTIONS
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from aiowebostv import WebOsClient
|
@@ -8,9 +9,15 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
|
|
8
9
|
from homeassistant.helpers import discovery as discovery
|
9
10
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
10
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
12
|
+
from typing import NamedTuple
|
11
13
|
|
12
14
|
CONFIG_SCHEMA: Incomplete
|
13
15
|
CALL_SCHEMA: Incomplete
|
16
|
+
|
17
|
+
class ServiceMethodDetails(NamedTuple):
|
18
|
+
method: str
|
19
|
+
schema: vol.Schema
|
20
|
+
|
14
21
|
BUTTON_SCHEMA: Incomplete
|
15
22
|
COMMAND_SCHEMA: Incomplete
|
16
23
|
SOUND_OUTPUT_SCHEMA: Incomplete
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import voluptuous as vol
|
2
1
|
from . import commands as commands, connection as connection, const as const, decorators as decorators, http as http, messages as messages
|
3
2
|
from .connection import ActiveConnection as ActiveConnection, current_connection as current_connection
|
4
|
-
from .const import AsyncWebSocketCommandHandler as AsyncWebSocketCommandHandler, ERR_HOME_ASSISTANT_ERROR as ERR_HOME_ASSISTANT_ERROR, ERR_INVALID_FORMAT as ERR_INVALID_FORMAT, ERR_NOT_FOUND as ERR_NOT_FOUND, ERR_NOT_SUPPORTED as ERR_NOT_SUPPORTED, ERR_SERVICE_VALIDATION_ERROR as ERR_SERVICE_VALIDATION_ERROR, ERR_TEMPLATE_ERROR as ERR_TEMPLATE_ERROR, ERR_TIMEOUT as ERR_TIMEOUT, ERR_UNAUTHORIZED as ERR_UNAUTHORIZED, ERR_UNKNOWN_COMMAND as ERR_UNKNOWN_COMMAND, ERR_UNKNOWN_ERROR as ERR_UNKNOWN_ERROR, WebSocketCommandHandler as WebSocketCommandHandler
|
3
|
+
from .const import AsyncWebSocketCommandHandler as AsyncWebSocketCommandHandler, ERR_HOME_ASSISTANT_ERROR as ERR_HOME_ASSISTANT_ERROR, ERR_INVALID_FORMAT as ERR_INVALID_FORMAT, ERR_NOT_ALLOWED as ERR_NOT_ALLOWED, ERR_NOT_FOUND as ERR_NOT_FOUND, ERR_NOT_SUPPORTED as ERR_NOT_SUPPORTED, ERR_SERVICE_VALIDATION_ERROR as ERR_SERVICE_VALIDATION_ERROR, ERR_TEMPLATE_ERROR as ERR_TEMPLATE_ERROR, ERR_TIMEOUT as ERR_TIMEOUT, ERR_UNAUTHORIZED as ERR_UNAUTHORIZED, ERR_UNKNOWN_COMMAND as ERR_UNKNOWN_COMMAND, ERR_UNKNOWN_ERROR as ERR_UNKNOWN_ERROR, TYPE_RESULT as TYPE_RESULT, WebSocketCommandHandler as WebSocketCommandHandler
|
5
4
|
from .decorators import async_response as async_response, require_admin as require_admin, websocket_command as websocket_command, ws_require_user as ws_require_user
|
6
5
|
from .messages import BASE_COMMAND_MESSAGE_SCHEMA as BASE_COMMAND_MESSAGE_SCHEMA, error_message as error_message, event_message as event_message, result_message as result_message
|
7
6
|
from _typeshed import Incomplete
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
8
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
10
9
|
from homeassistant.loader import bind_hass as bind_hass
|
11
10
|
from typing import Final
|
12
11
|
|
@@ -14,5 +13,5 @@ DOMAIN: Final[Incomplete]
|
|
14
13
|
DEPENDENCIES: Final[tuple[str]]
|
15
14
|
CONFIG_SCHEMA: Incomplete
|
16
15
|
|
17
|
-
def async_register_command(hass: HomeAssistant, command_or_handler: str | const.WebSocketCommandHandler, handler: const.WebSocketCommandHandler | None = None, schema:
|
16
|
+
def async_register_command(hass: HomeAssistant, command_or_handler: str | const.WebSocketCommandHandler, handler: const.WebSocketCommandHandler | None = None, schema: VolSchemaType | None = None) -> None: ...
|
18
17
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
@@ -5,10 +5,11 @@ from collections.abc import Callable as Callable
|
|
5
5
|
from homeassistant.const import HASSIO_USER_NAME as HASSIO_USER_NAME
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
7
|
from homeassistant.exceptions import Unauthorized as Unauthorized
|
8
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
8
9
|
from typing import Any
|
9
10
|
|
10
11
|
async def _handle_async_response(func: const.AsyncWebSocketCommandHandler, hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
|
11
12
|
def async_response(func: const.AsyncWebSocketCommandHandler) -> const.WebSocketCommandHandler: ...
|
12
13
|
def require_admin(func: const.WebSocketCommandHandler) -> const.WebSocketCommandHandler: ...
|
13
14
|
def ws_require_user(only_owner: bool = False, only_system_user: bool = False, allow_system_user: bool = True, only_active_user: bool = True, only_inactive_user: bool = False, only_supervisor: bool = False) -> Callable[[const.WebSocketCommandHandler], const.WebSocketCommandHandler]: ...
|
14
|
-
def websocket_command(schema:
|
15
|
+
def websocket_command(schema: VolDictType | vol.All) -> Callable[[const.WebSocketCommandHandler], const.WebSocketCommandHandler]: ...
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from .coordinator import DeviceCoordinator as DeviceCoordinator
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from collections.abc import Generator
|
4
3
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
5
4
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
5
|
+
from typing_extensions import Generator
|
6
6
|
|
7
7
|
_LOGGER: Incomplete
|
8
8
|
|
@@ -22,7 +22,7 @@ class WemoEntity(CoordinatorEntity[DeviceCoordinator]):
|
|
22
22
|
def unique_id(self) -> str: ...
|
23
23
|
@property
|
24
24
|
def device_info(self) -> DeviceInfo: ...
|
25
|
-
def _wemo_call_wrapper(self, message: str) -> Generator[None
|
25
|
+
def _wemo_call_wrapper(self, message: str) -> Generator[None]: ...
|
26
26
|
|
27
27
|
class WemoBinaryStateEntity(WemoEntity):
|
28
28
|
@property
|
@@ -8,6 +8,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers import entity_platform as entity_platform
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
11
12
|
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|
12
13
|
from homeassistant.util.scaling import int_states_in_range as int_states_in_range
|
13
14
|
from pywemo import FanMode, Humidifier as Humidifier
|
@@ -22,7 +23,7 @@ ATTR_FILTER_LIFE: str
|
|
22
23
|
ATTR_FILTER_EXPIRED: str
|
23
24
|
ATTR_WATER_LEVEL: str
|
24
25
|
SPEED_RANGE: Incomplete
|
25
|
-
SET_HUMIDITY_SCHEMA:
|
26
|
+
SET_HUMIDITY_SCHEMA: VolDictType
|
26
27
|
|
27
28
|
async def async_setup_entry(hass: HomeAssistant, _config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
28
29
|
|
@@ -3,7 +3,7 @@ from . import WithingsConfigEntry as WithingsConfigEntry
|
|
3
3
|
from .const import LOGGER as LOGGER
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from abc import abstractmethod
|
6
|
-
from aiowithings import Activity, Goals, MeasurementType, NotificationCategory, SleepSummary, WithingsClient as WithingsClient, Workout
|
6
|
+
from aiowithings import Activity, Goals, MeasurementPosition, MeasurementType, NotificationCategory, SleepSummary, WithingsClient as WithingsClient, Workout
|
7
7
|
from datetime import datetime, timedelta
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
@@ -28,13 +28,13 @@ class WithingsDataUpdateCoordinator(DataUpdateCoordinator[_DataT], metaclass=abc
|
|
28
28
|
@abstractmethod
|
29
29
|
async def _internal_update_data(self) -> _DataT: ...
|
30
30
|
|
31
|
-
class WithingsMeasurementDataUpdateCoordinator(WithingsDataUpdateCoordinator[dict[MeasurementType, float]]):
|
31
|
+
class WithingsMeasurementDataUpdateCoordinator(WithingsDataUpdateCoordinator[dict[tuple[MeasurementType, MeasurementPosition | None], float]]):
|
32
32
|
coordinator_name: str
|
33
33
|
notification_categories: Incomplete
|
34
34
|
_previous_data: Incomplete
|
35
35
|
def __init__(self, hass: HomeAssistant, client: WithingsClient) -> None: ...
|
36
36
|
_last_valid_update: Incomplete
|
37
|
-
async def _internal_update_data(self) -> dict[MeasurementType, float]: ...
|
37
|
+
async def _internal_update_data(self) -> dict[tuple[MeasurementType, MeasurementPosition | None], float]: ...
|
38
38
|
|
39
39
|
class WithingsSleepDataUpdateCoordinator(WithingsDataUpdateCoordinator[SleepSummary | None]):
|
40
40
|
coordinator_name: str
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SCORE_POINTS as SCORE_POI
|
|
3
3
|
from .coordinator import WithingsActivityDataUpdateCoordinator as WithingsActivityDataUpdateCoordinator, WithingsDataUpdateCoordinator as WithingsDataUpdateCoordinator, WithingsGoalsDataUpdateCoordinator as WithingsGoalsDataUpdateCoordinator, WithingsMeasurementDataUpdateCoordinator as WithingsMeasurementDataUpdateCoordinator, WithingsSleepDataUpdateCoordinator as WithingsSleepDataUpdateCoordinator, WithingsWorkoutDataUpdateCoordinator as WithingsWorkoutDataUpdateCoordinator
|
4
4
|
from .entity import WithingsEntity as WithingsEntity
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from aiowithings import Activity as Activity, Goals as Goals, MeasurementType, SleepSummary as SleepSummary, Workout as Workout
|
6
|
+
from aiowithings import Activity as Activity, Goals as Goals, MeasurementPosition, MeasurementType, SleepSummary as SleepSummary, Workout as Workout
|
7
7
|
from collections.abc import Callable as Callable
|
8
8
|
from dataclasses import dataclass
|
9
9
|
from datetime import datetime
|
@@ -16,10 +16,14 @@ from homeassistant.helpers.typing import StateType as StateType
|
|
16
16
|
@dataclass(frozen=True, kw_only=True)
|
17
17
|
class WithingsMeasurementSensorEntityDescription(SensorEntityDescription):
|
18
18
|
measurement_type: MeasurementType
|
19
|
-
|
19
|
+
measurement_position: MeasurementPosition | None = ...
|
20
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, measurement_type, measurement_position) -> None: ...
|
20
21
|
|
21
22
|
MEASUREMENT_SENSORS: dict[MeasurementType, WithingsMeasurementSensorEntityDescription]
|
22
23
|
|
24
|
+
def get_positional_measurement_description(measurement_type: MeasurementType, measurement_position: MeasurementPosition) -> WithingsMeasurementSensorEntityDescription | None: ...
|
25
|
+
def get_measurement_description(measurement: tuple[MeasurementType, MeasurementPosition | None]) -> WithingsMeasurementSensorEntityDescription | None: ...
|
26
|
+
|
23
27
|
@dataclass(frozen=True, kw_only=True)
|
24
28
|
class WithingsSleepSensorEntityDescription(SensorEntityDescription):
|
25
29
|
value_fn: Callable[[SleepSummary], StateType]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from datetime import tzinfo
|
3
|
-
from homeassistant.components.sensor import
|
3
|
+
from homeassistant.components.sensor import SensorEntity as SensorEntity
|
4
4
|
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_TIME_ZONE as CONF_TIME_ZONE
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -9,6 +9,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
9
9
|
CONF_TIME_FORMAT: str
|
10
10
|
DEFAULT_NAME: str
|
11
11
|
DEFAULT_TIME_STR_FORMAT: str
|
12
|
+
PLATFORM_SCHEMA: Incomplete
|
12
13
|
|
13
14
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
14
15
|
|