Skip to content

Commit f3ebcce

Browse files
committed
Solve issue with generic Exception catch in RetrieveHass
1 parent 031b78a commit f3ebcce

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

src/emhass/retrieve_hass.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ def __init__(
7777
"""
7878
self.hass_url = hass_url
7979
self.long_lived_token = long_lived_token
80-
self.freq = freq
80+
if isinstance(freq, int | float | str):
81+
self.freq = pd.Timedelta(minutes=int(freq))
82+
else:
83+
self.freq = freq
8184
self.time_zone = time_zone
8285
if (params is None) or (params == "null"):
8386
self.params = {}
@@ -392,19 +395,19 @@ def _process_history_dataframe(
392395
if len(df_raw) == 0:
393396
if is_first_day:
394397
self.logger.error(
395-
f"The retrieved Dataframe is empty, A sensor: {var} may have 0 days of history."
398+
f"The retrieved Dataframe is empty. A sensor: {var} may have 0 days of history."
396399
)
397400
else:
398401
self.logger.error(
399402
f"Retrieved empty Dataframe for day: {day}, check recorder settings."
400403
)
401404
return False
402-
# Check for data sufficiency (frequency consistency)
403-
expected_count = (60 / (self.freq.seconds / 60)) * 24
405+
freq_minutes = self.freq.total_seconds() / 60.0
406+
expected_count = (60.0 / freq_minutes) * 24.0
404407
if len(df_raw) < expected_count and not is_last_day:
405408
self.logger.debug(
406409
f"sensor: {var} retrieved Dataframe count: {len(df_raw)}, on day: {day}. "
407-
f"This is less than freq value passed: {self.freq}"
410+
f"This is less than expected count: {expected_count} (freq: {self.freq})"
408411
)
409412
# Process and Resample
410413
df_tp = (

0 commit comments

Comments
 (0)