From e3910856ad64cf8189262f4eac4fa5f6609689bf Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Tue, 23 Nov 2021 17:18:58 +0100 Subject: [PATCH] Use native datetime value in Shelly sensors (#60179) Co-authored-by: Franck Nijhof --- homeassistant/components/shelly/utils.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/shelly/utils.py b/homeassistant/components/shelly/utils.py index 783153e2746..d61140f56b9 100644 --- a/homeassistant/components/shelly/utils.py +++ b/homeassistant/components/shelly/utils.py @@ -153,16 +153,15 @@ def is_block_momentary_input(settings: dict[str, Any], block: Block) -> bool: return button_type in ["momentary", "momentary_on_release"] -def get_device_uptime(uptime: float, last_uptime: str | None) -> str: +def get_device_uptime(uptime: float, last_uptime: datetime | None) -> datetime: """Return device uptime string, tolerate up to 5 seconds deviation.""" delta_uptime = utcnow() - timedelta(seconds=uptime) if ( not last_uptime - or abs((delta_uptime - datetime.fromisoformat(last_uptime)).total_seconds()) - > UPTIME_DEVIATION + or abs((delta_uptime - last_uptime).total_seconds()) > UPTIME_DEVIATION ): - return delta_uptime.replace(microsecond=0).isoformat() + return delta_uptime return last_uptime