mirror of
https://github.com/home-assistant/core.git
synced 2026-09-25 17:04:04 -04:00
Update Roborock dynamic dock support (#176686)
This commit is contained in:
@@ -98,7 +98,9 @@ BINARY_SENSOR_DESCRIPTIONS = [
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value_fn=lambda data: data.status.dirty_water_box_status,
|
||||
is_dock_entity=True,
|
||||
support_fn=lambda api: api.wash_towel_mode is not None,
|
||||
support_fn=lambda api: api.device_features.is_field_supported(
|
||||
StatusV2, StatusField.DIRTY_WATER_BOX_STATUS
|
||||
),
|
||||
),
|
||||
RoborockBinarySensorDescription(
|
||||
key="clean_box_empty",
|
||||
@@ -107,7 +109,9 @@ BINARY_SENSOR_DESCRIPTIONS = [
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value_fn=lambda data: data.status.clear_water_box_status,
|
||||
is_dock_entity=True,
|
||||
support_fn=lambda api: api.wash_towel_mode is not None,
|
||||
support_fn=lambda api: api.device_features.is_field_supported(
|
||||
StatusV2, StatusField.CLEAR_WATER_BOX_STATUS
|
||||
),
|
||||
),
|
||||
RoborockBinarySensorDescription(
|
||||
key="clean_fluid_empty",
|
||||
@@ -120,9 +124,8 @@ BINARY_SENSOR_DESCRIPTIONS = [
|
||||
else None
|
||||
),
|
||||
is_dock_entity=True,
|
||||
support_fn=lambda api: (
|
||||
api.wash_towel_mode is not None
|
||||
and api.device_features.is_clean_fluid_delivery_supported
|
||||
support_fn=lambda api: api.device_features.is_field_supported(
|
||||
StatusV2, StatusField.CLEAN_FLUID_STATUS
|
||||
),
|
||||
),
|
||||
RoborockBinarySensorDescription(
|
||||
|
||||
@@ -19,6 +19,7 @@ from roborock.data import (
|
||||
ZeoState,
|
||||
)
|
||||
from roborock.data.b01_q10.b01_q10_code_mappings import YXDeviceState
|
||||
from roborock.data.v1.v1_containers import StatusField, StatusV2
|
||||
from roborock.devices.traits.b01.q10.status import StatusTrait as Q10StatusTrait
|
||||
from roborock.devices.traits.v1 import PropertiesApi
|
||||
from roborock.roborock_message import RoborockDyadDataProtocol, RoborockZeoProtocol
|
||||
@@ -259,9 +260,9 @@ SENSOR_DESCRIPTIONS = [
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
options=RoborockDockErrorCode.keys(),
|
||||
is_dock_entity=True,
|
||||
# Only available with more than just the basic dock. Dust collection
|
||||
# mode is a proxy for any more complex dock type (e.g. Auto-empty).
|
||||
support_fn=lambda api: api.dust_collection_mode is not None,
|
||||
support_fn=lambda api: api.device_features.is_field_supported(
|
||||
StatusV2, StatusField.DOCK_ERROR_STATUS
|
||||
),
|
||||
),
|
||||
RoborockSensorDescription(
|
||||
key="mop_clean_remaining",
|
||||
|
||||
@@ -357,7 +357,6 @@ def make_device_features() -> Mock:
|
||||
device_features = MagicMock(spec=DeviceFeaturesTrait)
|
||||
device_features.is_supported_drying = True
|
||||
device_features.is_support_water_mode = True
|
||||
device_features.is_clean_fluid_delivery_supported = True
|
||||
device_features.is_support_clean_estimate = True
|
||||
device_features.is_clean_route_setting_supported = True
|
||||
device_features.is_field_supported.return_value = True
|
||||
|
||||
Reference in New Issue
Block a user