From 99467558b4533b552ec01c6c58f3c3098f65fefe Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 29 Sep 2023 10:21:20 +0200 Subject: [PATCH] check each single nvs values before writing it --- src/devices/boiler.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 3dba58e67..6454c919f 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -895,13 +895,16 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const void Boiler::store_energy() { // only write if something is changed - if (nrgHeatF_ != EMSESP::nvs_.getDouble(FL_(nrgHeat)[0]) || nrgWwF_ != EMSESP::nvs_.getDouble(FL_(nrgWw)[0]) - || nomPower_ != EMSESP::nvs_.getUChar(FL_(nomPower)[0])) { + if (nrgHeatF_ != EMSESP::nvs_.getDouble(FL_(nrgHeat)[0])) { EMSESP::nvs_.putDouble(FL_(nrgHeat)[0], nrgHeatF_); - EMSESP::nvs_.putDouble(FL_(nrgWw)[0], nrgWwF_); - EMSESP::nvs_.putUChar(FL_(nomPower)[0], nomPower_); - LOG_DEBUG("energy values stored"); } + if (nrgWwF_ != EMSESP::nvs_.getDouble(FL_(nrgWw)[0])) { + EMSESP::nvs_.putDouble(FL_(nrgWw)[0], nrgWwF_); + } + if (nomPower_ != EMSESP::nvs_.getUChar(FL_(nomPower)[0])) { + EMSESP::nvs_.putUChar(FL_(nomPower)[0], nomPower_); + } + // LOG_DEBUG("energy values stored"); } // Check if hot tap water or heating is active