From eba1d7d16a1e5e7495fc9abe75a320c44dd707a7 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 8 Oct 2021 10:48:52 -0700 Subject: [PATCH] Guard for bad last reset (#57344) --- homeassistant/components/sensor/recorder.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/sensor/recorder.py b/homeassistant/components/sensor/recorder.py index c485622af80..30b5a4605ef 100644 --- a/homeassistant/components/sensor/recorder.py +++ b/homeassistant/components/sensor/recorder.py @@ -7,6 +7,7 @@ import datetime import itertools import logging import math +from typing import Any from sqlalchemy.orm.session import Session @@ -362,13 +363,14 @@ def _wanted_statistics(sensor_states: list[State]) -> dict[str, set[str]]: return wanted_statistics -def _last_reset_as_utc_isoformat( - last_reset_s: str | None, entity_id: str -) -> str | None: +def _last_reset_as_utc_isoformat(last_reset_s: Any, entity_id: str) -> str | None: """Parse last_reset and convert it to UTC.""" if last_reset_s is None: return None - last_reset = dt_util.parse_datetime(last_reset_s) + if isinstance(last_reset_s, str): + last_reset = dt_util.parse_datetime(last_reset_s) + else: + last_reset = None if last_reset is None: _LOGGER.warning( "Ignoring invalid last reset '%s' for %s", last_reset_s, entity_id