diff --git a/homeassistant/components/deconz/sensor.py b/homeassistant/components/deconz/sensor.py index e0f12303946..9282f2d26cc 100644 --- a/homeassistant/components/deconz/sensor.py +++ b/homeassistant/components/deconz/sensor.py @@ -23,6 +23,7 @@ from homeassistant.const import ( ATTR_TEMPERATURE, ATTR_VOLTAGE, DEVICE_CLASS_BATTERY, + DEVICE_CLASS_ENERGY, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_POWER, @@ -40,6 +41,7 @@ from homeassistant.helpers.dispatcher import ( async_dispatcher_connect, async_dispatcher_send, ) +from homeassistant.util import dt as dt_util from .const import ATTR_DARK, ATTR_ON, NEW_SENSOR from .deconz_device import DeconzDevice @@ -51,6 +53,7 @@ ATTR_DAYLIGHT = "daylight" ATTR_EVENT_ID = "event_id" DEVICE_CLASS = { + Consumption: DEVICE_CLASS_ENERGY, Humidity: DEVICE_CLASS_HUMIDITY, LightLevel: DEVICE_CLASS_ILLUMINANCE, Power: DEVICE_CLASS_POWER, @@ -65,6 +68,7 @@ ICON = { } STATE_CLASS = { + Consumption: STATE_CLASS_MEASUREMENT, Humidity: STATE_CLASS_MEASUREMENT, Pressure: STATE_CLASS_MEASUREMENT, Temperature: STATE_CLASS_MEASUREMENT, @@ -158,6 +162,9 @@ class DeconzSensor(DeconzDevice, SensorEntity): self._attr_state_class = STATE_CLASS.get(type(self._device)) self._attr_unit_of_measurement = UNIT_OF_MEASUREMENT.get(type(self._device)) + if device.type in Consumption.ZHATYPE: + self._attr_last_reset = dt_util.utc_from_timestamp(0) + @callback def async_update_callback(self, force_update=False): """Update the sensor's state.""" diff --git a/tests/components/deconz/test_sensor.py b/tests/components/deconz/test_sensor.py index d9c4adf1388..7f8bce24d80 100644 --- a/tests/components/deconz/test_sensor.py +++ b/tests/components/deconz/test_sensor.py @@ -10,6 +10,7 @@ from homeassistant.config_entries import RELOAD_AFTER_UPDATE_DELAY from homeassistant.const import ( ATTR_DEVICE_CLASS, DEVICE_CLASS_BATTERY, + DEVICE_CLASS_ENERGY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_POWER, DEVICE_CLASS_TEMPERATURE, @@ -118,7 +119,7 @@ async def test_sensors(hass, aioclient_mock, mock_deconz_websocket): consumption_sensor = hass.states.get("sensor.consumption_sensor") assert consumption_sensor.state == "0.002" - assert ATTR_DEVICE_CLASS not in consumption_sensor.attributes + assert consumption_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_ENERGY assert not hass.states.get("sensor.clip_light_level_sensor")