From dd7babb448fce64caa547a62e711c38807e8ebcf Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 14 Nov 2022 20:19:38 +0100 Subject: [PATCH] Added a timeout of 5ms to detect current time. This prevents false positives when a interrupt occours during the reading of the time --- lib/Hoymiles/src/inverters/HM_Abstract.cpp | 8 ++++---- src/WebApi_ntp.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Hoymiles/src/inverters/HM_Abstract.cpp b/lib/Hoymiles/src/inverters/HM_Abstract.cpp index 5fc0bbb..36b25af 100644 --- a/lib/Hoymiles/src/inverters/HM_Abstract.cpp +++ b/lib/Hoymiles/src/inverters/HM_Abstract.cpp @@ -14,7 +14,7 @@ HM_Abstract::HM_Abstract(uint64_t serial) bool HM_Abstract::sendStatsRequest(HoymilesRadio* radio) { struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { return false; } @@ -31,7 +31,7 @@ bool HM_Abstract::sendStatsRequest(HoymilesRadio* radio) bool HM_Abstract::sendAlarmLogRequest(HoymilesRadio* radio, bool force) { struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { return false; } @@ -59,7 +59,7 @@ bool HM_Abstract::sendAlarmLogRequest(HoymilesRadio* radio, bool force) bool HM_Abstract::sendDevInfoRequest(HoymilesRadio* radio) { struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { return false; } @@ -80,7 +80,7 @@ bool HM_Abstract::sendDevInfoRequest(HoymilesRadio* radio) bool HM_Abstract::sendSystemConfigParaRequest(HoymilesRadio* radio) { struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { return false; } diff --git a/src/WebApi_ntp.cpp b/src/WebApi_ntp.cpp index 6b7d04d..b019d23 100644 --- a/src/WebApi_ntp.cpp +++ b/src/WebApi_ntp.cpp @@ -38,7 +38,7 @@ void WebApiNtpClass::onNtpStatus(AsyncWebServerRequest* request) root[F("ntp_timezone_descr")] = config.Ntp_TimezoneDescr; struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { root[F("ntp_status")] = false; } else { root[F("ntp_status")] = true; @@ -159,7 +159,7 @@ void WebApiNtpClass::onNtpTimeGet(AsyncWebServerRequest* request) JsonObject root = response->getRoot(); struct tm timeinfo; - if (!getLocalTime(&timeinfo, 0)) { + if (!getLocalTime(&timeinfo, 5)) { root[F("ntp_status")] = false; } else { root[F("ntp_status")] = true;