Skip to content

Commit 8a074c0

Browse files
committed
Use last state attribute
Signed-off-by: Ian Brown <[email protected]>
1 parent ff3d890 commit 8a074c0

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

custom_components/sensus_analytics/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"domain": "sensus_analytics",
33
"name": "Sensus Analytics Integration",
4-
"version": "1.6.11",
4+
"version": "1.6.12",
55
"documentation": "https://github.com/zestysoft/sensus_analytics_integration",
66
"dependencies": [],
77
"codeowners": ["@zestysoft"],

custom_components/sensus_analytics/sensor.py

+25-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Sensor platform for the Sensus Analytics Integration."""
22

3-
from datetime import datetime
3+
from datetime import datetime, timedelta
44

55
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity, SensorStateClass
66
from homeassistant.config_entries import ConfigEntry
@@ -118,6 +118,11 @@ def __init__(self, coordinator, entry):
118118
self._attr_device_class = SensorDeviceClass.WATER
119119
self._attr_state_class = SensorStateClass.TOTAL
120120

121+
@property
122+
def last_reset(self):
123+
"""Return the last reset time for the daily usage sensor."""
124+
return dt_util.start_of_local_day()
125+
121126
@property
122127
def native_value(self):
123128
"""Return the state of the sensor."""
@@ -244,6 +249,11 @@ def __init__(self, coordinator, entry):
244249
self._attr_device_class = SensorDeviceClass.WATER
245250
self._attr_state_class = SensorStateClass.TOTAL_INCREASING
246251

252+
@property
253+
def last_reset(self):
254+
"""Return the last reset time for the meter odometer sensor."""
255+
return None # Odometer typically does not reset
256+
247257
@property
248258
def native_value(self):
249259
"""Return the state of the sensor."""
@@ -263,6 +273,13 @@ def __init__(self, coordinator, entry):
263273
self._attr_device_class = SensorDeviceClass.WATER
264274
self._attr_state_class = SensorStateClass.TOTAL
265275

276+
@property
277+
def last_reset(self):
278+
"""Return the last reset time for the billing usage sensor."""
279+
local_tz = dt_util.get_time_zone(self.hass.config.time_zone)
280+
now = datetime.now(local_tz)
281+
return now.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
282+
266283
@property
267284
def native_value(self):
268285
"""Return the state of the sensor."""
@@ -391,6 +408,13 @@ def __init__(self, coordinator, entry):
391408
self._attr_device_class = SensorDeviceClass.WATER
392409
self._attr_state_class = SensorStateClass.TOTAL
393410

411+
@property
412+
def last_reset(self):
413+
"""Return the last reset time for the last hour usage sensor."""
414+
local_tz = dt_util.get_time_zone(self.hass.config.time_zone)
415+
now = datetime.now(local_tz)
416+
return now.replace(minute=0, second=0, microsecond=0) - timedelta(hours=1)
417+
394418
@property
395419
def native_value(self):
396420
"""Return the usage for the current hour from the previous day."""

0 commit comments

Comments
 (0)