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
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from collections.abc import Callable as Callable, Coroutine
|
4
4
|
from dataclasses import dataclass
|
5
|
-
from deebot_client.capabilities import Capabilities
|
5
|
+
from deebot_client.capabilities import Capabilities as Capabilities
|
6
6
|
from deebot_client.device import Device as Device
|
7
7
|
from deebot_client.events.base import Event
|
8
8
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
@@ -10,10 +10,9 @@ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as
|
|
10
10
|
from typing import Any, Generic, TypeVar
|
11
11
|
|
12
12
|
CapabilityEntity = TypeVar('CapabilityEntity')
|
13
|
-
CapabilityDevice = TypeVar('CapabilityDevice', bound=Capabilities)
|
14
13
|
EventT = TypeVar('EventT', bound=Event)
|
15
14
|
|
16
|
-
class EcovacsEntity(Entity, Generic[
|
15
|
+
class EcovacsEntity(Entity, Generic[CapabilityEntity]):
|
17
16
|
_attr_should_poll: bool
|
18
17
|
_attr_has_entity_name: bool
|
19
18
|
_always_available: bool
|
@@ -21,7 +20,7 @@ class EcovacsEntity(Entity, Generic[CapabilityDevice, CapabilityEntity]):
|
|
21
20
|
_device: Incomplete
|
22
21
|
_capability: Incomplete
|
23
22
|
_subscribed_events: Incomplete
|
24
|
-
def __init__(self, device: Device
|
23
|
+
def __init__(self, device: Device, capability: CapabilityEntity, **kwargs: Any) -> None: ...
|
25
24
|
@property
|
26
25
|
def device_info(self) -> DeviceInfo | None: ...
|
27
26
|
_attr_available: Incomplete
|
@@ -29,12 +28,11 @@ class EcovacsEntity(Entity, Generic[CapabilityDevice, CapabilityEntity]):
|
|
29
28
|
def _subscribe(self, event_type: type[EventT], callback: Callable[[EventT], Coroutine[Any, Any, None]]) -> None: ...
|
30
29
|
async def async_update(self) -> None: ...
|
31
30
|
|
32
|
-
class EcovacsDescriptionEntity(EcovacsEntity[
|
31
|
+
class EcovacsDescriptionEntity(EcovacsEntity[CapabilityEntity]):
|
33
32
|
entity_description: Incomplete
|
34
|
-
def __init__(self, device: Device
|
33
|
+
def __init__(self, device: Device, capability: CapabilityEntity, entity_description: EntityDescription, **kwargs: Any) -> None: ...
|
35
34
|
|
36
35
|
@dataclass(kw_only=True, frozen=True)
|
37
|
-
class EcovacsCapabilityEntityDescription(EntityDescription, Generic[
|
38
|
-
|
39
|
-
|
40
|
-
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, device_capabilities, capability_fn) -> None: ...
|
36
|
+
class EcovacsCapabilityEntityDescription(EntityDescription, Generic[CapabilityEntity]):
|
37
|
+
capability_fn: Callable[[Capabilities], CapabilityEntity | None]
|
38
|
+
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, capability_fn) -> None: ...
|
@@ -2,7 +2,7 @@ from . import EcovacsConfigEntry as EcovacsConfigEntry
|
|
2
2
|
from .entity import EcovacsEntity as EcovacsEntity
|
3
3
|
from .util import get_name_key as get_name_key
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from deebot_client.capabilities import
|
5
|
+
from deebot_client.capabilities import CapabilityEvent
|
6
6
|
from deebot_client.device import Device as Device
|
7
7
|
from deebot_client.events import ReportStatsEvent
|
8
8
|
from homeassistant.components.event import EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
|
@@ -12,7 +12,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
12
12
|
|
13
13
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
14
14
|
|
15
|
-
class EcovacsLastJobEventEntity(EcovacsEntity[
|
15
|
+
class EcovacsLastJobEventEntity(EcovacsEntity[CapabilityEvent[ReportStatsEvent]], EventEntity):
|
16
16
|
entity_description: Incomplete
|
17
|
-
def __init__(self, device: Device
|
17
|
+
def __init__(self, device: Device) -> None: ...
|
18
18
|
async def async_added_to_hass(self) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
2
|
from .entity import EcovacsEntity as EcovacsEntity
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from deebot_client.capabilities import CapabilityMap
|
4
|
+
from deebot_client.capabilities import CapabilityMap
|
5
5
|
from deebot_client.device import Device as Device
|
6
6
|
from deebot_client.events.map import CachedMapInfoEvent as CachedMapInfoEvent, MapChangedEvent as MapChangedEvent
|
7
7
|
from homeassistant.components.image import ImageEntity as ImageEntity
|
@@ -11,7 +11,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
11
11
|
|
12
12
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
13
|
|
14
|
-
class EcovacsMap(EcovacsEntity[
|
14
|
+
class EcovacsMap(EcovacsEntity[CapabilityMap], ImageEntity):
|
15
15
|
_attr_content_type: str
|
16
16
|
_attr_extra_state_attributes: Incomplete
|
17
17
|
def __init__(self, device: Device, capability: CapabilityMap, hass: HomeAssistant) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
2
|
from .entity import EcovacsEntity as EcovacsEntity
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from deebot_client.capabilities import
|
4
|
+
from deebot_client.capabilities import Capabilities
|
5
5
|
from deebot_client.device import Device as Device
|
6
6
|
from deebot_client.events import StateEvent as StateEvent
|
7
7
|
from deebot_client.models import CleanAction
|
@@ -14,10 +14,10 @@ _STATE_TO_MOWER_STATE: Incomplete
|
|
14
14
|
|
15
15
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
16
16
|
|
17
|
-
class EcovacsMower(EcovacsEntity[
|
17
|
+
class EcovacsMower(EcovacsEntity[Capabilities], LawnMowerEntity):
|
18
18
|
_attr_supported_features: Incomplete
|
19
19
|
entity_description: Incomplete
|
20
|
-
def __init__(self, device: Device
|
20
|
+
def __init__(self, device: Device) -> None: ...
|
21
21
|
_attr_activity: Incomplete
|
22
22
|
async def async_added_to_hass(self) -> None: ...
|
23
23
|
async def _clean_command(self, action: CleanAction) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
|
-
from .entity import
|
2
|
+
from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity, EventT as EventT
|
3
3
|
from .util import get_supported_entitites as get_supported_entitites
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
@@ -15,13 +15,13 @@ from typing import Generic
|
|
15
15
|
class EcovacsNumberEntityDescription(NumberEntityDescription, EcovacsCapabilityEntityDescription, Generic[EventT]):
|
16
16
|
native_max_value_fn: Callable[[EventT], float | int | None] = ...
|
17
17
|
value_fn: Callable[[EventT], float | None]
|
18
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement,
|
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, capability_fn, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, native_max_value_fn, value_fn) -> None: ...
|
19
19
|
|
20
20
|
ENTITY_DESCRIPTIONS: tuple[EcovacsNumberEntityDescription, ...]
|
21
21
|
|
22
22
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
23
23
|
|
24
|
-
class EcovacsNumberEntity(EcovacsDescriptionEntity[
|
24
|
+
class EcovacsNumberEntity(EcovacsDescriptionEntity[CapabilitySet[EventT, int]], NumberEntity):
|
25
25
|
entity_description: EcovacsNumberEntityDescription
|
26
26
|
_attr_native_value: Incomplete
|
27
27
|
_attr_native_max_value: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
|
-
from .entity import
|
2
|
+
from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EventT as EventT
|
3
3
|
from .util import get_name_key as get_name_key, get_supported_entitites as get_supported_entitites
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Callable as Callable
|
@@ -16,13 +16,13 @@ from typing import Any, Generic
|
|
16
16
|
class EcovacsSelectEntityDescription(SelectEntityDescription, EcovacsCapabilityEntityDescription, Generic[EventT]):
|
17
17
|
current_option_fn: Callable[[EventT], str | None]
|
18
18
|
options_fn: Callable[[CapabilitySetTypes], list[str]]
|
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,
|
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, capability_fn, options, current_option_fn, options_fn) -> None: ...
|
20
20
|
|
21
21
|
ENTITY_DESCRIPTIONS: tuple[EcovacsSelectEntityDescription, ...]
|
22
22
|
|
23
23
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
24
24
|
|
25
|
-
class EcovacsSelectEntity(EcovacsDescriptionEntity[
|
25
|
+
class EcovacsSelectEntity(EcovacsDescriptionEntity[CapabilitySetTypes[EventT, str]], SelectEntity):
|
26
26
|
_attr_current_option: str | None
|
27
27
|
entity_description: EcovacsSelectEntityDescription
|
28
28
|
_attr_options: Incomplete
|
@@ -1,11 +1,11 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
2
|
from .const import SUPPORTED_LIFESPANS as SUPPORTED_LIFESPANS
|
3
|
-
from .entity import
|
3
|
+
from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity, EventT as EventT
|
4
4
|
from .util import get_supported_entitites as get_supported_entitites
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from collections.abc import Callable as Callable
|
7
7
|
from dataclasses import dataclass
|
8
|
-
from deebot_client.capabilities import
|
8
|
+
from deebot_client.capabilities import CapabilityEvent, CapabilityLifeSpan
|
9
9
|
from deebot_client.events import ErrorEvent, Event as Event, LifeSpan as LifeSpan, LifeSpanEvent as LifeSpanEvent
|
10
10
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
11
11
|
from homeassistant.const import AREA_SQUARE_METERS as AREA_SQUARE_METERS, ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, CONF_DESCRIPTION as CONF_DESCRIPTION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
|
@@ -17,7 +17,7 @@ from typing import Generic
|
|
17
17
|
@dataclass(kw_only=True, frozen=True)
|
18
18
|
class EcovacsSensorEntityDescription(EcovacsCapabilityEntityDescription, SensorEntityDescription, Generic[EventT]):
|
19
19
|
value_fn: Callable[[EventT], StateType]
|
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,
|
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, capability_fn, value_fn) -> None: ...
|
21
21
|
|
22
22
|
ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...]
|
23
23
|
|
@@ -31,17 +31,17 @@ LIFESPAN_ENTITY_DESCRIPTIONS: Incomplete
|
|
31
31
|
|
32
32
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
33
33
|
|
34
|
-
class EcovacsSensor(EcovacsDescriptionEntity[
|
34
|
+
class EcovacsSensor(EcovacsDescriptionEntity[CapabilityEvent], SensorEntity):
|
35
35
|
entity_description: EcovacsSensorEntityDescription
|
36
36
|
_attr_native_value: Incomplete
|
37
37
|
async def async_added_to_hass(self) -> None: ...
|
38
38
|
|
39
|
-
class EcovacsLifespanSensor(EcovacsDescriptionEntity[
|
39
|
+
class EcovacsLifespanSensor(EcovacsDescriptionEntity[CapabilityLifeSpan], SensorEntity):
|
40
40
|
entity_description: EcovacsLifespanSensorEntityDescription
|
41
41
|
_attr_native_value: Incomplete
|
42
42
|
async def async_added_to_hass(self) -> None: ...
|
43
43
|
|
44
|
-
class EcovacsErrorSensor(EcovacsEntity[
|
44
|
+
class EcovacsErrorSensor(EcovacsEntity[CapabilityEvent[ErrorEvent]], SensorEntity):
|
45
45
|
_always_available: bool
|
46
46
|
_unrecorded_attributes: Incomplete
|
47
47
|
entity_description: SensorEntityDescription
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import EcovacsConfigEntry as EcovacsConfigEntry
|
2
|
-
from .entity import
|
2
|
+
from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity
|
3
3
|
from .util import get_supported_entitites as get_supported_entitites
|
4
4
|
from dataclasses import dataclass
|
5
5
|
from deebot_client.capabilities import CapabilitySetEnable
|
@@ -11,14 +11,14 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
|
|
11
11
|
from typing import Any
|
12
12
|
|
13
13
|
@dataclass(kw_only=True, frozen=True)
|
14
|
-
class EcovacsSwitchEntityDescription(SwitchEntityDescription, EcovacsCapabilityEntityDescription[
|
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,
|
14
|
+
class EcovacsSwitchEntityDescription(SwitchEntityDescription, EcovacsCapabilityEntityDescription[CapabilitySetEnable]):
|
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, capability_fn) -> None: ...
|
16
16
|
|
17
17
|
ENTITY_DESCRIPTIONS: tuple[EcovacsSwitchEntityDescription, ...]
|
18
18
|
|
19
19
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
20
20
|
|
21
|
-
class EcovacsSwitchEntity(EcovacsDescriptionEntity[
|
21
|
+
class EcovacsSwitchEntity(EcovacsDescriptionEntity[CapabilitySetEnable], SwitchEntity):
|
22
22
|
entity_description: EcovacsSwitchEntityDescription
|
23
23
|
_attr_is_on: bool
|
24
24
|
async def async_added_to_hass(self) -> None: ...
|
@@ -5,13 +5,14 @@ from .entity import EcovacsEntity as EcovacsEntity
|
|
5
5
|
from .util import get_name_key as get_name_key
|
6
6
|
from _typeshed import Incomplete
|
7
7
|
from collections.abc import Mapping
|
8
|
-
from deebot_client.capabilities import
|
8
|
+
from deebot_client.capabilities import Capabilities
|
9
9
|
from deebot_client.device import Device as Device
|
10
10
|
from deebot_client.events import BatteryEvent as BatteryEvent, FanSpeedEvent as FanSpeedEvent, RoomsEvent as RoomsEvent, StateEvent as StateEvent
|
11
11
|
from deebot_client.models import CleanAction, Room as Room
|
12
12
|
from homeassistant.components.vacuum import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_IDLE as STATE_IDLE, STATE_PAUSED as STATE_PAUSED, STATE_RETURNING as STATE_RETURNING, StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumEntityFeature as VacuumEntityFeature
|
13
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, SupportsResponse as SupportsResponse
|
14
14
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
15
|
+
from homeassistant.helpers import entity_platform as entity_platform
|
15
16
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
17
|
from homeassistant.helpers.icon import icon_for_battery_level as icon_for_battery_level
|
17
18
|
from homeassistant.util import slugify as slugify
|
@@ -20,6 +21,7 @@ from typing import Any
|
|
20
21
|
_LOGGER: Incomplete
|
21
22
|
ATTR_ERROR: str
|
22
23
|
ATTR_COMPONENT_PREFIX: str
|
24
|
+
SERVICE_RAW_GET_POSITIONS: str
|
23
25
|
|
24
26
|
async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
25
27
|
|
@@ -51,20 +53,21 @@ class EcovacsLegacyVacuum(StateVacuumEntity):
|
|
51
53
|
def locate(self, **kwargs: Any) -> None: ...
|
52
54
|
def set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
|
53
55
|
def send_command(self, command: str, params: dict[str, Any] | list[Any] | None = None, **kwargs: Any) -> None: ...
|
56
|
+
async def async_raw_get_positions(self) -> None: ...
|
54
57
|
|
55
58
|
_STATE_TO_VACUUM_STATE: Incomplete
|
56
59
|
_ATTR_ROOMS: str
|
57
60
|
|
58
|
-
class EcovacsVacuum(EcovacsEntity[
|
61
|
+
class EcovacsVacuum(EcovacsEntity[Capabilities], StateVacuumEntity):
|
59
62
|
_unrecorded_attributes: Incomplete
|
60
63
|
_attr_supported_features: Incomplete
|
61
64
|
entity_description: Incomplete
|
62
65
|
_rooms: Incomplete
|
63
66
|
_attr_fan_speed_list: Incomplete
|
64
|
-
def __init__(self, device: Device
|
67
|
+
def __init__(self, device: Device) -> None: ...
|
65
68
|
_attr_battery_level: Incomplete
|
66
|
-
_attr_fan_speed: Incomplete
|
67
69
|
_attr_state: Incomplete
|
70
|
+
_attr_fan_speed: Incomplete
|
68
71
|
async def async_added_to_hass(self) -> None: ...
|
69
72
|
@property
|
70
73
|
def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
|
@@ -76,3 +79,4 @@ class EcovacsVacuum(EcovacsEntity[VacuumCapabilities, VacuumCapabilities], State
|
|
76
79
|
async def _clean_command(self, action: CleanAction) -> None: ...
|
77
80
|
async def async_locate(self, **kwargs: Any) -> None: ...
|
78
81
|
async def async_send_command(self, command: str, params: dict[str, Any] | list[Any] | None = None, **kwargs: Any) -> None: ...
|
82
|
+
async def async_raw_get_positions(self) -> dict[str, Any]: ...
|
@@ -4,6 +4,7 @@ from _typeshed import Incomplete
|
|
4
4
|
from aioecowitt import EcoWittListener as EcoWittListener, EcoWittSensor as EcoWittSensor
|
5
5
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
7
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
10
|
from typing import Final
|
@@ -10,9 +10,10 @@ from homeassistant.helpers.entity import Entity as Entity
|
|
10
10
|
from pyefergy import Efergy
|
11
11
|
|
12
12
|
PLATFORMS: Incomplete
|
13
|
+
EfergyConfigEntry = ConfigEntry[Efergy]
|
13
14
|
|
14
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
15
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
15
|
+
async def async_setup_entry(hass: HomeAssistant, entry: EfergyConfigEntry) -> bool: ...
|
16
|
+
async def async_unload_entry(hass: HomeAssistant, entry: EfergyConfigEntry) -> bool: ...
|
16
17
|
|
17
18
|
class EfergyEntity(Entity):
|
18
19
|
_attr_attribution: str
|
@@ -1,8 +1,7 @@
|
|
1
|
-
from . import EfergyEntity as EfergyEntity
|
2
|
-
from .const import CONF_CURRENT_VALUES as CONF_CURRENT_VALUES,
|
1
|
+
from . import EfergyConfigEntry as EfergyConfigEntry, EfergyEntity as EfergyEntity
|
2
|
+
from .const import CONF_CURRENT_VALUES as CONF_CURRENT_VALUES, LOGGER as LOGGER
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
5
|
from homeassistant.const import UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
7
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -11,7 +10,7 @@ from pyefergy import Efergy as Efergy
|
|
11
10
|
|
12
11
|
SENSOR_TYPES: tuple[SensorEntityDescription, ...]
|
13
12
|
|
14
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: EfergyConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
15
14
|
|
16
15
|
class EfergySensor(EfergyEntity, SensorEntity):
|
17
16
|
_attr_has_entity_name: bool
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from .const import CONF_IMEI as CONF_IMEI, DOMAIN as DOMAIN
|
2
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
|
+
from homeassistant.const import CONF_TOKEN as CONF_TOKEN, Platform as Platform
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
7
|
+
|
8
|
+
PLATFORMS: list[Platform]
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
12
|
+
async def update_listener(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
|
@@ -0,0 +1,64 @@
|
|
1
|
+
from .const import API_DELAY as API_DELAY, CONSECUTIVE_FAILURE_THRESHOLD as CONSECUTIVE_FAILURE_THRESHOLD, DOMAIN as DOMAIN, PRESET_NONE as PRESET_NONE, PRESET_SHABAT as PRESET_SHABAT, SCAN_INTERVAL_SEC as SCAN_INTERVAL_SEC, UNAVAILABLE_THRESH_SEC as UNAVAILABLE_THRESH_SEC
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from electrasmart.api import ElectraAPI as ElectraAPI
|
4
|
+
from electrasmart.device import ElectraAirConditioner as ElectraAirConditioner
|
5
|
+
from electrasmart.device.const import MAX_TEMP, MIN_TEMP
|
6
|
+
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
FAN_ELECTRA_TO_HASS: Incomplete
|
16
|
+
FAN_HASS_TO_ELECTRA: Incomplete
|
17
|
+
HVAC_MODE_ELECTRA_TO_HASS: Incomplete
|
18
|
+
HVAC_MODE_HASS_TO_ELECTRA: Incomplete
|
19
|
+
ELECTRA_FAN_MODES: Incomplete
|
20
|
+
ELECTRA_MODES: Incomplete
|
21
|
+
_LOGGER: Incomplete
|
22
|
+
SCAN_INTERVAL: Incomplete
|
23
|
+
PARALLEL_UPDATES: int
|
24
|
+
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
|
+
|
27
|
+
class ElectraClimateEntity(ClimateEntity):
|
28
|
+
_attr_fan_modes = ELECTRA_FAN_MODES
|
29
|
+
_attr_target_temperature_step: int
|
30
|
+
_attr_max_temp = MAX_TEMP
|
31
|
+
_attr_min_temp = MIN_TEMP
|
32
|
+
_attr_temperature_unit: Incomplete
|
33
|
+
_attr_hvac_modes = ELECTRA_MODES
|
34
|
+
_attr_has_entity_name: bool
|
35
|
+
_attr_name: Incomplete
|
36
|
+
_enable_turn_on_off_backwards_compatibility: bool
|
37
|
+
_api: Incomplete
|
38
|
+
_electra_ac_device: Incomplete
|
39
|
+
_attr_unique_id: Incomplete
|
40
|
+
_attr_supported_features: Incomplete
|
41
|
+
_attr_swing_modes: Incomplete
|
42
|
+
_attr_preset_modes: Incomplete
|
43
|
+
_attr_device_info: Incomplete
|
44
|
+
_last_state_update: int
|
45
|
+
_consecutive_failures: int
|
46
|
+
_skip_update: bool
|
47
|
+
_was_available: bool
|
48
|
+
def __init__(self, device: ElectraAirConditioner, api: ElectraAPI) -> None: ...
|
49
|
+
@property
|
50
|
+
def available(self) -> bool: ...
|
51
|
+
async def async_update(self) -> None: ...
|
52
|
+
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
53
|
+
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
54
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
55
|
+
_attr_fan_mode: Incomplete
|
56
|
+
_attr_current_temperature: Incomplete
|
57
|
+
_attr_target_temperature: Incomplete
|
58
|
+
_attr_hvac_mode: Incomplete
|
59
|
+
_attr_swing_mode: Incomplete
|
60
|
+
_attr_preset_mode: Incomplete
|
61
|
+
def _update_device_attrs(self) -> None: ...
|
62
|
+
async def async_set_swing_mode(self, swing_mode: str) -> None: ...
|
63
|
+
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
64
|
+
async def _async_operate_electra_ac(self) -> None: ...
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from .const import CONF_IMEI as CONF_IMEI, CONF_OTP as CONF_OTP, CONF_PHONE_NUMBER as CONF_PHONE_NUMBER, DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
|
+
from homeassistant.const import CONF_TOKEN as CONF_TOKEN
|
5
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
_LOGGER: Incomplete
|
9
|
+
|
10
|
+
class ElectraSmartConfigFlow(ConfigFlow, domain=DOMAIN):
|
11
|
+
VERSION: int
|
12
|
+
_phone_number: Incomplete
|
13
|
+
_description_placeholders: Incomplete
|
14
|
+
_otp: Incomplete
|
15
|
+
_imei: Incomplete
|
16
|
+
_token: Incomplete
|
17
|
+
_api: Incomplete
|
18
|
+
def __init__(self) -> None: ...
|
19
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
+
def _show_setup_form(self, user_input: dict[str, str] | None = None, errors: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
21
|
+
async def _validate_phone_number(self, user_input: dict[str, str]) -> ConfigFlowResult: ...
|
22
|
+
async def _validate_one_time_password(self, user_input: dict[str, str]) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_one_time_password(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
24
|
+
async def _show_otp_form(self, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
@@ -11,9 +11,10 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.helpers import entity_platform as entity_platform
|
12
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
13
|
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
14
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
14
15
|
from typing import Any
|
15
16
|
|
16
|
-
DISPLAY_MESSAGE_SERVICE_SCHEMA:
|
17
|
+
DISPLAY_MESSAGE_SERVICE_SCHEMA: VolDictType
|
17
18
|
SERVICE_ALARM_DISPLAY_MESSAGE: str
|
18
19
|
SERVICE_ALARM_ARM_VACATION: str
|
19
20
|
SERVICE_ALARM_ARM_HOME_INSTANT: str
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.const import ATTR_CODE as ATTR_CODE, CONF_ZONE as CONF_ZONE
|
3
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
3
4
|
|
4
5
|
DOMAIN: str
|
5
6
|
LOGIN_TIMEOUT: int
|
@@ -24,4 +25,4 @@ ATTR_CHANGED_BY_KEYPAD: str
|
|
24
25
|
ATTR_CHANGED_BY_ID: str
|
25
26
|
ATTR_CHANGED_BY_TIME: str
|
26
27
|
ATTR_VALUE: str
|
27
|
-
ELK_USER_CODE_SERVICE_SCHEMA:
|
28
|
+
ELK_USER_CODE_SERVICE_SCHEMA: VolDictType
|
@@ -13,6 +13,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
13
13
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
14
|
from homeassistant.helpers import entity_platform as entity_platform
|
15
15
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
16
17
|
from typing import Any
|
17
18
|
|
18
19
|
SERVICE_SENSOR_COUNTER_REFRESH: str
|
@@ -20,7 +21,7 @@ SERVICE_SENSOR_COUNTER_SET: str
|
|
20
21
|
SERVICE_SENSOR_ZONE_BYPASS: str
|
21
22
|
SERVICE_SENSOR_ZONE_TRIGGER: str
|
22
23
|
UNDEFINED_TEMPERATURE: int
|
23
|
-
ELK_SET_COUNTER_SERVICE_SCHEMA:
|
24
|
+
ELK_SET_COUNTER_SERVICE_SCHEMA: VolDictType
|
24
25
|
|
25
26
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ElkM1ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
27
|
def temperature_to_state(temperature: int, undefined_temperature: int) -> str | None: ...
|
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .data import DEVICE_CONSUMPTION_SCHEMA as DEVICE_CONSUMPTION_SCHEMA, ENERGY_SOURCE_SCHEMA as ENERGY_SOURCE_SCHEMA, EnergyManager as EnergyManager, EnergyPreferencesUpdate as EnergyPreferencesUpdate, async_get_manager as async_get_manager
|
3
3
|
from .types import EnergyPlatform as EnergyPlatform, GetSolarForecastType as GetSolarForecastType, SolarForecastType as SolarForecastType
|
4
4
|
from .validate import async_validate as async_validate
|
5
|
-
from collections.abc import
|
5
|
+
from collections.abc import Callable, Coroutine
|
6
6
|
from homeassistant.components import recorder as recorder, websocket_api as websocket_api
|
7
7
|
from homeassistant.components.recorder.statistics import StatisticsRow as StatisticsRow
|
8
8
|
from homeassistant.const import UnitOfEnergy as UnitOfEnergy
|
@@ -12,13 +12,13 @@ from homeassistant.helpers.singleton import singleton as singleton
|
|
12
12
|
from typing import Any
|
13
13
|
|
14
14
|
EnergyWebSocketCommandHandler = Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any], EnergyManager], None]
|
15
|
-
AsyncEnergyWebSocketCommandHandler = Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any], EnergyManager],
|
15
|
+
AsyncEnergyWebSocketCommandHandler = Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any], EnergyManager], Coroutine[Any, Any, None]]
|
16
16
|
|
17
17
|
def async_setup(hass: HomeAssistant) -> None: ...
|
18
18
|
async def async_get_energy_platforms(hass: HomeAssistant) -> dict[str, GetSolarForecastType]: ...
|
19
|
-
def _ws_with_manager(func:
|
20
|
-
def ws_get_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, manager: EnergyManager) -> None: ...
|
21
|
-
async def ws_save_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, manager: EnergyManager) -> None: ...
|
19
|
+
def _ws_with_manager(func: AsyncEnergyWebSocketCommandHandler | EnergyWebSocketCommandHandler) -> websocket_api.AsyncWebSocketCommandHandler: ...
|
20
|
+
def ws_get_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], manager: EnergyManager) -> None: ...
|
21
|
+
async def ws_save_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], manager: EnergyManager) -> None: ...
|
22
22
|
async def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
23
23
|
async def ws_validate(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
24
24
|
async def ws_solar_forecast(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any], manager: EnergyManager) -> None: ...
|
@@ -1,11 +1,12 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
2
1
|
from _typeshed import Incomplete
|
3
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
3
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
5
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
5
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
6
|
+
from openwebif.api import OpenWebIfDevice
|
7
7
|
|
8
|
+
Enigma2ConfigEntry = ConfigEntry[OpenWebIfDevice]
|
8
9
|
PLATFORMS: Incomplete
|
9
10
|
|
10
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
11
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Enigma2ConfigEntry) -> bool: ...
|
11
12
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -1,17 +1,26 @@
|
|
1
|
+
import voluptuous as vol
|
1
2
|
from .const import CONF_DEEP_STANDBY as CONF_DEEP_STANDBY, CONF_SOURCE_BOUQUET as CONF_SOURCE_BOUQUET, CONF_USE_CHANNEL_ICON as CONF_USE_CHANNEL_ICON, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN
|
2
3
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_USER as SOURCE_USER
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_USER as SOURCE_USER
|
4
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
6
|
+
from homeassistant.core import callback as callback
|
5
7
|
from homeassistant.helpers import selector as selector
|
6
8
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
7
9
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
10
|
+
from homeassistant.helpers.schema_config_entry_flow import SchemaCommonFlowHandler as SchemaCommonFlowHandler, SchemaFlowFormStep as SchemaFlowFormStep, SchemaOptionsFlowHandler as SchemaOptionsFlowHandler
|
8
11
|
from typing import Any
|
9
12
|
|
10
13
|
CONFIG_SCHEMA: Incomplete
|
11
14
|
|
15
|
+
async def get_options_schema(handler: SchemaCommonFlowHandler) -> vol.Schema: ...
|
16
|
+
|
17
|
+
OPTIONS_FLOW: Incomplete
|
18
|
+
|
12
19
|
class Enigma2ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
13
20
|
DATA_KEYS: Incomplete
|
14
21
|
OPTIONS_KEYS: Incomplete
|
15
22
|
async def validate_user_input(self, user_input: dict[str, Any]) -> dict[str, str] | None: ...
|
16
23
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
24
|
async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
|
25
|
+
@staticmethod
|
26
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler: ...
|
@@ -1,10 +1,10 @@
|
|
1
|
+
from . import Enigma2ConfigEntry as Enigma2ConfigEntry
|
1
2
|
from .const import CONF_DEEP_STANDBY as CONF_DEEP_STANDBY, CONF_MAC_ADDRESS as CONF_MAC_ADDRESS, CONF_SOURCE_BOUQUET as CONF_SOURCE_BOUQUET, CONF_USE_CHANNEL_ICON as CONF_USE_CHANNEL_ICON, DEFAULT_DEEP_STANDBY as DEFAULT_DEEP_STANDBY, DEFAULT_MAC_ADDRESS as DEFAULT_MAC_ADDRESS, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PASSWORD as DEFAULT_PASSWORD, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SOURCE_BOUQUET as DEFAULT_SOURCE_BOUQUET, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DEFAULT_USE_CHANNEL_ICON as DEFAULT_USE_CHANNEL_ICON, DOMAIN as DOMAIN
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
5
6
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA
|
8
8
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
@@ -15,9 +15,10 @@ ATTR_MEDIA_DESCRIPTION: str
|
|
15
15
|
ATTR_MEDIA_END_TIME: str
|
16
16
|
ATTR_MEDIA_START_TIME: str
|
17
17
|
_LOGGER: Incomplete
|
18
|
+
PLATFORM_SCHEMA: Incomplete
|
18
19
|
|
19
20
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
20
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Enigma2ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
22
|
|
22
23
|
class Enigma2Device(MediaPlayerEntity):
|
23
24
|
_attr_has_entity_name: bool
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import voluptuous as vol
|
2
|
-
from .const import DOMAIN as DOMAIN, INVALID_AUTH_ERRORS as INVALID_AUTH_ERRORS
|
2
|
+
from .const import DOMAIN as DOMAIN, INVALID_AUTH_ERRORS as INVALID_AUTH_ERRORS, OPTION_DIAGNOSTICS_INCLUDE_FIXTURES as OPTION_DIAGNOSTICS_INCLUDE_FIXTURES, OPTION_DIAGNOSTICS_INCLUDE_FIXTURES_DEFAULT_VALUE as OPTION_DIAGNOSTICS_INCLUDE_FIXTURES_DEFAULT_VALUE
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Mapping
|
5
5
|
from homeassistant.components import zeroconf as zeroconf
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
|
7
7
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
10
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
10
11
|
from pyenphase import Envoy
|
11
12
|
from typing import Any
|
12
13
|
|
@@ -24,6 +25,8 @@ class EnphaseConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
24
25
|
protovers: Incomplete
|
25
26
|
_reauth_entry: Incomplete
|
26
27
|
def __init__(self) -> None: ...
|
28
|
+
@staticmethod
|
29
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> EnvoyOptionsFlowHandler: ...
|
27
30
|
def _async_generate_schema(self) -> vol.Schema: ...
|
28
31
|
def _async_current_hosts(self) -> set[str]: ...
|
29
32
|
async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
@@ -31,3 +34,6 @@ class EnphaseConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
31
34
|
def _async_envoy_name(self) -> str: ...
|
32
35
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
33
36
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
37
|
+
|
38
|
+
class EnvoyOptionsFlowHandler(OptionsFlowWithConfigEntry):
|
39
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|