diff --git a/homeassistant/components/oru/sensor.py b/homeassistant/components/oru/sensor.py index 5d99e782fdd..a971a8e461b 100644 --- a/homeassistant/components/oru/sensor.py +++ b/homeassistant/components/oru/sensor.py @@ -7,8 +7,12 @@ import logging from oru import Meter, MeterError import voluptuous as vol -from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity -from homeassistant.const import ENERGY_KILO_WATT_HOUR +from homeassistant.components.sensor import ( + PLATFORM_SCHEMA, + SensorDeviceClass, + SensorEntity, +) +from homeassistant.const import UnitOfEnergy from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity_platform import AddEntitiesCallback @@ -20,9 +24,6 @@ CONF_METER_NUMBER = "meter_number" SCAN_INTERVAL = timedelta(minutes=15) -SENSOR_NAME = "ORU Current Energy Usage" -SENSOR_ICON = "mdi:counter" - PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({vol.Required(CONF_METER_NUMBER): cv.string}) @@ -51,12 +52,12 @@ def setup_platform( class CurrentEnergyUsageSensor(SensorEntity): """Representation of the sensor.""" - _attr_icon = SENSOR_ICON - _attr_native_unit_of_measurement = ENERGY_KILO_WATT_HOUR + _attr_device_class = SensorDeviceClass.ENERGY + _attr_name = "ORU Current Energy Usage" + _attr_native_unit_of_measurement = UnitOfEnergy.KILO_WATT_HOUR def __init__(self, meter): """Initialize the sensor.""" - self._state = None self._available = None self.meter = meter @@ -65,26 +66,19 @@ class CurrentEnergyUsageSensor(SensorEntity): """Return a unique, Home Assistant friendly identifier for this entity.""" return self.meter.meter_id - @property - def name(self): - """Return the name of the sensor.""" - return SENSOR_NAME - - @property - def native_value(self): - """Return the state of the sensor.""" - return self._state - def update(self) -> None: """Fetch new state data for the sensor.""" try: last_read = self.meter.last_read() - self._state = last_read + self._attr_native_value = last_read self._available = True _LOGGER.debug( - "%s = %s %s", self.name, self._state, self.unit_of_measurement + "%s = %s %s", + self.name, + self.native_value, + self.native_unit_of_measurement, ) except MeterError as err: self._available = False