homeassistant-stubs 2024.6.3__py3-none-any.whl → 2024.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +2 -0
- homeassistant-stubs/auth/auth_store.pyi +1 -0
- homeassistant-stubs/auth/providers/homeassistant.pyi +10 -2
- homeassistant-stubs/block_async_io.pyi +23 -0
- homeassistant-stubs/bootstrap.pyi +4 -3
- homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
- homeassistant-stubs/components/accuweather/weather.pyi +1 -1
- homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
- homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
- homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
- homeassistant-stubs/components/airgradient/button.pyi +28 -0
- homeassistant-stubs/components/airgradient/const.pyi +2 -0
- homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
- homeassistant-stubs/components/airgradient/number.pyi +32 -0
- homeassistant-stubs/components/airgradient/select.pyi +14 -12
- homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
- homeassistant-stubs/components/airgradient/switch.pyi +33 -0
- homeassistant-stubs/components/airnow/const.pyi +1 -0
- homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
- homeassistant-stubs/components/airnow/sensor.pyi +1 -2
- homeassistant-stubs/components/airzone/__init__.pyi +4 -4
- homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/airzone/climate.pyi +3 -2
- homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone/entity.pyi +2 -1
- homeassistant-stubs/components/airzone/select.pyi +2 -2
- homeassistant-stubs/components/airzone/sensor.pyi +3 -2
- homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
- homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
- homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
- homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
- homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
- homeassistant-stubs/components/aladdin_connect/__init__.pyi +4 -13
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +3 -16
- homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
- homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
- homeassistant-stubs/components/alexa/entities.pyi +25 -24
- homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
- homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
- homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
- homeassistant-stubs/components/androidtv/entity.pyi +1 -0
- homeassistant-stubs/components/androidtv/remote.pyi +21 -0
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
- homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
- homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
- homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
- homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
- homeassistant-stubs/components/apprise/notify.pyi +2 -1
- homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
- homeassistant-stubs/components/apsystems/entity.pyi +10 -0
- homeassistant-stubs/components/apsystems/number.pyi +25 -0
- homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
- homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
- homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
- homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
- homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
- homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
- homeassistant-stubs/components/automation/__init__.pyi +10 -5
- homeassistant-stubs/components/automation/config.pyi +11 -1
- homeassistant-stubs/components/automation/trace.pyi +2 -2
- homeassistant-stubs/components/axis/config_flow.pyi +1 -0
- homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/baf/entity.pyi +6 -1
- homeassistant-stubs/components/baf/number.pyi +2 -4
- homeassistant-stubs/components/baf/sensor.pyi +2 -4
- homeassistant-stubs/components/baf/switch.pyi +2 -4
- homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
- homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
- homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
- homeassistant-stubs/components/blueprint/errors.pyi +1 -1
- homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
- homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
- homeassistant-stubs/components/brother/config_flow.pyi +9 -1
- homeassistant-stubs/components/button/__init__.pyi +4 -3
- homeassistant-stubs/components/calendar/__init__.pyi +2 -4
- homeassistant-stubs/components/camera/__init__.pyi +8 -7
- homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
- homeassistant-stubs/components/clickatell/notify.pyi +2 -1
- homeassistant-stubs/components/clicksend/notify.pyi +2 -1
- homeassistant-stubs/components/climate/__init__.pyi +5 -4
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/account_link.pyi +1 -1
- homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/cloud/const.pyi +6 -1
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/repairs.pyi +1 -3
- homeassistant-stubs/components/cloud/stt.pyi +1 -1
- homeassistant-stubs/components/cloud/system_health.pyi +1 -3
- homeassistant-stubs/components/cloud/tts.pyi +1 -1
- homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
- homeassistant-stubs/components/config/scene.pyi +3 -1
- homeassistant-stubs/components/counter/__init__.pyi +2 -2
- homeassistant-stubs/components/cover/__init__.pyi +3 -2
- homeassistant-stubs/components/demo/tts.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
- homeassistant-stubs/components/derivative/sensor.pyi +3 -1
- homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
- homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
- homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
- homeassistant-stubs/components/dnsip/const.pyi +2 -0
- homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +5 -5
- homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
- homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
- homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
- homeassistant-stubs/components/ecovacs/event.pyi +3 -3
- homeassistant-stubs/components/ecovacs/image.pyi +2 -2
- homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +3 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
- homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
- homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
- homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/efergy/__init__.pyi +3 -2
- homeassistant-stubs/components/efergy/sensor.pyi +3 -4
- homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
- homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
- homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
- homeassistant-stubs/components/electrasmart/const.pyi +10 -0
- homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
- homeassistant-stubs/components/elkm1/const.pyi +2 -1
- homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
- homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
- homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
- homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
- homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
- homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -5
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
- homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/esphome/button.pyi +3 -5
- homeassistant-stubs/components/esphome/camera.pyi +3 -5
- homeassistant-stubs/components/esphome/climate.pyi +3 -6
- homeassistant-stubs/components/esphome/cover.pyi +3 -5
- homeassistant-stubs/components/esphome/date.pyi +3 -5
- homeassistant-stubs/components/esphome/datetime.pyi +3 -5
- homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
- homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
- homeassistant-stubs/components/esphome/entity.pyi +2 -4
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
- homeassistant-stubs/components/esphome/event.pyi +3 -5
- homeassistant-stubs/components/esphome/fan.pyi +3 -6
- homeassistant-stubs/components/esphome/light.pyi +3 -6
- homeassistant-stubs/components/esphome/lock.pyi +3 -5
- homeassistant-stubs/components/esphome/manager.pyi +4 -5
- homeassistant-stubs/components/esphome/media_player.pyi +3 -5
- homeassistant-stubs/components/esphome/number.pyi +3 -5
- homeassistant-stubs/components/esphome/select.pyi +2 -4
- homeassistant-stubs/components/esphome/switch.pyi +3 -5
- homeassistant-stubs/components/esphome/text.pyi +3 -5
- homeassistant-stubs/components/esphome/time.pyi +3 -5
- homeassistant-stubs/components/esphome/update.pyi +23 -2
- homeassistant-stubs/components/esphome/valve.pyi +3 -5
- homeassistant-stubs/components/event/__init__.pyi +3 -1
- homeassistant-stubs/components/evohome/__init__.pyi +8 -49
- homeassistant-stubs/components/evohome/climate.pyi +2 -2
- homeassistant-stubs/components/evohome/const.pyi +39 -16
- homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
- homeassistant-stubs/components/evohome/helpers.pyi +13 -0
- homeassistant-stubs/components/fan/__init__.pyi +3 -2
- homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
- homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
- homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
- homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
- homeassistant-stubs/components/feedreader/const.pyi +5 -0
- homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
- homeassistant-stubs/components/filter/sensor.pyi +2 -1
- homeassistant-stubs/components/flux_led/light.pyi +4 -3
- homeassistant-stubs/components/fritz/switch.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
- homeassistant-stubs/components/fritzbox/switch.pyi +3 -0
- homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
- homeassistant-stubs/components/frontend/__init__.pyi +9 -4
- homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
- homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
- homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
- homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
- homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
- homeassistant-stubs/components/glances/__init__.pyi +3 -2
- homeassistant-stubs/components/glances/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
- homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
- homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
- homeassistant-stubs/components/goalzero/switch.pyi +2 -3
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
- homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
- homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
- homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
- homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/group/cover.pyi +2 -1
- homeassistant-stubs/components/group/entity.pyi +2 -2
- homeassistant-stubs/components/group/event.pyi +2 -1
- homeassistant-stubs/components/group/fan.pyi +2 -1
- homeassistant-stubs/components/group/light.pyi +2 -1
- homeassistant-stubs/components/group/lock.pyi +2 -1
- homeassistant-stubs/components/group/media_player.pyi +2 -1
- homeassistant-stubs/components/group/notify.pyi +2 -1
- homeassistant-stubs/components/group/registry.pyi +8 -2
- homeassistant-stubs/components/group/switch.pyi +2 -1
- homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
- homeassistant-stubs/components/homeassistant/const.pyi +3 -1
- homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
- homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
- homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
- homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
- homeassistant-stubs/components/http/__init__.pyi +20 -3
- homeassistant-stubs/components/http/cors.pyi +1 -1
- homeassistant-stubs/components/http/data_validator.pyi +2 -1
- homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
- homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
- homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
- homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
- homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
- homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
- homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +6 -1
- homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
- homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
- homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
- homeassistant-stubs/components/image/__init__.pyi +3 -2
- homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
- homeassistant-stubs/components/imap/__init__.pyi +5 -4
- homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
- homeassistant-stubs/components/imap/sensor.pyi +5 -5
- homeassistant-stubs/components/input_button/__init__.pyi +3 -4
- homeassistant-stubs/components/input_select/__init__.pyi +2 -2
- homeassistant-stubs/components/input_text/__init__.pyi +3 -4
- homeassistant-stubs/components/integration/__init__.pyi +2 -0
- homeassistant-stubs/components/integration/config_flow.pyi +1 -1
- homeassistant-stubs/components/integration/const.pyi +1 -0
- homeassistant-stubs/components/integration/sensor.pyi +33 -12
- homeassistant-stubs/components/intent/timers.pyi +7 -3
- homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
- homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/services.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
- homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
- homeassistant-stubs/components/knocki/__init__.pyi +12 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
- homeassistant-stubs/components/knocki/const.pyi +4 -0
- homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
- homeassistant-stubs/components/knocki/event.pyi +26 -0
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
- homeassistant-stubs/components/knx/trigger.pyi +2 -3
- homeassistant-stubs/components/knx/websocket.pyi +1 -0
- homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
- homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
- homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
- homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
- homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
- homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
- homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
- homeassistant-stubs/components/lamarzocco/switch.pyi +21 -6
- homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
- homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
- homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
- homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
- homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
- homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/light.pyi +3 -2
- homeassistant-stubs/components/light/__init__.pyi +8 -6
- homeassistant-stubs/components/light/device_action.pyi +1 -1
- homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
- homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/button.pyi +2 -4
- homeassistant-stubs/components/litterrobot/select.pyi +2 -3
- homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
- homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
- homeassistant-stubs/components/litterrobot/time.pyi +2 -4
- homeassistant-stubs/components/litterrobot/update.pyi +3 -4
- homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
- homeassistant-stubs/components/lock/__init__.pyi +4 -3
- homeassistant-stubs/components/logbook/processor.pyi +4 -3
- homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
- homeassistant-stubs/components/mastodon/notify.pyi +2 -1
- homeassistant-stubs/components/matrix/notify.pyi +2 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/discovery.pyi +3 -3
- homeassistant-stubs/components/matter/entity.pyi +8 -1
- homeassistant-stubs/components/matter/event.pyi +0 -2
- homeassistant-stubs/components/matter/fan.pyi +2 -2
- homeassistant-stubs/components/matter/lock.pyi +1 -0
- homeassistant-stubs/components/matter/models.pyi +1 -2
- homeassistant-stubs/components/matter/number.pyi +24 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/media_player/__init__.pyi +3 -2
- homeassistant-stubs/components/media_player/intent.pyi +2 -1
- homeassistant-stubs/components/mikrotik/__init__.pyi +2 -1
- homeassistant-stubs/components/mikrotik/device_tracker.pyi +2 -3
- homeassistant-stubs/components/min_max/sensor.pyi +2 -1
- homeassistant-stubs/components/modbus/sensor.pyi +2 -2
- homeassistant-stubs/components/monzo/config_flow.pyi +5 -1
- homeassistant-stubs/components/monzo/coordinator.pyi +1 -0
- homeassistant-stubs/components/motionmount/select.pyi +5 -2
- homeassistant-stubs/components/mqtt/async_client.pyi +22 -0
- homeassistant-stubs/components/mqtt/client.pyi +13 -28
- homeassistant-stubs/components/mqtt/climate.pyi +2 -3
- homeassistant-stubs/components/mqtt/cover.pyi +2 -3
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -3
- homeassistant-stubs/components/mqtt/event.pyi +2 -3
- homeassistant-stubs/components/mqtt/fan.pyi +2 -3
- homeassistant-stubs/components/mqtt/humidifier.pyi +2 -3
- homeassistant-stubs/components/mqtt/image.pyi +2 -3
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -3
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -3
- homeassistant-stubs/components/mqtt/mixins.pyi +4 -4
- homeassistant-stubs/components/mqtt/models.pyi +2 -3
- homeassistant-stubs/components/mqtt/number.pyi +2 -3
- homeassistant-stubs/components/mqtt/select.pyi +2 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +2 -3
- homeassistant-stubs/components/mqtt/siren.pyi +2 -3
- homeassistant-stubs/components/mqtt/text.pyi +2 -3
- homeassistant-stubs/components/mqtt/update.pyi +2 -3
- homeassistant-stubs/components/mqtt/util.pyi +23 -2
- homeassistant-stubs/components/mqtt/vacuum.pyi +2 -3
- homeassistant-stubs/components/mqtt/valve.pyi +2 -3
- homeassistant-stubs/components/mqtt/water_heater.pyi +2 -3
- homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
- homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +4 -1
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/myuplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/myuplink/number.pyi +2 -4
- homeassistant-stubs/components/myuplink/sensor.pyi +3 -5
- homeassistant-stubs/components/myuplink/switch.pyi +2 -4
- homeassistant-stubs/components/myuplink/update.pyi +2 -4
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +1 -1
- homeassistant-stubs/components/nanoleaf/__init__.pyi +6 -14
- homeassistant-stubs/components/nanoleaf/button.pyi +4 -7
- homeassistant-stubs/components/nanoleaf/coordinator.pyi +12 -0
- homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -0
- homeassistant-stubs/components/nanoleaf/diagnostics.pyi +2 -4
- homeassistant-stubs/components/nanoleaf/entity.pyi +4 -4
- homeassistant-stubs/components/nanoleaf/event.pyi +18 -0
- homeassistant-stubs/components/nanoleaf/light.pyi +4 -7
- homeassistant-stubs/components/number/__init__.pyi +3 -1
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/overkiz/water_heater.pyi +2 -1
- homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +2 -0
- homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +32 -0
- homeassistant-stubs/components/ping/binary_sensor.pyi +2 -8
- homeassistant-stubs/components/ping/config_flow.pyi +2 -4
- homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
- homeassistant-stubs/components/plugwise/button.pyi +20 -0
- homeassistant-stubs/components/plugwise/const.pyi +3 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
- homeassistant-stubs/components/plugwise/number.pyi +2 -4
- homeassistant-stubs/components/plugwise/select.pyi +3 -5
- homeassistant-stubs/components/prometheus/__init__.pyi +1 -1
- homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
- homeassistant-stubs/components/radarr/__init__.pyi +14 -2
- homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/radarr/calendar.pyi +2 -4
- homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
- homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
- homeassistant-stubs/components/radarr/sensor.pyi +2 -4
- homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/const.pyi +3 -1
- homeassistant-stubs/components/recorder/core.pyi +2 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
- homeassistant-stubs/components/recorder/purge.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +7 -4
- homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
- homeassistant-stubs/components/recorder/util.pyi +4 -3
- homeassistant-stubs/components/remote/__init__.pyi +5 -4
- homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/rest/notify.pyi +2 -1
- homeassistant-stubs/components/rest/sensor.pyi +2 -1
- homeassistant-stubs/components/rest/switch.pyi +2 -1
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
- homeassistant-stubs/components/roborock/__init__.pyi +30 -0
- homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/roborock/button.pyi +28 -0
- homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
- homeassistant-stubs/components/roborock/const.pyi +13 -0
- homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
- homeassistant-stubs/components/roborock/device.pyi +53 -0
- homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
- homeassistant-stubs/components/roborock/image.pyi +37 -0
- homeassistant-stubs/components/roborock/models.pyi +27 -0
- homeassistant-stubs/components/roborock/number.pyi +35 -0
- homeassistant-stubs/components/roborock/select.pyi +37 -0
- homeassistant-stubs/components/roborock/sensor.pyi +47 -0
- homeassistant-stubs/components/roborock/switch.pyi +37 -0
- homeassistant-stubs/components/roborock/time.pyi +38 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
- homeassistant-stubs/components/roku/media_player.pyi +2 -1
- homeassistant-stubs/components/schedule/__init__.pyi +5 -5
- homeassistant-stubs/components/select/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/__init__.pyi +3 -1
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -2
- homeassistant-stubs/components/shelly/climate.pyi +3 -0
- homeassistant-stubs/components/shelly/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
- homeassistant-stubs/components/shelly/switch.pyi +2 -18
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
- homeassistant-stubs/components/siren/__init__.pyi +4 -3
- homeassistant-stubs/components/sql/sensor.pyi +2 -1
- homeassistant-stubs/components/starlink/const.pyi +1 -0
- homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
- homeassistant-stubs/components/statistics/__init__.pyi +8 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
- homeassistant-stubs/components/statistics/sensor.pyi +7 -2
- homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
- homeassistant-stubs/components/stream/worker.pyi +3 -2
- homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
- homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
- homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
- homeassistant-stubs/components/switch/__init__.pyi +4 -3
- homeassistant-stubs/components/switch/light.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
- homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/const.pyi +1 -0
- homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -1
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
- homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
- homeassistant-stubs/components/tag/__init__.pyi +4 -5
- homeassistant-stubs/components/tami4/__init__.pyi +1 -1
- homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
- homeassistant-stubs/components/tami4/sensor.pyi +3 -3
- homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
- homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
- homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
- homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
- homeassistant-stubs/components/tibber/__init__.pyi +1 -0
- homeassistant-stubs/components/tibber/sensor.pyi +12 -6
- homeassistant-stubs/components/tibber/services.pyi +15 -0
- homeassistant-stubs/components/time_date/sensor.pyi +3 -3
- homeassistant-stubs/components/timer/__init__.pyi +2 -2
- homeassistant-stubs/components/todo/__init__.pyi +3 -2
- homeassistant-stubs/components/tplink/__init__.pyi +14 -8
- homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/tplink/button.pyi +22 -0
- homeassistant-stubs/components/tplink/climate.pyi +42 -0
- homeassistant-stubs/components/tplink/config_flow.pyi +5 -5
- homeassistant-stubs/components/tplink/const.pyi +5 -1
- homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
- homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
- homeassistant-stubs/components/tplink/entity.pyi +49 -7
- homeassistant-stubs/components/tplink/fan.pyi +31 -0
- homeassistant-stubs/components/tplink/light.pyi +20 -19
- homeassistant-stubs/components/tplink/number.pyi +27 -0
- homeassistant-stubs/components/tplink/select.pyi +26 -0
- homeassistant-stubs/components/tplink/sensor.pyi +12 -23
- homeassistant-stubs/components/tplink/switch.pyi +12 -35
- homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
- homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
- homeassistant-stubs/components/transmission/__init__.pyi +9 -3
- homeassistant-stubs/components/transmission/sensor.pyi +2 -2
- homeassistant-stubs/components/transmission/switch.pyi +2 -4
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
- homeassistant-stubs/components/tts/notify.pyi +2 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
- homeassistant-stubs/components/unifi/sensor.pyi +2 -1
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
- homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
- homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
- homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
- homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
- homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
- homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
- homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
- homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
- homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
- homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
- homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
- homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
- homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
- homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
- homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
- homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
- homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
- homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
- homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
- homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
- homeassistant-stubs/components/update/__init__.pyi +3 -1
- homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
- homeassistant-stubs/components/vallox/sensor.pyi +5 -1
- homeassistant-stubs/components/valve/__init__.pyi +3 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
- homeassistant-stubs/components/weather/__init__.pyi +4 -5
- homeassistant-stubs/components/webhook/__init__.pyi +1 -1
- homeassistant-stubs/components/webostv/__init__.pyi +7 -0
- homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
- homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
- homeassistant-stubs/components/wemo/entity.pyi +2 -2
- homeassistant-stubs/components/wemo/fan.pyi +2 -1
- homeassistant-stubs/components/withings/coordinator.pyi +3 -3
- homeassistant-stubs/components/withings/sensor.pyi +6 -2
- homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
- homeassistant-stubs/components/zone/__init__.pyi +3 -3
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +1 -5
- homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
- homeassistant-stubs/components/zwave_js/const.pyi +5 -0
- homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
- homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
- homeassistant-stubs/components/zwave_js/services.pyi +3 -2
- homeassistant-stubs/config.pyi +4 -5
- homeassistant-stubs/config_entries.pyi +6 -3
- homeassistant-stubs/const.pyi +9 -3
- homeassistant-stubs/core.pyi +15 -10
- homeassistant-stubs/data_entry_flow.pyi +12 -2
- homeassistant-stubs/exceptions.pyi +6 -5
- homeassistant-stubs/helpers/__init__.pyi +0 -5
- homeassistant-stubs/helpers/collection.pyi +14 -11
- homeassistant-stubs/helpers/condition.pyi +3 -2
- homeassistant-stubs/helpers/config_validation.pyi +5 -4
- homeassistant-stubs/helpers/deprecation.pyi +10 -0
- homeassistant-stubs/helpers/device.pyi +8 -0
- homeassistant-stubs/helpers/device_registry.pyi +14 -2
- homeassistant-stubs/helpers/entity.pyi +3 -2
- homeassistant-stubs/helpers/entity_component.pyi +3 -4
- homeassistant-stubs/helpers/entity_platform.pyi +2 -3
- homeassistant-stubs/helpers/event.pyi +10 -4
- homeassistant-stubs/helpers/frame.pyi +1 -0
- homeassistant-stubs/helpers/http.pyi +1 -1
- homeassistant-stubs/helpers/intent.pyi +6 -4
- homeassistant-stubs/helpers/llm.pyi +17 -3
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
- homeassistant-stubs/helpers/script.pyi +3 -2
- homeassistant-stubs/helpers/selector.pyi +10 -8
- homeassistant-stubs/helpers/service.pyi +6 -3
- homeassistant-stubs/helpers/template.pyi +8 -6
- homeassistant-stubs/helpers/trace.pyi +3 -2
- homeassistant-stubs/helpers/typing.pyi +6 -1
- homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
- homeassistant-stubs/loader.pyi +1 -2
- homeassistant-stubs/requirements.pyi +0 -3
- homeassistant-stubs/setup.pyi +4 -3
- homeassistant-stubs/util/loop.pyi +5 -1
- homeassistant-stubs/util/unit_conversion.pyi +7 -1
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +599 -562
- homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
- homeassistant-stubs/components/air_quality/group.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
- homeassistant-stubs/components/aladdin_connect/const.pyi +0 -3
- homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
- homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -25
- homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
- homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -27
- homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
- homeassistant-stubs/components/climate/group.pyi +0 -6
- homeassistant-stubs/components/cover/group.pyi +0 -6
- homeassistant-stubs/components/device_tracker/group.pyi +0 -6
- homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
- homeassistant-stubs/components/lock/group.pyi +0 -6
- homeassistant-stubs/components/media_player/group.pyi +0 -6
- homeassistant-stubs/components/sensor/group.pyi +0 -5
- homeassistant-stubs/components/vacuum/group.pyi +0 -6
- homeassistant-stubs/components/water_heater/group.pyi +0 -6
- homeassistant-stubs/components/weather/group.pyi +0 -5
- homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
import httpx
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.components.notify import ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET, ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService
|
3
|
+
from homeassistant.components.notify import ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET, ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService
|
4
4
|
from homeassistant.const import CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_HEADERS as CONF_HEADERS, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_PARAMS as CONF_PARAMS, CONF_PASSWORD as CONF_PASSWORD, CONF_RESOURCE as CONF_RESOURCE, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, HTTP_DIGEST_AUTHENTICATION as HTTP_DIGEST_AUTHENTICATION
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
@@ -16,6 +16,7 @@ CONF_TITLE_PARAMETER_NAME: str
|
|
16
16
|
DEFAULT_MESSAGE_PARAM_NAME: str
|
17
17
|
DEFAULT_METHOD: str
|
18
18
|
DEFAULT_VERIFY_SSL: bool
|
19
|
+
PLATFORM_SCHEMA: Incomplete
|
19
20
|
_LOGGER: Incomplete
|
20
21
|
|
21
22
|
async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> RestNotificationService: ...
|
@@ -5,7 +5,7 @@ from .entity import RestEntity as RestEntity
|
|
5
5
|
from .schema import RESOURCE_SCHEMA as RESOURCE_SCHEMA, SENSOR_SCHEMA as SENSOR_SCHEMA
|
6
6
|
from .util import parse_json_attributes as parse_json_attributes
|
7
7
|
from _typeshed import Incomplete
|
8
|
-
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS,
|
8
|
+
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass
|
9
9
|
from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
|
10
10
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE, CONF_RESOURCE_TEMPLATE as CONF_RESOURCE_TEMPLATE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -18,6 +18,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
18
18
|
from typing import Any
|
19
19
|
|
20
20
|
_LOGGER: Incomplete
|
21
|
+
PLATFORM_SCHEMA: Incomplete
|
21
22
|
TRIGGER_ENTITY_OPTIONS: Incomplete
|
22
23
|
|
23
24
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import httpx
|
2
2
|
from _typeshed import Incomplete
|
3
|
-
from homeassistant.components.switch import DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA,
|
3
|
+
from homeassistant.components.switch import DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, SwitchEntity as SwitchEntity
|
4
4
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_HEADERS as CONF_HEADERS, CONF_ICON as CONF_ICON, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_PARAMS as CONF_PARAMS, CONF_PASSWORD as CONF_PASSWORD, CONF_RESOURCE as CONF_RESOURCE, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
@@ -24,6 +24,7 @@ DEFAULT_NAME: str
|
|
24
24
|
DEFAULT_TIMEOUT: int
|
25
25
|
DEFAULT_VERIFY_SSL: bool
|
26
26
|
SUPPORT_REST_METHODS: Incomplete
|
27
|
+
PLATFORM_SCHEMA: Incomplete
|
27
28
|
|
28
29
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
29
30
|
|
@@ -8,6 +8,7 @@ from homeassistant.core import Event as Event, EventStateChangedData as EventSta
|
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
9
|
from homeassistant.helpers import device_registry as dr
|
10
10
|
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
11
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType
|
11
12
|
from typing import Any, TypedDict
|
12
13
|
|
13
14
|
CONF_EVENT_CODE: str
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from .const import CONF_BASE_URL as CONF_BASE_URL, CONF_USER_DATA as CONF_USER_DATA, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
|
2
|
+
from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Coroutine
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.const import CONF_USERNAME as CONF_USERNAME
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
10
|
+
from roborock import HomeDataRoom as HomeDataRoom
|
11
|
+
from roborock.containers import HomeDataDevice as HomeDataDevice, HomeDataProduct as HomeDataProduct, UserData
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
SCAN_INTERVAL: Incomplete
|
15
|
+
_LOGGER: Incomplete
|
16
|
+
|
17
|
+
@dataclass
|
18
|
+
class RoborockCoordinators:
|
19
|
+
v1: list[RoborockDataUpdateCoordinator]
|
20
|
+
a01: list[RoborockDataUpdateCoordinatorA01]
|
21
|
+
def values(self) -> list[RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01]: ...
|
22
|
+
def __init__(self, v1, a01) -> None: ...
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
25
|
+
def build_setup_functions(hass: HomeAssistant, device_map: dict[str, HomeDataDevice], user_data: UserData, product_info: dict[str, HomeDataProduct], home_data_rooms: list[HomeDataRoom]) -> list[Coroutine[Any, Any, RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None]]: ...
|
26
|
+
async def setup_device(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom]) -> RoborockDataUpdateCoordinator | RoborockDataUpdateCoordinatorA01 | None: ...
|
27
|
+
async def setup_device_v1(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom]) -> RoborockDataUpdateCoordinator | None: ...
|
28
|
+
async def setup_device_a01(hass: HomeAssistant, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct) -> RoborockDataUpdateCoordinatorA01 | None: ...
|
29
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
30
|
+
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
@@ -0,0 +1,29 @@
|
|
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.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
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.roborock_typing import DeviceProp as DeviceProp
|
15
|
+
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class RoborockBinarySensorDescription(BinarySensorEntityDescription):
|
18
|
+
value_fn: Callable[[DeviceProp], bool | int | None]
|
19
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn) -> None: ...
|
20
|
+
|
21
|
+
BINARY_SENSOR_DESCRIPTIONS: Incomplete
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class RoborockBinarySensorEntity(RoborockCoordinatedEntityV1, BinarySensorEntity):
|
26
|
+
entity_description: RoborockBinarySensorDescription
|
27
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinator, description: RoborockBinarySensorDescription) -> None: ...
|
28
|
+
@property
|
29
|
+
def is_on(self) -> bool: ...
|
@@ -0,0 +1,28 @@
|
|
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 dataclasses import dataclass
|
7
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
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.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
from homeassistant.util import slugify as slugify
|
13
|
+
from roborock.roborock_typing import RoborockCommand
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class RoborockButtonDescription(ButtonEntityDescription):
|
17
|
+
command: RoborockCommand
|
18
|
+
param: list | dict | None
|
19
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, command, param) -> None: ...
|
20
|
+
|
21
|
+
CONSUMABLE_BUTTON_DESCRIPTIONS: Incomplete
|
22
|
+
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class RoborockButtonEntity(RoborockEntityV1, ButtonEntity):
|
26
|
+
entity_description: RoborockButtonDescription
|
27
|
+
def __init__(self, coordinator: RoborockDataUpdateCoordinator, entity_description: RoborockButtonDescription) -> None: ...
|
28
|
+
async def async_press(self) -> None: ...
|
@@ -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
|
|