From 5f4534b6dcf8bc64603c2eccbd95f6bd5b6a84dd Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sat, 27 Nov 2021 01:15:24 +0100 Subject: [PATCH] Fix sampling of things totalEnergy states --- plugin/energylogger.cpp | 15 +++++---------- plugin/energylogger.h | 5 ----- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/plugin/energylogger.cpp b/plugin/energylogger.cpp index 3b70433..3fff1a5 100644 --- a/plugin/energylogger.cpp +++ b/plugin/energylogger.cpp @@ -287,10 +287,6 @@ void EnergyLogger::sample() qCDebug(dcEnergyExperience()) << "Sampled:" << "🔥:" << medianConsumption << "🌞:" << medianProduction << "💵:" << medianAcquisition << "🔋:" << medianStorage << "Totals:" << "🔥:" << totalConsumption << "🌞:" << totalProduction << "💵↓:" << totalAcquisition << "💵↑:" << totalReturn; insertPowerBalance(sampleEnd, SampleRate1Min, medianConsumption, medianProduction, medianAcquisition, medianStorage, totalConsumption, totalProduction, totalAcquisition, totalReturn); - m_lastSampleTotalConsumption = totalConsumption; - m_lastSampleTotalProducation = totalProduction; - m_lastSampleTotalAcquisition = totalAcquisition; - m_lastSampleTotalReturn = totalReturn; foreach (const ThingId &thingId, m_thingsPowerLiveLogs.keys()) { medianConsumption = 0; @@ -308,12 +304,11 @@ void EnergyLogger::sample() } } medianConsumption /= sampleStart.msecsTo(sampleEnd); - double totalConsumption = 0; - double totalProduction = 0; - if (entries.count() > 0) { - totalConsumption = entries.last().totalConsumption(); - totalProduction = entries.last().totalProduction(); - } + + ThingPowerLogEntry newest = entries.count() > 0 ? entries.first() : ThingPowerLogEntry(); + double totalConsumption = newest.totalConsumption(); + double totalProduction = newest.totalProduction(); + qCDebug(dcEnergyExperience()) << "Sampled:" << "🔥:" << medianConsumption << "🌞:" << medianProduction << "Totals:" << "🔥:" << totalConsumption << "🌞:" << totalProduction; insertThingPower(sampleEnd, SampleRate1Min, thingId, medianConsumption, totalConsumption, totalProduction); } diff --git a/plugin/energylogger.h b/plugin/energylogger.h index f90ed18..07378de 100644 --- a/plugin/energylogger.h +++ b/plugin/energylogger.h @@ -69,11 +69,6 @@ private: QTimer m_sampleTimer; QHash m_nextSamples; - double m_lastSampleTotalConsumption = 0; - double m_lastSampleTotalProducation = 0; - double m_lastSampleTotalAcquisition = 0; - double m_lastSampleTotalReturn = 0; - QSqlDatabase m_db; int m_maxMinuteSamples = 0;