From a0d3632fd78ae00767ff907cc663a635040ffaeb Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Mon, 4 Apr 2022 07:31:08 +0200 Subject: [PATCH] Fixed clearing of prices on MQTT --- src/mqtt/HomeAssistantMqttHandler.cpp | 3 ++- src/mqtt/JsonMqttHandler.cpp | 3 ++- src/mqtt/RawMqttHandler.cpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mqtt/HomeAssistantMqttHandler.cpp b/src/mqtt/HomeAssistantMqttHandler.cpp index 2d4a89c2..485e0905 100644 --- a/src/mqtt/HomeAssistantMqttHandler.cpp +++ b/src/mqtt/HomeAssistantMqttHandler.cpp @@ -92,7 +92,8 @@ bool HomeAssistantMqttHandler::publishPrices(EntsoeApi* eapi) { float min1hr, min3hr, min6hr; int8_t min1hrIdx = -1, min3hrIdx = -1, min6hrIdx = -1; float min = INT16_MAX, max = INT16_MIN; - float values[24] = {0}; + float values[24]; + for(int i = 0;i < 24; i++) values[i] = ENTSOE_NO_VALUE; for(uint8_t i = 0; i < 24; i++) { float val = eapi->getValueForHour(now, i); values[i] = val; diff --git a/src/mqtt/JsonMqttHandler.cpp b/src/mqtt/JsonMqttHandler.cpp index 43e47fcc..aa7c5dd9 100644 --- a/src/mqtt/JsonMqttHandler.cpp +++ b/src/mqtt/JsonMqttHandler.cpp @@ -165,7 +165,8 @@ bool JsonMqttHandler::publishPrices(EntsoeApi* eapi) { float min1hr, min3hr, min6hr; int8_t min1hrIdx = -1, min3hrIdx = -1, min6hrIdx = -1; float min = INT16_MAX, max = INT16_MIN; - float values[24] = {0}; + float values[24]; + for(int i = 0;i < 24; i++) values[i] = ENTSOE_NO_VALUE; for(uint8_t i = 0; i < 24; i++) { float val = eapi->getValueForHour(now, i); values[i] = val; diff --git a/src/mqtt/RawMqttHandler.cpp b/src/mqtt/RawMqttHandler.cpp index 6ee63cca..0475f60a 100644 --- a/src/mqtt/RawMqttHandler.cpp +++ b/src/mqtt/RawMqttHandler.cpp @@ -104,8 +104,8 @@ bool RawMqttHandler::publishPrices(EntsoeApi* eapi) { float min1hr, min3hr, min6hr; int8_t min1hrIdx = -1, min3hrIdx = -1, min6hrIdx = -1; float min = INT16_MAX, max = INT16_MIN; - float values[34] = {0}; - memset(values, ENTSOE_NO_VALUE, 34); + float values[34]; + for(int i = 0;i < 34; i++) values[i] = ENTSOE_NO_VALUE; for(uint8_t i = 0; i < 34; i++) { float val = eapi->getValueForHour(now, i); values[i] = val;