Fix Roborock Sensor test failing (#93488)

fix roborock sensors
This commit is contained in:
Luke 2023-05-24 15:35:05 -04:00 committed by GitHub
parent f5a235beee
commit 46c63dd70b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,7 +4,7 @@ from __future__ import annotations
from collections.abc import Callable from collections.abc import Callable
from dataclasses import dataclass from dataclasses import dataclass
from roborock.typing import DeviceProp from roborock.roborock_typing import DeviceProp
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
SensorDeviceClass, SensorDeviceClass,
@ -21,7 +21,6 @@ from homeassistant.util import slugify
from .const import DOMAIN from .const import DOMAIN
from .coordinator import RoborockDataUpdateCoordinator from .coordinator import RoborockDataUpdateCoordinator
from .device import RoborockCoordinatedEntity from .device import RoborockCoordinatedEntity
from .models import RoborockHassDeviceInfo
@dataclass @dataclass
@ -84,18 +83,16 @@ async def async_setup_entry(
async_add_entities: AddEntitiesCallback, async_add_entities: AddEntitiesCallback,
) -> None: ) -> None:
"""Set up the Roborock vacuum sensors.""" """Set up the Roborock vacuum sensors."""
coordinator: RoborockDataUpdateCoordinator = hass.data[DOMAIN][ coordinators: dict[str, RoborockDataUpdateCoordinator] = hass.data[DOMAIN][
config_entry.entry_id config_entry.entry_id
] ]
async_add_entities( async_add_entities(
RoborockSensorEntity( RoborockSensorEntity(
f"{description.key}_{slugify(device_id)}", f"{description.key}_{slugify(device_id)}",
device_info,
coordinator, coordinator,
description, description,
) )
for device_id, device_info in coordinator.devices_info.items() for device_id, coordinator in coordinators.items()
for description in CONSUMABLE_SENSORS for description in CONSUMABLE_SENSORS
) )
@ -108,15 +105,14 @@ class RoborockSensorEntity(RoborockCoordinatedEntity, SensorEntity):
def __init__( def __init__(
self, self,
unique_id: str, unique_id: str,
device_info: RoborockHassDeviceInfo,
coordinator: RoborockDataUpdateCoordinator, coordinator: RoborockDataUpdateCoordinator,
description: RoborockSensorDescription, description: RoborockSensorDescription,
) -> None: ) -> None:
"""Initialize the entity.""" """Initialize the entity."""
super().__init__(unique_id, device_info, coordinator) super().__init__(unique_id, coordinator)
self.entity_description = description self.entity_description = description
@property @property
def native_value(self) -> StateType: def native_value(self) -> StateType:
"""Return the value reported by the sensor.""" """Return the value reported by the sensor."""
return self.entity_description.value_fn(self.coordinator.data[self._device_id]) return self.entity_description.value_fn(self.coordinator.device_info.props)