Add device class energy and last reset to sense (#53667)
This commit is contained in:
parent
ef2ca1cee9
commit
e14a04df2e
1 changed files with 13 additions and 0 deletions
|
@ -1,7 +1,10 @@
|
||||||
"""Support for monitoring a Sense energy sensor."""
|
"""Support for monitoring a Sense energy sensor."""
|
||||||
|
import datetime
|
||||||
|
|
||||||
from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntity
|
from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ATTRIBUTION,
|
ATTR_ATTRIBUTION,
|
||||||
|
DEVICE_CLASS_ENERGY,
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
ELECTRIC_POTENTIAL_VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
|
@ -9,6 +12,7 @@ from homeassistant.const import (
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ACTIVE_NAME,
|
ACTIVE_NAME,
|
||||||
|
@ -218,6 +222,8 @@ class SenseVoltageSensor(SensorEntity):
|
||||||
class SenseTrendsSensor(SensorEntity):
|
class SenseTrendsSensor(SensorEntity):
|
||||||
"""Implementation of a Sense energy sensor."""
|
"""Implementation of a Sense energy sensor."""
|
||||||
|
|
||||||
|
_attr_device_class = DEVICE_CLASS_ENERGY
|
||||||
|
_attr_state_class = STATE_CLASS_MEASUREMENT
|
||||||
_attr_unit_of_measurement = ENERGY_KILO_WATT_HOUR
|
_attr_unit_of_measurement = ENERGY_KILO_WATT_HOUR
|
||||||
_attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION}
|
_attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION}
|
||||||
_attr_icon = ICON
|
_attr_icon = ICON
|
||||||
|
@ -252,6 +258,13 @@ class SenseTrendsSensor(SensorEntity):
|
||||||
"""Return if entity is available."""
|
"""Return if entity is available."""
|
||||||
return self._had_any_update and self._coordinator.last_update_success
|
return self._had_any_update and self._coordinator.last_update_success
|
||||||
|
|
||||||
|
@property
|
||||||
|
def last_reset(self) -> datetime.datetime:
|
||||||
|
"""Return the time when the sensor was last reset, if any."""
|
||||||
|
if self._sensor_type == "DAY":
|
||||||
|
return dt_util.start_of_local_day()
|
||||||
|
return None
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _async_update(self):
|
def _async_update(self):
|
||||||
"""Track if we had an update so we do not report zero data."""
|
"""Track if we had an update so we do not report zero data."""
|
||||||
|
|
Loading…
Add table
Reference in a new issue