homeassistant-stubs 2024.6.4__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 +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 +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/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.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +597 -560
- 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.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.4.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -1,18 +1,60 @@
|
|
1
|
-
|
1
|
+
import abc
|
2
|
+
from . import get_device_name as get_device_name, legacy_device_id as legacy_device_id
|
3
|
+
from .const import ATTR_CURRENT_A as ATTR_CURRENT_A, ATTR_CURRENT_POWER_W as ATTR_CURRENT_POWER_W, ATTR_TODAY_ENERGY_KWH as ATTR_TODAY_ENERGY_KWH, ATTR_TOTAL_ENERGY_KWH as ATTR_TOTAL_ENERGY_KWH, DOMAIN as DOMAIN, PRIMARY_STATE_ID as PRIMARY_STATE_ID
|
2
4
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
5
|
from _typeshed import Incomplete
|
4
|
-
from
|
6
|
+
from abc import ABC, abstractmethod
|
7
|
+
from collections.abc import Awaitable as Awaitable, Callable as Callable, Coroutine, Mapping
|
8
|
+
from dataclasses import dataclass
|
9
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
10
|
+
from homeassistant.core import callback as callback
|
5
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
6
12
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
13
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
14
|
+
from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
7
15
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
8
|
-
from kasa import
|
16
|
+
from kasa import Device, Feature
|
9
17
|
from typing import Any, Concatenate
|
10
18
|
|
19
|
+
_LOGGER: Incomplete
|
20
|
+
FEATURE_CATEGORY_TO_ENTITY_CATEGORY: Incomplete
|
21
|
+
DEVICETYPES_WITH_SPECIALIZED_PLATFORMS: Incomplete
|
22
|
+
FEATURES_ALLOW_LIST: Incomplete
|
23
|
+
EXCLUDED_FEATURES: Incomplete
|
24
|
+
LEGACY_KEY_MAPPING: Incomplete
|
25
|
+
|
26
|
+
@dataclass(frozen=True, kw_only=True)
|
27
|
+
class TPLinkFeatureEntityDescription(EntityDescription):
|
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) -> None: ...
|
29
|
+
|
11
30
|
def async_refresh_after(func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
|
12
31
|
|
13
|
-
class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator]):
|
32
|
+
class CoordinatedTPLinkEntity(CoordinatorEntity[TPLinkDataUpdateCoordinator], ABC, metaclass=abc.ABCMeta):
|
14
33
|
_attr_has_entity_name: bool
|
15
|
-
|
16
|
-
|
34
|
+
_device: Device
|
35
|
+
_feature: Incomplete
|
17
36
|
_attr_device_info: Incomplete
|
18
|
-
|
37
|
+
_attr_unique_id: Incomplete
|
38
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature | None = None, parent: Device | None = None) -> None: ...
|
39
|
+
def _get_unique_id(self) -> str: ...
|
40
|
+
@abstractmethod
|
41
|
+
def _async_update_attrs(self) -> None: ...
|
42
|
+
_attr_available: bool
|
43
|
+
def _async_call_update_attrs(self) -> None: ...
|
44
|
+
def _handle_coordinator_update(self) -> None: ...
|
45
|
+
@property
|
46
|
+
def available(self) -> bool: ...
|
47
|
+
|
48
|
+
class CoordinatedTPLinkFeatureEntity(CoordinatedTPLinkEntity, ABC, metaclass=abc.ABCMeta):
|
49
|
+
entity_description: TPLinkFeatureEntityDescription
|
50
|
+
_feature: Feature
|
51
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
|
52
|
+
def _get_unique_id(self) -> str: ...
|
53
|
+
@classmethod
|
54
|
+
def _category_for_feature(cls, feature: Feature | None) -> EntityCategory | None: ...
|
55
|
+
@classmethod
|
56
|
+
def _description_for_feature(cls, feature: Feature, descriptions: Mapping[str, _D], *, device: Device, parent: Device | None = None) -> _D | None: ...
|
57
|
+
@classmethod
|
58
|
+
def _entities_for_device(cls, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D], parent: Device | None = None) -> list[_E]: ...
|
59
|
+
@classmethod
|
60
|
+
def entities_for_device_and_its_children(cls, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature_type: Feature.Type, entity_class: type[_E], descriptions: Mapping[str, _D], child_coordinators: list[TPLinkDataUpdateCoordinator] | None = None) -> list[_E]: ...
|
@@ -0,0 +1,31 @@
|
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
3
|
+
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, async_refresh_after as async_refresh_after
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
+
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|
9
|
+
from homeassistant.util.scaling import int_states_in_range as int_states_in_range
|
10
|
+
from kasa import Device as Device
|
11
|
+
from kasa.interfaces import Fan as FanInterface
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
_LOGGER: Incomplete
|
15
|
+
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
|
18
|
+
SPEED_RANGE: Incomplete
|
19
|
+
|
20
|
+
class TPLinkFanEntity(CoordinatedTPLinkEntity, FanEntity):
|
21
|
+
_attr_speed_count: Incomplete
|
22
|
+
_attr_supported_features: Incomplete
|
23
|
+
fan_module: Incomplete
|
24
|
+
_attr_name: Incomplete
|
25
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, fan_module: FanInterface, parent: Device | None = None) -> None: ...
|
26
|
+
async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
|
27
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
28
|
+
async def async_set_percentage(self, percentage: int) -> None: ...
|
29
|
+
_attr_is_on: Incomplete
|
30
|
+
_attr_percentage: Incomplete
|
31
|
+
def _async_update_attrs(self) -> None: ...
|
@@ -1,17 +1,16 @@
|
|
1
|
-
from . import legacy_device_id as legacy_device_id
|
2
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
|
3
2
|
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
3
|
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, async_refresh_after as async_refresh_after
|
5
|
-
from .models import TPLinkData as TPLinkData
|
6
4
|
from _typeshed import Incomplete
|
7
5
|
from collections.abc import Sequence
|
8
|
-
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, EFFECT_OFF as EFFECT_OFF, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
|
10
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
8
|
from homeassistant.helpers import entity_platform as entity_platform
|
12
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from
|
14
|
-
from
|
10
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
11
|
+
from kasa import Device as Device
|
12
|
+
from kasa.interfaces import Light as Light, LightEffect
|
13
|
+
from typing import Any
|
15
14
|
|
16
15
|
_LOGGER: Incomplete
|
17
16
|
SERVICE_RANDOM_EFFECT: str
|
@@ -21,23 +20,24 @@ SAT: Incomplete
|
|
21
20
|
VAL: Incomplete
|
22
21
|
TRANSITION: Incomplete
|
23
22
|
HSV_SEQUENCE: Incomplete
|
24
|
-
BASE_EFFECT_DICT:
|
25
|
-
SEQUENCE_EFFECT_DICT:
|
26
|
-
RANDOM_EFFECT_DICT:
|
23
|
+
BASE_EFFECT_DICT: VolDictType
|
24
|
+
SEQUENCE_EFFECT_DICT: VolDictType
|
25
|
+
RANDOM_EFFECT_DICT: VolDictType
|
27
26
|
|
28
27
|
def _async_build_base_effect(brightness: int, duration: int, transition: int, segments: list[int]) -> dict[str, Any]: ...
|
29
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
30
29
|
|
31
|
-
class
|
30
|
+
class TPLinkLightEntity(CoordinatedTPLinkEntity, LightEntity):
|
32
31
|
_attr_supported_features: Incomplete
|
33
|
-
_attr_name: Incomplete
|
34
32
|
_fixed_color_mode: ColorMode | None
|
35
|
-
|
36
|
-
|
33
|
+
_parent: Incomplete
|
34
|
+
_light_module: Incomplete
|
35
|
+
_attr_name: Incomplete
|
37
36
|
_attr_min_color_temp_kelvin: Incomplete
|
38
37
|
_attr_max_color_temp_kelvin: Incomplete
|
39
38
|
_attr_supported_color_modes: Incomplete
|
40
|
-
def __init__(self, device:
|
39
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, light_module: Light, parent: Device | None = None) -> None: ...
|
40
|
+
def _get_unique_id(self) -> str: ...
|
41
41
|
def _async_extract_brightness_transition(self, **kwargs: Any) -> tuple[int | None, int | None]: ...
|
42
42
|
async def _async_set_hsv(self, hs_color: tuple[int, int], brightness: int | None, transition: int | None) -> None: ...
|
43
43
|
async def _async_set_color_temp(self, color_temp: float, brightness: int | None, transition: int | None) -> None: ...
|
@@ -51,12 +51,13 @@ class TPLinkSmartBulb(CoordinatedTPLinkEntity, LightEntity):
|
|
51
51
|
_attr_color_temp_kelvin: Incomplete
|
52
52
|
_attr_hs_color: Incomplete
|
53
53
|
def _async_update_attrs(self) -> None: ...
|
54
|
-
def _handle_coordinator_update(self) -> None: ...
|
55
54
|
|
56
|
-
class
|
57
|
-
|
55
|
+
class TPLinkLightEffectEntity(TPLinkLightEntity):
|
56
|
+
_effect_module: Incomplete
|
57
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, light_module: Light, effect_module: LightEffect) -> None: ...
|
58
58
|
_attr_supported_features: Incomplete
|
59
59
|
_attr_effect: Incomplete
|
60
|
+
_attr_color_mode: Incomplete
|
60
61
|
_attr_effect_list: Incomplete
|
61
62
|
def _async_update_attrs(self) -> None: ...
|
62
63
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription, async_refresh_after as async_refresh_after
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
6
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
7
|
+
from kasa import Device as Device, Feature
|
8
|
+
from typing import Final
|
9
|
+
|
10
|
+
_LOGGER: Incomplete
|
11
|
+
|
12
|
+
class TPLinkNumberEntityDescription(NumberEntityDescription, TPLinkFeatureEntityDescription):
|
13
|
+
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) -> None: ...
|
14
|
+
|
15
|
+
NUMBER_DESCRIPTIONS: Final[Incomplete]
|
16
|
+
NUMBER_DESCRIPTIONS_MAP: Incomplete
|
17
|
+
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
|
+
|
20
|
+
class TPLinkNumberEntity(CoordinatedTPLinkFeatureEntity, NumberEntity):
|
21
|
+
entity_description: TPLinkNumberEntityDescription
|
22
|
+
_attr_native_min_value: Incomplete
|
23
|
+
_attr_native_max_value: Incomplete
|
24
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
|
25
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
26
|
+
_attr_native_value: Incomplete
|
27
|
+
def _async_update_attrs(self) -> None: ...
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription, async_refresh_after as async_refresh_after
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
+
from kasa import Device as Device, Feature
|
9
|
+
from typing import Final
|
10
|
+
|
11
|
+
@dataclass(frozen=True, kw_only=True)
|
12
|
+
class TPLinkSelectEntityDescription(SelectEntityDescription, TPLinkFeatureEntityDescription):
|
13
|
+
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) -> None: ...
|
14
|
+
|
15
|
+
SELECT_DESCRIPTIONS: Final[Incomplete]
|
16
|
+
SELECT_DESCRIPTIONS_MAP: Incomplete
|
17
|
+
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
|
+
|
20
|
+
class TPLinkSelectEntity(CoordinatedTPLinkFeatureEntity, SelectEntity):
|
21
|
+
entity_description: TPLinkSelectEntityDescription
|
22
|
+
_attr_options: Incomplete
|
23
|
+
def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, feature: Feature, description: TPLinkFeatureEntityDescription, parent: Device | None = None) -> None: ...
|
24
|
+
async def async_select_option(self, option: str) -> None: ...
|
25
|
+
_attr_current_option: Incomplete
|
26
|
+
def _async_update_attrs(self) -> None: ...
|
@@ -1,35 +1,24 @@
|
|
1
|
-
from . import
|
2
|
-
from .const import
|
3
|
-
from .
|
4
|
-
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity
|
5
|
-
from .models import TPLinkData as TPLinkData
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .const import UNIT_MAPPING as UNIT_MAPPING
|
3
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription
|
6
4
|
from _typeshed import Incomplete
|
7
5
|
from dataclasses import dataclass
|
8
6
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
|
-
from homeassistant.const import ATTR_VOLTAGE as ATTR_VOLTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
11
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
-
from kasa import SmartDevice as SmartDevice
|
14
9
|
|
15
|
-
@dataclass(frozen=True)
|
16
|
-
class TPLinkSensorEntityDescription(SensorEntityDescription):
|
17
|
-
|
18
|
-
precision: int | None = ...
|
19
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, emeter_attr, precision) -> None: ...
|
10
|
+
@dataclass(frozen=True, kw_only=True)
|
11
|
+
class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription):
|
12
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
20
13
|
|
21
|
-
|
14
|
+
SENSOR_DESCRIPTIONS: tuple[TPLinkSensorEntityDescription, ...]
|
15
|
+
SENSOR_DESCRIPTIONS_MAP: Incomplete
|
22
16
|
|
23
|
-
def
|
24
|
-
def _async_sensors_for_device(device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, has_parent: bool = False) -> list[SmartPlugSensor]: ...
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
18
|
|
27
|
-
class
|
19
|
+
class TPLinkSensorEntity(CoordinatedTPLinkFeatureEntity, SensorEntity):
|
28
20
|
entity_description: TPLinkSensorEntityDescription
|
29
|
-
|
30
|
-
_attr_translation_placeholders: Incomplete
|
31
|
-
_attr_translation_key: Incomplete
|
32
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkSensorEntityDescription, has_parent: bool = False) -> None: ...
|
21
|
+
_attr_suggested_display_precision: Incomplete
|
33
22
|
_attr_native_value: Incomplete
|
23
|
+
_attr_native_unit_of_measurement: Incomplete
|
34
24
|
def _async_update_attrs(self) -> None: ...
|
35
|
-
def _handle_coordinator_update(self) -> None: ...
|
@@ -1,48 +1,25 @@
|
|
1
|
-
from . import
|
2
|
-
from .
|
3
|
-
from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
|
4
|
-
from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, async_refresh_after as async_refresh_after
|
5
|
-
from .models import TPLinkData as TPLinkData
|
1
|
+
from . import TPLinkConfigEntry as TPLinkConfigEntry
|
2
|
+
from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription, async_refresh_after as async_refresh_after
|
6
3
|
from _typeshed import Incomplete
|
7
|
-
from
|
8
|
-
from homeassistant.
|
9
|
-
from homeassistant.const import EntityCategory as EntityCategory
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
10
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
7
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
-
from kasa import SmartDevice as SmartDevice, SmartPlug
|
13
8
|
from typing import Any
|
14
9
|
|
15
10
|
_LOGGER: Incomplete
|
16
11
|
|
17
|
-
|
12
|
+
@dataclass(frozen=True, kw_only=True)
|
13
|
+
class TPLinkSwitchEntityDescription(SwitchEntityDescription, TPLinkFeatureEntityDescription):
|
14
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement) -> None: ...
|
18
15
|
|
19
|
-
|
20
|
-
|
21
|
-
_attr_translation_key: str
|
22
|
-
_attr_entity_category: Incomplete
|
23
|
-
_attr_unique_id: Incomplete
|
24
|
-
def __init__(self, device: SmartPlug, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
|
25
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
26
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
27
|
-
_attr_is_on: Incomplete
|
28
|
-
def _async_update_attrs(self) -> None: ...
|
29
|
-
def _handle_coordinator_update(self) -> None: ...
|
16
|
+
SWITCH_DESCRIPTIONS: tuple[TPLinkSwitchEntityDescription, ...]
|
17
|
+
SWITCH_DESCRIPTIONS_MAP: Incomplete
|
30
18
|
|
31
|
-
|
32
|
-
_attr_name: str | None
|
33
|
-
_attr_unique_id: Incomplete
|
34
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
|
35
|
-
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
36
|
-
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
37
|
-
_attr_is_on: Incomplete
|
38
|
-
def _async_update_attrs(self) -> None: ...
|
39
|
-
def _handle_coordinator_update(self) -> None: ...
|
19
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
40
20
|
|
41
|
-
class
|
42
|
-
|
43
|
-
_attr_unique_id: Incomplete
|
44
|
-
_attr_name: Incomplete
|
45
|
-
def __init__(self, device: SmartDevice, coordinator: TPLinkDataUpdateCoordinator, plug: SmartDevice) -> None: ...
|
21
|
+
class TPLinkSwitch(CoordinatedTPLinkFeatureEntity, SwitchEntity):
|
22
|
+
entity_description: TPLinkSwitchEntityDescription
|
46
23
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
47
24
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
48
25
|
_attr_is_on: Incomplete
|
@@ -1,25 +1,13 @@
|
|
1
|
-
from .coordinator import
|
1
|
+
from .coordinator import OmadaClientsCoordinator as OmadaClientsCoordinator, OmadaGatewayCoordinator as OmadaGatewayCoordinator, OmadaSwitchPortCoordinator as OmadaSwitchPortCoordinator
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
4
|
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient
|
5
|
-
from tplink_omada_client.devices import
|
6
|
-
|
7
|
-
POLL_SWITCH_PORT: int
|
8
|
-
POLL_GATEWAY: int
|
9
|
-
|
10
|
-
class OmadaSwitchPortCoordinator(OmadaCoordinator[OmadaSwitchPortDetails]):
|
11
|
-
_network_switch: Incomplete
|
12
|
-
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, network_switch: OmadaSwitch) -> None: ...
|
13
|
-
async def poll_update(self) -> dict[str, OmadaSwitchPortDetails]: ...
|
14
|
-
|
15
|
-
class OmadaGatewayCoordinator(OmadaCoordinator[OmadaGateway]):
|
16
|
-
mac: Incomplete
|
17
|
-
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, mac: str) -> None: ...
|
18
|
-
async def poll_update(self) -> dict[str, OmadaGateway]: ...
|
5
|
+
from tplink_omada_client.devices import OmadaSwitch as OmadaSwitch
|
19
6
|
|
20
7
|
class OmadaSiteController:
|
21
8
|
_gateway_coordinator: OmadaGatewayCoordinator | None
|
22
9
|
_initialized_gateway_coordinator: bool
|
10
|
+
_clients_coordinator: OmadaClientsCoordinator | None
|
23
11
|
_hass: Incomplete
|
24
12
|
_omada_client: Incomplete
|
25
13
|
_switch_port_coordinators: Incomplete
|
@@ -28,3 +16,4 @@ class OmadaSiteController:
|
|
28
16
|
def omada_client(self) -> OmadaSiteClient: ...
|
29
17
|
def get_switch_port_coordinator(self, switch: OmadaSwitch) -> OmadaSwitchPortCoordinator: ...
|
30
18
|
async def get_gateway_coordinator(self) -> OmadaGatewayCoordinator | None: ...
|
19
|
+
def get_clients_coordinator(self) -> OmadaClientsCoordinator: ...
|
@@ -1,12 +1,31 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
3
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
4
|
-
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient
|
4
|
+
from tplink_omada_client import OmadaSiteClient as OmadaSiteClient, OmadaSwitchPortDetails
|
5
|
+
from tplink_omada_client.clients import OmadaWirelessClient
|
6
|
+
from tplink_omada_client.devices import OmadaGateway, OmadaSwitch as OmadaSwitch
|
5
7
|
|
6
8
|
_LOGGER: Incomplete
|
9
|
+
POLL_SWITCH_PORT: int
|
10
|
+
POLL_GATEWAY: int
|
11
|
+
POLL_CLIENTS: int
|
7
12
|
|
8
13
|
class OmadaCoordinator(DataUpdateCoordinator[dict[str, _T]]):
|
9
14
|
omada_client: Incomplete
|
10
15
|
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, name: str, poll_delay: int = 300) -> None: ...
|
11
16
|
async def _async_update_data(self) -> dict[str, _T]: ...
|
12
17
|
async def poll_update(self) -> dict[str, _T]: ...
|
18
|
+
|
19
|
+
class OmadaSwitchPortCoordinator(OmadaCoordinator[OmadaSwitchPortDetails]):
|
20
|
+
_network_switch: Incomplete
|
21
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, network_switch: OmadaSwitch) -> None: ...
|
22
|
+
async def poll_update(self) -> dict[str, OmadaSwitchPortDetails]: ...
|
23
|
+
|
24
|
+
class OmadaGatewayCoordinator(OmadaCoordinator[OmadaGateway]):
|
25
|
+
mac: Incomplete
|
26
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, mac: str) -> None: ...
|
27
|
+
async def poll_update(self) -> dict[str, OmadaGateway]: ...
|
28
|
+
|
29
|
+
class OmadaClientsCoordinator(OmadaCoordinator[OmadaWirelessClient]):
|
30
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient) -> None: ...
|
31
|
+
async def poll_update(self) -> dict[str, OmadaWirelessClient]: ...
|
@@ -0,0 +1,36 @@
|
|
1
|
+
from .config_flow import CONF_SITE as CONF_SITE
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .controller import OmadaClientsCoordinator as OmadaClientsCoordinator, OmadaSiteController as OmadaSiteController
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity, SourceType as SourceType
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
10
|
+
from tplink_omada_client.clients import OmadaWirelessClient
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
15
|
+
|
16
|
+
class OmadaClientScannerEntity(CoordinatorEntity[OmadaClientsCoordinator], ScannerEntity):
|
17
|
+
_client_details: OmadaWirelessClient | None
|
18
|
+
_site_id: Incomplete
|
19
|
+
_client_id: Incomplete
|
20
|
+
_attr_name: Incomplete
|
21
|
+
def __init__(self, site_id: str, client_id: str, display_name: str, coordinator: OmadaClientsCoordinator) -> None: ...
|
22
|
+
@property
|
23
|
+
def source_type(self) -> SourceType: ...
|
24
|
+
def _do_update(self) -> None: ...
|
25
|
+
async def async_added_to_hass(self) -> None: ...
|
26
|
+
def _handle_coordinator_update(self) -> None: ...
|
27
|
+
@property
|
28
|
+
def ip_address(self) -> str | None: ...
|
29
|
+
@property
|
30
|
+
def mac_address(self) -> str | None: ...
|
31
|
+
@property
|
32
|
+
def hostname(self) -> str | None: ...
|
33
|
+
@property
|
34
|
+
def is_connected(self) -> bool: ...
|
35
|
+
@property
|
36
|
+
def unique_id(self) -> str | None: ...
|
@@ -3,11 +3,12 @@ from .const import ATTR_DELETE_DATA as ATTR_DELETE_DATA, ATTR_TORRENT as ATTR_TO
|
|
3
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
4
4
|
from .errors import AuthenticationError as AuthenticationError, CannotConnect as CannotConnect, UnknownError as UnknownError
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
7
7
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PATH as CONF_PATH, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
9
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
10
10
|
from homeassistant.helpers import selector as selector
|
11
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
11
12
|
from typing import Any
|
12
13
|
|
13
14
|
_LOGGER: Incomplete
|
@@ -18,8 +19,13 @@ SERVICE_ADD_TORRENT_SCHEMA: Incomplete
|
|
18
19
|
SERVICE_REMOVE_TORRENT_SCHEMA: Incomplete
|
19
20
|
SERVICE_START_TORRENT_SCHEMA: Incomplete
|
20
21
|
SERVICE_STOP_TORRENT_SCHEMA: Incomplete
|
22
|
+
CONFIG_SCHEMA: Incomplete
|
23
|
+
TransmissionConfigEntry = ConfigEntry[TransmissionDataUpdateCoordinator]
|
21
24
|
|
22
|
-
async def
|
25
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
26
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry) -> bool: ...
|
23
27
|
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
24
28
|
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
29
|
+
def _get_coordinator_from_service_data(hass: HomeAssistant, entry_id: str) -> TransmissionDataUpdateCoordinator: ...
|
30
|
+
def setup_hass_services(hass: HomeAssistant) -> None: ...
|
25
31
|
async def get_api(hass: HomeAssistant, entry: dict[str, Any]) -> transmission_rpc.Client: ...
|
@@ -1,10 +1,10 @@
|
|
1
|
+
from . import TransmissionConfigEntry as TransmissionConfigEntry
|
1
2
|
from .const import DOMAIN as DOMAIN, STATE_ATTR_TORRENT_INFO as STATE_ATTR_TORRENT_INFO, STATE_DOWNLOADING as STATE_DOWNLOADING, STATE_SEEDING as STATE_SEEDING, STATE_UP_DOWN as STATE_UP_DOWN, SUPPORTED_ORDER_MODES as SUPPORTED_ORDER_MODES
|
2
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|
6
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import STATE_IDLE as STATE_IDLE, UnitOfDataRate as UnitOfDataRate
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
@@ -24,7 +24,7 @@ class TransmissionSensorEntityDescription(SensorEntityDescription):
|
|
24
24
|
|
25
25
|
SENSOR_TYPES: tuple[TransmissionSensorEntityDescription, ...]
|
26
26
|
|
27
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
27
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
28
28
|
|
29
29
|
class TransmissionSensor(CoordinatorEntity[TransmissionDataUpdateCoordinator], SensorEntity):
|
30
30
|
entity_description: TransmissionSensorEntityDescription
|
@@ -1,18 +1,16 @@
|
|
1
|
+
from . import TransmissionConfigEntry as TransmissionConfigEntry
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import TransmissionDataUpdateCoordinator as TransmissionDataUpdateCoordinator
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|
6
7
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
10
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
11
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
12
12
|
from typing import Any
|
13
13
|
|
14
|
-
_LOGGING: Incomplete
|
15
|
-
|
16
14
|
@dataclass(frozen=True, kw_only=True)
|
17
15
|
class TransmissionSwitchEntityDescription(SwitchEntityDescription):
|
18
16
|
is_on_func: Callable[[TransmissionDataUpdateCoordinator], bool | None]
|
@@ -22,7 +20,7 @@ class TransmissionSwitchEntityDescription(SwitchEntityDescription):
|
|
22
20
|
|
23
21
|
SWITCH_TYPES: tuple[TransmissionSwitchEntityDescription, ...]
|
24
22
|
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, config_entry:
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: TransmissionConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
24
|
|
27
25
|
class TransmissionSwitch(CoordinatorEntity[TransmissionDataUpdateCoordinator], SwitchEntity):
|
28
26
|
entity_description: TransmissionSwitchEntityDescription
|
@@ -1,7 +1,8 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
|
-
from homeassistant.const import Platform as Platform
|
3
|
+
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.device import async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
|
5
6
|
|
6
7
|
PLATFORMS: Incomplete
|
7
8
|
|
@@ -2,10 +2,12 @@ from . import PLATFORMS as PLATFORMS
|
|
2
2
|
from .const import ATTR_GRADIENT as ATTR_GRADIENT, ATTR_INVERT as ATTR_INVERT, ATTR_MIN_GRADIENT as ATTR_MIN_GRADIENT, ATTR_SAMPLE_COUNT as ATTR_SAMPLE_COUNT, ATTR_SAMPLE_DURATION as ATTR_SAMPLE_DURATION, CONF_INVERT as CONF_INVERT, CONF_MAX_SAMPLES as CONF_MAX_SAMPLES, CONF_MIN_GRADIENT as CONF_MIN_GRADIENT, CONF_MIN_SAMPLES as CONF_MIN_SAMPLES, CONF_SAMPLE_DURATION as CONF_SAMPLE_DURATION, DEFAULT_MAX_SAMPLES as DEFAULT_MAX_SAMPLES, DEFAULT_MIN_GRADIENT as DEFAULT_MIN_GRADIENT, DEFAULT_MIN_SAMPLES as DEFAULT_MIN_SAMPLES, DEFAULT_SAMPLE_DURATION as DEFAULT_SAMPLE_DURATION, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
|
-
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT
|
5
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FRIENDLY_NAME as CONF_FRIENDLY_NAME, CONF_SENSORS as CONF_SENSORS, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
8
8
|
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.helpers import device_registry as dr
|
10
|
+
from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
|
9
11
|
from homeassistant.helpers.entity import generate_entity_id as generate_entity_id
|
10
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
13
|
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
@@ -20,6 +22,7 @@ _LOGGER: Incomplete
|
|
20
22
|
def _validate_min_max(data: dict[str, Any]) -> dict[str, Any]: ...
|
21
23
|
|
22
24
|
SENSOR_SCHEMA: Incomplete
|
25
|
+
PLATFORM_SCHEMA: Incomplete
|
23
26
|
|
24
27
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
25
28
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
@@ -38,8 +41,9 @@ class SensorTrend(BinarySensorEntity, RestoreEntity):
|
|
38
41
|
_attr_name: Incomplete
|
39
42
|
_attr_device_class: Incomplete
|
40
43
|
_attr_unique_id: Incomplete
|
44
|
+
_attr_device_info: Incomplete
|
41
45
|
entity_id: Incomplete
|
42
|
-
def __init__(self, name: str, entity_id: str, attribute: str | None, invert: bool, sample_duration: int, min_gradient: float, min_samples: int, max_samples: int, unique_id: str | None = None, device_class: BinarySensorDeviceClass | None = None, sensor_entity_id: str | None = None) -> None: ...
|
46
|
+
def __init__(self, name: str, entity_id: str, attribute: str | None, invert: bool, sample_duration: int, min_gradient: float, min_samples: int, max_samples: int, unique_id: str | None = None, device_class: BinarySensorDeviceClass | None = None, sensor_entity_id: str | None = None, device_info: dr.DeviceInfo | None = None) -> None: ...
|
43
47
|
@property
|
44
48
|
def is_on(self) -> bool | None: ...
|
45
49
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import ATTR_LANGUAGE as ATTR_LANGUAGE, ATTR_MEDIA_PLAYER_ENTITY_ID as ATTR_MEDIA_PLAYER_ENTITY_ID, ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
|
3
|
+
from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
|
4
4
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, split_entity_id as split_entity_id
|
6
6
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
@@ -10,6 +10,7 @@ CONF_MEDIA_PLAYER: str
|
|
10
10
|
CONF_TTS_SERVICE: str
|
11
11
|
ENTITY_LEGACY_PROVIDER_GROUP: str
|
12
12
|
_LOGGER: Incomplete
|
13
|
+
PLATFORM_SCHEMA: Incomplete
|
13
14
|
|
14
15
|
async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> TTSNotificationService: ...
|
15
16
|
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from aiounifi.interfaces.sites import Sites as Sites
|
7
7
|
from collections.abc import Mapping
|
8
8
|
from homeassistant.components import ssdp as ssdp
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
10
10
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
@@ -25,8 +25,9 @@ def async_client_rx_value_fn(hub: UnifiHub, client: Client) -> float: ...
|
|
25
25
|
def async_client_tx_value_fn(hub: UnifiHub, client: Client) -> float: ...
|
26
26
|
def async_client_uptime_value_fn(hub: UnifiHub, client: Client) -> datetime: ...
|
27
27
|
def async_wlan_client_value_fn(hub: UnifiHub, wlan: Wlan) -> int: ...
|
28
|
+
def async_device_clients_value_fn(hub: UnifiHub, device: Device) -> int: ...
|
28
29
|
def async_device_uptime_value_fn(hub: UnifiHub, device: Device) -> datetime | None: ...
|
29
|
-
def
|
30
|
+
def async_uptime_value_changed_fn(old: StateType | date | datetime | Decimal, new: datetime | float | str | None) -> bool: ...
|
30
31
|
def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
31
32
|
def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
|
32
33
|
def device_system_stats_supported_fn(stat_index: int, hub: UnifiHub, obj_id: str) -> bool: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from collections.abc import Mapping
|
3
|
+
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
3
4
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
4
5
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
5
6
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|