From 97286a5827172dc1542107d71fcf361fd002e654 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 29 Nov 2021 14:33:16 +0100 Subject: [PATCH] More fixes --- plugin/energylogger.cpp | 10 +++++----- plugin/energymanagerimpl.cpp | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugin/energylogger.cpp b/plugin/energylogger.cpp index ec087b6..d8d18e7 100644 --- a/plugin/energylogger.cpp +++ b/plugin/energylogger.cpp @@ -267,13 +267,13 @@ void EnergyLogger::sample() int frameDuration = frameStart.msecsTo(frameEnd); qCDebug(dcEnergyExperience()) << "Frame" << i << "duration:" << frameDuration << "value:" << entry.consumption() << "start" << frameStart.toString() << "end" << frameEnd.toString(); - if (entry.timestamp() <= sampleStart) { - break; - } medianConsumption += entry.consumption() * frameDuration; medianProduction += entry.production() * frameDuration; medianAcquisition += entry.acquisition() * frameDuration; medianStorage += entry.storage() * frameDuration; + if (entry.timestamp() < sampleStart) { + break; + } } medianConsumption /= sampleStart.msecsTo(sampleEnd); medianProduction /= sampleStart.msecsTo(sampleEnd); @@ -299,10 +299,10 @@ void EnergyLogger::sample() QDateTime frameEnd = i == 0 ? sampleEnd : entries.at(i-1).timestamp(); int frameDuration = frameStart.msecsTo(frameEnd); qCDebug(dcEnergyExperience()) << "Frame" << i << "duration:" << frameDuration << "value:" << entry.currentPower(); - if (entry.timestamp() <= sampleStart) { + medianPower += entry.currentPower() * frameDuration; + if (entry.timestamp() < sampleStart) { break; } - medianPower += entry.currentPower() * frameDuration; } medianPower /= sampleStart.msecsTo(sampleEnd); diff --git a/plugin/energymanagerimpl.cpp b/plugin/energymanagerimpl.cpp index 56e80d4..dc9b849 100644 --- a/plugin/energymanagerimpl.cpp +++ b/plugin/energymanagerimpl.cpp @@ -147,9 +147,9 @@ void EnergyManagerImpl::watchThing(Thing *thing) m_totalEnergyProducedCache[thing] = entry.totalProduction(); qCDebug(dcEnergyExperience()) << "Loaded thing power totals for" << thing->name() << "Consumption:" << entry.totalConsumption() << "Production:" << entry.totalProduction(); - connect(thing, &Thing::stateValueChanged, this, [=](const StateTypeId &stateTypeId, const QVariant &value){ - if (thing->thingClass().getStateType(stateTypeId).name() == "currentPower") { - m_logger->logThingPower(thing->id(), value.toDouble(), thing->state("totalEnergyConsumed").value().toDouble(), thing->state("totalEnergyProduced").value().toDouble()); + connect(thing, &Thing::stateValueChanged, this, [=](const StateTypeId &stateTypeId, const QVariant &/*value*/){ + if (QStringList({"currentPower", "totalEnergyConsumed", "totalEnergyProduced"}).contains(thing->thingClass().getStateType(stateTypeId).name())) { + m_logger->logThingPower(thing->id(), thing->state("currentPower").value().toDouble(), thing->state("totalEnergyConsumed").value().toDouble(), thing->state("totalEnergyProduced").value().toDouble()); } }); }