From 2d9b0ae91f115428b67febb1d9ac3b0504634ca0 Mon Sep 17 00:00:00 2001 From: jlai <21338735+jlai79@users.noreply.github.com> Date: Mon, 18 Aug 2025 22:16:29 +0200 Subject: [PATCH 1/2] Update coordinator.py Added fix from https://github.com/ProudElm/solaredgeoptimizers/issues/91 --- custom_components/solaredgeoptimizers/coordinator.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/custom_components/solaredgeoptimizers/coordinator.py b/custom_components/solaredgeoptimizers/coordinator.py index 37d3ea1c..a22d5038 100644 --- a/custom_components/solaredgeoptimizers/coordinator.py +++ b/custom_components/solaredgeoptimizers/coordinator.py @@ -85,7 +85,7 @@ async def _async_update_data(self): update = False - timetocheck = datetime.now() - CHECK_TIME_DELTA + timetocheck = dt_util.utcnow() - CHECK_TIME_DELTA # tz-aware UTC for optimizer in data: _LOGGER.debug( @@ -94,7 +94,13 @@ async def _async_update_data(self): optimizer.lastmeasurement, ) - if optimizer.lastmeasurement > timetocheck: + ts = optimizer.lastmeasurement + + # SolarEdge returns a *naive* UTC timestamp – tag it as UTC + if ts.tzinfo is None: + ts = ts.replace(tzinfo=timezone.utc) + + if ts > timetocheck: update = True break @@ -109,4 +115,4 @@ async def _async_update_data(self): except Exception as err: _LOGGER.error("Error in updating updater") _LOGGER.error(err) - raise UpdateFailed(err) \ No newline at end of file + raise UpdateFailed(err) From 1b23d24fd308f5dfc8abe8411cb0bfe8a20f15e8 Mon Sep 17 00:00:00 2001 From: jlai <21338735+jlai79@users.noreply.github.com> Date: Mon, 18 Aug 2025 22:18:49 +0200 Subject: [PATCH 2/2] Update sensor.py added fix from https://github.com/ProudElm/solaredgeoptimizers/issues/91 --- custom_components/solaredgeoptimizers/sensor.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom_components/solaredgeoptimizers/sensor.py b/custom_components/solaredgeoptimizers/sensor.py index 72ef07ed..65972e1f 100644 --- a/custom_components/solaredgeoptimizers/sensor.py +++ b/custom_components/solaredgeoptimizers/sensor.py @@ -4,6 +4,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity import DeviceInfo +from datetime import timezone +from homeassistant.util import dt as dt_util # HA helper, tz-aware + import logging from homeassistant.components.sensor import (