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
@@ -0,0 +1,30 @@
|
|
1
|
+
from .const import CONF_BASE_URL as CONF_BASE_URL, CONF_ENTRY_CODE as CONF_ENTRY_CODE, CONF_USER_DATA as CONF_USER_DATA, DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
|
5
|
+
from homeassistant.const import CONF_USERNAME as CONF_USERNAME
|
6
|
+
from homeassistant.core import callback as callback
|
7
|
+
from roborock.containers import UserData as UserData
|
8
|
+
from roborock.web_api import RoborockApiClient
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
|
13
|
+
class RoborockFlowHandler(ConfigFlow, domain=DOMAIN):
|
14
|
+
VERSION: int
|
15
|
+
reauth_entry: ConfigEntry | None
|
16
|
+
_username: Incomplete
|
17
|
+
_client: Incomplete
|
18
|
+
def __init__(self) -> None: ...
|
19
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
+
async def _request_code(self) -> dict: ...
|
21
|
+
async def async_step_code(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
22
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
23
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
24
|
+
def _create_entry(self, client: RoborockApiClient, username: str, user_data: UserData) -> ConfigFlowResult: ...
|
25
|
+
@staticmethod
|
26
|
+
def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
|
27
|
+
|
28
|
+
class RoborockOptionsFlowHandler(OptionsFlowWithConfigEntry):
|
29
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
|
+
async def async_step_drawables(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from homeassistant.const import Platform as Platform
|
3
|
+
|
4
|
+
DOMAIN: str
|
5
|
+
CONF_ENTRY_CODE: str
|
6
|
+
CONF_BASE_URL: str
|
7
|
+
CONF_USER_DATA: str
|
8
|
+
DRAWABLES: str
|
9
|
+
DEFAULT_DRAWABLES: Incomplete
|
10
|
+
PLATFORMS: Incomplete
|
11
|
+
IMAGE_CACHE_INTERVAL: int
|
12
|
+
MAP_SLEEP: int
|
13
|
+
GET_MAPS_SERVICE_NAME: str
|
@@ -0,0 +1,47 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .models import RoborockA01HassDeviceInfo as RoborockA01HassDeviceInfo, RoborockHassDeviceInfo as RoborockHassDeviceInfo, RoborockMapInfo as RoborockMapInfo
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
7
|
+
from homeassistant.helpers.typing import StateType as StateType
|
8
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
9
|
+
from roborock import HomeDataRoom as HomeDataRoom
|
10
|
+
from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, NetworkInfo as NetworkInfo
|
11
|
+
from roborock.roborock_message import RoborockDyadDataProtocol, RoborockZeoProtocol
|
12
|
+
from roborock.roborock_typing import DeviceProp
|
13
|
+
from roborock.version_1_apis.roborock_mqtt_client_v1 import RoborockMqttClientV1 as RoborockMqttClientV1
|
14
|
+
from roborock.version_a01_apis import RoborockClientA01 as RoborockClientA01
|
15
|
+
|
16
|
+
SCAN_INTERVAL: Incomplete
|
17
|
+
_LOGGER: Incomplete
|
18
|
+
|
19
|
+
class RoborockDataUpdateCoordinator(DataUpdateCoordinator[DeviceProp]):
|
20
|
+
roborock_device_info: Incomplete
|
21
|
+
api: Incomplete
|
22
|
+
cloud_api: Incomplete
|
23
|
+
device_info: Incomplete
|
24
|
+
current_map: Incomplete
|
25
|
+
maps: Incomplete
|
26
|
+
_home_data_rooms: Incomplete
|
27
|
+
def __init__(self, hass: HomeAssistant, device: HomeDataDevice, device_networking: NetworkInfo, product_info: HomeDataProduct, cloud_api: RoborockMqttClientV1, home_data_rooms: list[HomeDataRoom]) -> None: ...
|
28
|
+
async def verify_api(self) -> None: ...
|
29
|
+
async def release(self) -> None: ...
|
30
|
+
async def _update_device_prop(self) -> None: ...
|
31
|
+
async def _async_update_data(self) -> DeviceProp: ...
|
32
|
+
def _set_current_map(self) -> None: ...
|
33
|
+
async def get_maps(self) -> None: ...
|
34
|
+
async def get_rooms(self) -> None: ...
|
35
|
+
@property
|
36
|
+
def duid(self) -> str: ...
|
37
|
+
|
38
|
+
class RoborockDataUpdateCoordinatorA01(DataUpdateCoordinator[dict[RoborockDyadDataProtocol | RoborockZeoProtocol, StateType]]):
|
39
|
+
api: Incomplete
|
40
|
+
device_info: Incomplete
|
41
|
+
request_protocols: Incomplete
|
42
|
+
roborock_device_info: Incomplete
|
43
|
+
def __init__(self, hass: HomeAssistant, device: HomeDataDevice, product_info: HomeDataProduct, api: RoborockClientA01) -> None: ...
|
44
|
+
async def _async_update_data(self) -> dict[RoborockDyadDataProtocol | RoborockZeoProtocol, StateType]: ...
|
45
|
+
async def release(self) -> None: ...
|
46
|
+
@property
|
47
|
+
def duid(self) -> str: ...
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
5
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
6
|
+
from homeassistant.helpers.entity import Entity as Entity
|
7
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
8
|
+
from roborock.api import RoborockClient as RoborockClient
|
9
|
+
from roborock.command_cache import CacheableAttribute as CacheableAttribute
|
10
|
+
from roborock.containers import Consumable as Consumable, Status
|
11
|
+
from roborock.roborock_message import RoborockDataProtocol
|
12
|
+
from roborock.roborock_typing import RoborockCommand
|
13
|
+
from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache, RoborockClientV1 as RoborockClientV1
|
14
|
+
from roborock.version_1_apis.roborock_mqtt_client_v1 import RoborockMqttClientV1 as RoborockMqttClientV1
|
15
|
+
from roborock.version_a01_apis import RoborockClientA01 as RoborockClientA01
|
16
|
+
from typing import Any
|
17
|
+
|
18
|
+
class RoborockEntity(Entity):
|
19
|
+
_attr_has_entity_name: bool
|
20
|
+
_attr_unique_id: Incomplete
|
21
|
+
_attr_device_info: Incomplete
|
22
|
+
_api: Incomplete
|
23
|
+
def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClient) -> None: ...
|
24
|
+
|
25
|
+
class RoborockEntityV1(RoborockEntity):
|
26
|
+
_api: RoborockClientV1
|
27
|
+
def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClientV1) -> None: ...
|
28
|
+
def get_cache(self, attribute: CacheableAttribute) -> AttributeCache: ...
|
29
|
+
async def send(self, command: RoborockCommand | str, params: dict[str, Any] | list[Any] | int | None = None) -> dict: ...
|
30
|
+
@property
|
31
|
+
def api(self) -> RoborockClientV1: ...
|
32
|
+
|
33
|
+
class RoborockEntityA01(RoborockEntity):
|
34
|
+
_api: RoborockClientA01
|
35
|
+
def __init__(self, unique_id: str, device_info: DeviceInfo, api: RoborockClientA01) -> None: ...
|
36
|
+
|
37
|
+
class RoborockCoordinatedEntityV1(RoborockEntityV1, CoordinatorEntity[RoborockDataUpdateCoordinator]):
|
38
|
+
_attr_has_entity_name: bool
|
39
|
+
_attr_unique_id: Incomplete
|
40
|
+
listener_requests: Incomplete
|
41
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, listener_request: list[RoborockDataProtocol] | RoborockDataProtocol | None = None) -> None: ...
|
42
|
+
async def async_added_to_hass(self) -> None: ...
|
43
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
44
|
+
@property
|
45
|
+
def _device_status(self) -> Status: ...
|
46
|
+
@property
|
47
|
+
def cloud_api(self) -> RoborockMqttClientV1: ...
|
48
|
+
async def send(self, command: RoborockCommand | str, params: dict[str, Any] | list[Any] | int | None = None) -> dict: ...
|
49
|
+
def _update_from_listener(self, value: Status | Consumable) -> None: ...
|
50
|
+
|
51
|
+
class RoborockCoordinatedEntityA01(RoborockEntityA01, CoordinatorEntity[RoborockDataUpdateCoordinatorA01]):
|
52
|
+
_attr_unique_id: Incomplete
|
53
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinatorA01) -> None: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.diagnostics.util import async_redact_data as async_redact_data
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.const import CONF_UNIQUE_ID as CONF_UNIQUE_ID
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
TO_REDACT_CONFIG: Incomplete
|
11
|
+
TO_REDACT_COORD: Incomplete
|
12
|
+
|
13
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES, IMAGE_CACHE_INTERVAL as IMAGE_CACHE_INTERVAL, MAP_SLEEP as MAP_SLEEP
|
3
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
4
|
+
from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from datetime import datetime
|
7
|
+
from homeassistant.components.image import ImageEntity as ImageEntity
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
from homeassistant.util import slugify as slugify
|
14
|
+
from vacuum_map_parser_base.config.drawable import Drawable as Drawable
|
15
|
+
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
|
18
|
+
class RoborockMap(RoborockCoordinatedEntityV1, ImageEntity):
|
19
|
+
_attr_has_entity_name: bool
|
20
|
+
image_last_updated: datetime
|
21
|
+
_attr_name: Incomplete
|
22
|
+
parser: Incomplete
|
23
|
+
_attr_image_last_updated: Incomplete
|
24
|
+
map_flag: Incomplete
|
25
|
+
cached_map: Incomplete
|
26
|
+
_attr_entity_category: Incomplete
|
27
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, map_flag: int, starting_map: bytes, map_name: str, drawables: list[Drawable]) -> None: ...
|
28
|
+
@property
|
29
|
+
def available(self) -> bool: ...
|
30
|
+
@property
|
31
|
+
def is_selected(self) -> bool: ...
|
32
|
+
def is_map_valid(self) -> bool: ...
|
33
|
+
def _handle_coordinator_update(self) -> None: ...
|
34
|
+
async def async_image(self) -> bytes | None: ...
|
35
|
+
def _create_image(self, map_bytes: bytes) -> bytes: ...
|
36
|
+
|
37
|
+
async def create_coordinator_maps(coord: RoborockDataUpdateCoordinator, drawables: list[Drawable]) -> list[RoborockMap]: ...
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, NetworkInfo as NetworkInfo
|
3
|
+
from roborock.roborock_typing import DeviceProp as DeviceProp
|
4
|
+
from typing import Any
|
5
|
+
|
6
|
+
@dataclass
|
7
|
+
class RoborockHassDeviceInfo:
|
8
|
+
device: HomeDataDevice
|
9
|
+
network_info: NetworkInfo
|
10
|
+
product: HomeDataProduct
|
11
|
+
props: DeviceProp
|
12
|
+
def as_dict(self) -> dict[str, dict[str, Any]]: ...
|
13
|
+
def __init__(self, device, network_info, product, props) -> None: ...
|
14
|
+
|
15
|
+
@dataclass
|
16
|
+
class RoborockA01HassDeviceInfo:
|
17
|
+
device: HomeDataDevice
|
18
|
+
product: HomeDataProduct
|
19
|
+
def as_dict(self) -> dict[str, dict[str, Any]]: ...
|
20
|
+
def __init__(self, device, product) -> None: ...
|
21
|
+
|
22
|
+
@dataclass
|
23
|
+
class RoborockMapInfo:
|
24
|
+
flag: int
|
25
|
+
name: str
|
26
|
+
rooms: dict[int, str]
|
27
|
+
def __init__(self, flag, name, rooms) -> None: ...
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
4
|
+
from .device import RoborockEntityV1 as RoborockEntityV1
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Callable as Callable, Coroutine
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
from homeassistant.util import slugify as slugify
|
14
|
+
from roborock.command_cache import CacheableAttribute
|
15
|
+
from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
|
16
|
+
from typing import Any
|
17
|
+
|
18
|
+
_LOGGER: Incomplete
|
19
|
+
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class RoborockNumberDescription(NumberEntityDescription):
|
22
|
+
cache_key: CacheableAttribute
|
23
|
+
update_value: Callable[[AttributeCache, float], Coroutine[Any, Any, None]]
|
24
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, cache_key, update_value) -> None: ...
|
25
|
+
|
26
|
+
NUMBER_DESCRIPTIONS: list[RoborockNumberDescription]
|
27
|
+
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
29
|
+
|
30
|
+
class RoborockNumberEntity(RoborockEntityV1, NumberEntity):
|
31
|
+
entity_description: RoborockNumberDescription
|
32
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockNumberDescription) -> None: ...
|
33
|
+
@property
|
34
|
+
def native_value(self) -> float | None: ...
|
35
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
4
|
+
from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Callable as Callable
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
from homeassistant.util import slugify as slugify
|
14
|
+
from roborock.containers import Status as Status
|
15
|
+
from roborock.roborock_message import RoborockDataProtocol
|
16
|
+
from roborock.roborock_typing import RoborockCommand
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class RoborockSelectDescription(SelectEntityDescription):
|
20
|
+
api_command: RoborockCommand
|
21
|
+
value_fn: Callable[[Status], str | None]
|
22
|
+
options_lambda: Callable[[Status], list[str] | None]
|
23
|
+
parameter_lambda: Callable[[str, Status], list[int]]
|
24
|
+
protocol_listener: RoborockDataProtocol | None = ...
|
25
|
+
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, api_command, value_fn, options_lambda, parameter_lambda, protocol_listener) -> None: ...
|
26
|
+
|
27
|
+
SELECT_DESCRIPTIONS: list[RoborockSelectDescription]
|
28
|
+
|
29
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
30
|
+
|
31
|
+
class RoborockSelectEntity(RoborockCoordinatedEntityV1, SelectEntity):
|
32
|
+
entity_description: RoborockSelectDescription
|
33
|
+
_attr_options: Incomplete
|
34
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockSelectDescription, options: list[str]) -> None: ...
|
35
|
+
async def async_select_option(self, option: str) -> None: ...
|
36
|
+
@property
|
37
|
+
def current_option(self) -> str | None: ...
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import datetime
|
2
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
3
|
+
from .const import DOMAIN as DOMAIN
|
4
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
|
5
|
+
from .device import RoborockCoordinatedEntityA01 as RoborockCoordinatedEntityA01, RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
|
6
|
+
from _typeshed import Incomplete
|
7
|
+
from collections.abc import Callable as Callable
|
8
|
+
from dataclasses import dataclass
|
9
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
10
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
|
+
from homeassistant.const import AREA_SQUARE_METERS as AREA_SQUARE_METERS, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
|
12
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
|
+
from homeassistant.helpers.typing import StateType as StateType
|
15
|
+
from homeassistant.util import slugify as slugify
|
16
|
+
from roborock.roborock_message import RoborockDataProtocol, RoborockDyadDataProtocol
|
17
|
+
from roborock.roborock_typing import DeviceProp as DeviceProp
|
18
|
+
|
19
|
+
@dataclass(frozen=True, kw_only=True)
|
20
|
+
class RoborockSensorDescription(SensorEntityDescription):
|
21
|
+
value_fn: Callable[[DeviceProp], StateType | datetime.datetime]
|
22
|
+
protocol_listener: RoborockDataProtocol | None = ...
|
23
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, protocol_listener) -> None: ...
|
24
|
+
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
26
|
+
class RoborockSensorDescriptionA01(SensorEntityDescription):
|
27
|
+
data_protocol: RoborockDyadDataProtocol
|
28
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, data_protocol) -> None: ...
|
29
|
+
|
30
|
+
def _dock_error_value_fn(properties: DeviceProp) -> str | None: ...
|
31
|
+
|
32
|
+
SENSOR_DESCRIPTIONS: Incomplete
|
33
|
+
A01_SENSOR_DESCRIPTIONS: list[RoborockSensorDescriptionA01]
|
34
|
+
|
35
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
36
|
+
|
37
|
+
class RoborockSensorEntity(RoborockCoordinatedEntityV1, SensorEntity):
|
38
|
+
entity_description: RoborockSensorDescription
|
39
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinator, description: RoborockSensorDescription) -> None: ...
|
40
|
+
@property
|
41
|
+
def native_value(self) -> StateType | datetime.datetime: ...
|
42
|
+
|
43
|
+
class RoborockSensorEntityA01(RoborockCoordinatedEntityA01, SensorEntity):
|
44
|
+
entity_description: RoborockSensorDescriptionA01
|
45
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinatorA01, description: RoborockSensorDescriptionA01) -> None: ...
|
46
|
+
@property
|
47
|
+
def native_value(self) -> StateType: ...
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
4
|
+
from .device import RoborockEntityV1 as RoborockEntityV1
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Callable as Callable, Coroutine
|
7
|
+
from dataclasses import dataclass
|
8
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
9
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
11
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
|
+
from homeassistant.util import slugify as slugify
|
14
|
+
from roborock.command_cache import CacheableAttribute
|
15
|
+
from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
|
16
|
+
from typing import Any
|
17
|
+
|
18
|
+
_LOGGER: Incomplete
|
19
|
+
|
20
|
+
@dataclass(frozen=True, kw_only=True)
|
21
|
+
class RoborockSwitchDescription(SwitchEntityDescription):
|
22
|
+
cache_key: CacheableAttribute
|
23
|
+
update_value: Callable[[AttributeCache, bool], Coroutine[Any, Any, None]]
|
24
|
+
attribute: str
|
25
|
+
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, cache_key, update_value, attribute) -> None: ...
|
26
|
+
|
27
|
+
SWITCH_DESCRIPTIONS: list[RoborockSwitchDescription]
|
28
|
+
|
29
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
30
|
+
|
31
|
+
class RoborockSwitch(RoborockEntityV1, SwitchEntity):
|
32
|
+
entity_description: RoborockSwitchDescription
|
33
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockSwitchDescription) -> None: ...
|
34
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
35
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
36
|
+
@property
|
37
|
+
def is_on(self) -> bool | None: ...
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import datetime
|
2
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
3
|
+
from .const import DOMAIN as DOMAIN
|
4
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
5
|
+
from .device import RoborockEntityV1 as RoborockEntityV1
|
6
|
+
from _typeshed import Incomplete
|
7
|
+
from collections.abc import Callable as Callable, Coroutine
|
8
|
+
from dataclasses import dataclass
|
9
|
+
from datetime import time
|
10
|
+
from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
|
11
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
|
+
from homeassistant.const import EntityCategory as EntityCategory
|
13
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
14
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from homeassistant.util import slugify as slugify
|
16
|
+
from roborock.command_cache import CacheableAttribute
|
17
|
+
from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
|
18
|
+
from typing import Any
|
19
|
+
|
20
|
+
_LOGGER: Incomplete
|
21
|
+
|
22
|
+
@dataclass(frozen=True, kw_only=True)
|
23
|
+
class RoborockTimeDescription(TimeEntityDescription):
|
24
|
+
cache_key: CacheableAttribute
|
25
|
+
update_value: Callable[[AttributeCache, datetime.time], Coroutine[Any, Any, None]]
|
26
|
+
get_value: Callable[[AttributeCache], datetime.time]
|
27
|
+
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, cache_key, update_value, get_value) -> None: ...
|
28
|
+
|
29
|
+
TIME_DESCRIPTIONS: list[RoborockTimeDescription]
|
30
|
+
|
31
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
32
|
+
|
33
|
+
class RoborockTimeEntity(RoborockEntityV1, TimeEntity):
|
34
|
+
entity_description: RoborockTimeDescription
|
35
|
+
def __init__(self, unique_id: str, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockTimeDescription) -> None: ...
|
36
|
+
@property
|
37
|
+
def native_value(self) -> time | None: ...
|
38
|
+
async def async_set_value(self, value: time) -> None: ...
|
@@ -0,0 +1,39 @@
|
|
1
|
+
from . import RoborockCoordinators as RoborockCoordinators
|
2
|
+
from .const import DOMAIN as DOMAIN, GET_MAPS_SERVICE_NAME as GET_MAPS_SERVICE_NAME
|
3
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
|
4
|
+
from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
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, VacuumEntityFeature as VacuumEntityFeature
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
9
|
+
from homeassistant.helpers import entity_platform as entity_platform
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from homeassistant.util import slugify as slugify
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
STATE_CODE_TO_STATE: Incomplete
|
15
|
+
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
|
18
|
+
class RoborockVacuum(RoborockCoordinatedEntityV1, StateVacuumEntity):
|
19
|
+
_attr_icon: str
|
20
|
+
_attr_supported_features: Incomplete
|
21
|
+
_attr_translation_key = DOMAIN
|
22
|
+
_attr_name: Incomplete
|
23
|
+
_attr_fan_speed_list: Incomplete
|
24
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinator) -> None: ...
|
25
|
+
@property
|
26
|
+
def state(self) -> str | None: ...
|
27
|
+
@property
|
28
|
+
def battery_level(self) -> int | None: ...
|
29
|
+
@property
|
30
|
+
def fan_speed(self) -> str | None: ...
|
31
|
+
async def async_start(self) -> None: ...
|
32
|
+
async def async_pause(self) -> None: ...
|
33
|
+
async def async_stop(self, **kwargs: Any) -> None: ...
|
34
|
+
async def async_return_to_base(self, **kwargs: Any) -> None: ...
|
35
|
+
async def async_clean_spot(self, **kwargs: Any) -> None: ...
|
36
|
+
async def async_locate(self, **kwargs: Any) -> None: ...
|
37
|
+
async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
|
38
|
+
async def async_send_command(self, command: str, params: dict[str, Any] | list[Any] | None = None, **kwargs: Any) -> None: ...
|
39
|
+
async def get_maps(self) -> ServiceResponse: ...
|
@@ -13,6 +13,7 @@ from homeassistant.const import ATTR_NAME as ATTR_NAME
|
|
13
13
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
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
|
_LOGGER: Incomplete
|
@@ -20,7 +21,7 @@ STREAM_FORMAT_TO_MEDIA_TYPE: Incomplete
|
|
20
21
|
ATTRS_TO_LAUNCH_PARAMS: Incomplete
|
21
22
|
ATTRS_TO_PLAY_ON_ROKU_PARAMS: Incomplete
|
22
23
|
ATTRS_TO_PLAY_ON_ROKU_AUDIO_PARAMS: Incomplete
|
23
|
-
SEARCH_SCHEMA:
|
24
|
+
SEARCH_SCHEMA: VolDictType
|
24
25
|
|
25
26
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
26
27
|
|
@@ -9,7 +9,7 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
|
|
9
9
|
from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
|
10
10
|
from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
|
11
11
|
from homeassistant.helpers.storage import Store as Store
|
12
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType
|
12
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
|
13
13
|
from typing import Any, Literal
|
14
14
|
|
15
15
|
STORAGE_VERSION: int
|
@@ -19,11 +19,11 @@ def valid_schedule(schedule: list[dict[str, str]]) -> list[dict[str, str]]: ...
|
|
19
19
|
def deserialize_to_time(value: Any) -> Any: ...
|
20
20
|
def serialize_to_time(value: Any) -> Any: ...
|
21
21
|
|
22
|
-
BASE_SCHEMA:
|
23
|
-
TIME_RANGE_SCHEMA:
|
22
|
+
BASE_SCHEMA: VolDictType
|
23
|
+
TIME_RANGE_SCHEMA: VolDictType
|
24
24
|
STORAGE_TIME_RANGE_SCHEMA: Incomplete
|
25
|
-
SCHEDULE_SCHEMA:
|
26
|
-
STORAGE_SCHEDULE_SCHEMA:
|
25
|
+
SCHEDULE_SCHEMA: VolDictType
|
26
|
+
STORAGE_SCHEDULE_SCHEMA: VolDictType
|
27
27
|
CONFIG_SCHEMA: Incomplete
|
28
28
|
STORAGE_SCHEMA: Incomplete
|
29
29
|
ENTITY_SCHEMA: Incomplete
|
@@ -1,12 +1,14 @@
|
|
1
1
|
from .const import ATTR_CYCLE as ATTR_CYCLE, ATTR_OPTION as ATTR_OPTION, ATTR_OPTIONS as ATTR_OPTIONS, DOMAIN as DOMAIN, SERVICE_SELECT_FIRST as SERVICE_SELECT_FIRST, SERVICE_SELECT_LAST as SERVICE_SELECT_LAST, SERVICE_SELECT_NEXT as SERVICE_SELECT_NEXT, SERVICE_SELECT_OPTION as SERVICE_SELECT_OPTION, SERVICE_SELECT_PREVIOUS as SERVICE_SELECT_PREVIOUS
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from functools import cached_property
|
4
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
5
4
|
from homeassistant.helpers.entity import Entity, EntityDescription
|
6
5
|
from typing import Any
|
7
6
|
|
8
7
|
__all__ = ['ATTR_CYCLE', 'ATTR_OPTION', 'ATTR_OPTIONS', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'SelectEntity', 'SelectEntityDescription', 'SERVICE_SELECT_FIRST', 'SERVICE_SELECT_LAST', 'SERVICE_SELECT_NEXT', 'SERVICE_SELECT_OPTION', 'SERVICE_SELECT_PREVIOUS']
|
9
8
|
|
9
|
+
PLATFORM_SCHEMA: Incomplete
|
10
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
11
|
+
|
10
12
|
class SelectEntityDescription(EntityDescription, frozen_or_thawed=True):
|
11
13
|
options: list[str] | None
|
12
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, options) -> None: ...
|
@@ -7,7 +7,6 @@ from decimal import Decimal
|
|
7
7
|
from functools import cached_property
|
8
8
|
from homeassistant.core import HomeAssistant
|
9
9
|
from homeassistant.helpers import entity_registry as er
|
10
|
-
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
11
10
|
from homeassistant.helpers.entity import Entity, EntityDescription
|
12
11
|
from homeassistant.helpers.entity_platform import EntityPlatform
|
13
12
|
from homeassistant.helpers.restore_state import ExtraStoredData, RestoreEntity
|
@@ -16,6 +15,9 @@ from typing import Any, Self
|
|
16
15
|
|
17
16
|
__all__ = ['ATTR_LAST_RESET', 'ATTR_OPTIONS', 'ATTR_STATE_CLASS', 'CONF_STATE_CLASS', 'DEVICE_CLASS_STATE_CLASSES', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'RestoreSensor', 'SensorDeviceClass', 'SensorEntity', 'SensorEntityDescription', 'SensorExtraStoredData', 'SensorStateClass']
|
18
17
|
|
18
|
+
PLATFORM_SCHEMA: Incomplete
|
19
|
+
PLATFORM_SCHEMA_BASE: Incomplete
|
20
|
+
|
19
21
|
class SensorEntityDescription(EntityDescription, frozen_or_thawed=True):
|
20
22
|
device_class: SensorDeviceClass | None
|
21
23
|
last_reset: datetime | None
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from enum import StrEnum
|
3
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
3
|
+
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
4
4
|
from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
|
5
|
-
from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
5
|
+
from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
6
6
|
from typing import Final
|
7
7
|
|
8
8
|
DOMAIN: Final[str]
|
@@ -21,6 +21,7 @@ class SensorDeviceClass(StrEnum):
|
|
21
21
|
BATTERY: str
|
22
22
|
CO: str
|
23
23
|
CO2: str
|
24
|
+
CONDUCTIVITY: str
|
24
25
|
CURRENT: str
|
25
26
|
DATA_RATE: str
|
26
27
|
DATA_SIZE: str
|
@@ -10,9 +10,8 @@ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONN
|
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
11
11
|
from typing import Final
|
12
12
|
|
13
|
-
|
13
|
+
PLATFORMS: Final[Incomplete]
|
14
14
|
BLOCK_SLEEPING_PLATFORMS: Final[Incomplete]
|
15
|
-
RPC_PLATFORMS: Final[Incomplete]
|
16
15
|
RPC_SLEEPING_PLATFORMS: Final[Incomplete]
|
17
16
|
COAP_SCHEMA: Final[Incomplete]
|
18
17
|
CONFIG_SCHEMA: Final[Incomplete]
|
@@ -85,12 +85,15 @@ class RpcClimate(ShellyRpcEntity, ClimateEntity):
|
|
85
85
|
_id: Incomplete
|
86
86
|
_thermostat_type: Incomplete
|
87
87
|
_attr_hvac_modes: Incomplete
|
88
|
+
_humidity_key: Incomplete
|
88
89
|
def __init__(self, coordinator: ShellyRpcCoordinator, id_: int) -> None: ...
|
89
90
|
@property
|
90
91
|
def target_temperature(self) -> float | None: ...
|
91
92
|
@property
|
92
93
|
def current_temperature(self) -> float | None: ...
|
93
94
|
@property
|
95
|
+
def current_humidity(self) -> float | None: ...
|
96
|
+
@property
|
94
97
|
def hvac_mode(self) -> HVACMode: ...
|
95
98
|
@property
|
96
99
|
def hvac_action(self) -> HVACAction: ...
|
@@ -16,11 +16,12 @@ from typing import Any
|
|
16
16
|
|
17
17
|
@dataclass
|
18
18
|
class ShellyEntryData:
|
19
|
+
platforms: list[Platform]
|
19
20
|
block: ShellyBlockCoordinator | None = ...
|
20
21
|
rest: ShellyRestCoordinator | None = ...
|
21
22
|
rpc: ShellyRpcCoordinator | None = ...
|
22
23
|
rpc_poll: ShellyRpcPollingCoordinator | None = ...
|
23
|
-
def __init__(self, block, rest, rpc, rpc_poll) -> None: ...
|
24
|
+
def __init__(self, platforms, block, rest, rpc, rpc_poll) -> None: ...
|
24
25
|
ShellyConfigEntry = ConfigEntry[ShellyEntryData]
|
25
26
|
|
26
27
|
class ShellyCoordinatorBase(DataUpdateCoordinator[None]):
|