From 71fbb899a7889f0d03ac4af861c7dedd010f9e17 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 23 Sep 2022 09:31:31 +0200 Subject: [PATCH] MecMeter: Reduce some load by uncaching and rounding some states --- .../integrationpluginmecelectronics.cpp | 16 ++++++++-------- .../integrationpluginmecelectronics.json | 18 ++++++++++++------ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/mecelectronics/integrationpluginmecelectronics.cpp b/mecelectronics/integrationpluginmecelectronics.cpp index 73bba846..1f2fef14 100644 --- a/mecelectronics/integrationpluginmecelectronics.cpp +++ b/mecelectronics/integrationpluginmecelectronics.cpp @@ -298,8 +298,8 @@ void IntegrationPluginMecMeter::refresh(Thing *thing) // Total energy / power - thing->setStateValue(mecMeterTotalEnergyConsumedStateTypeId, dataMap.value("EFAT").toDouble() / 1000.0); - thing->setStateValue(mecMeterTotalEnergyProducedStateTypeId, dataMap.value("ERAT").toDouble() / 1000.0); + thing->setStateValue(mecMeterTotalEnergyConsumedStateTypeId, 0.001 * qRound(dataMap.value("EFAT").toDouble())); + thing->setStateValue(mecMeterTotalEnergyProducedStateTypeId, 0.001 * qRound(dataMap.value("ERAT").toDouble())); thing->setStateValue(mecMeterCurrentPowerStateTypeId, dataMap.value("PT").toDouble()); // thing->setStateValue(mecMeterTotalForwardeReactiveEnergyStateTypeId, dataMap.value("EFRT").toDouble()); @@ -322,14 +322,14 @@ void IntegrationPluginMecMeter::refresh(Thing *thing) // thing->setStateValue(mecMeterFrequencyStateTypeId, dataMap.value("F").toDouble()); // Energy consumed - thing->setStateValue(mecMeterEnergyConsumedPhaseAStateTypeId, dataMap.value("EFAA").toDouble() / 1000.0); - thing->setStateValue(mecMeterEnergyConsumedPhaseBStateTypeId, dataMap.value("EFAB").toDouble() / 1000.0); - thing->setStateValue(mecMeterEnergyConsumedPhaseCStateTypeId, dataMap.value("EFAC").toDouble() / 1000.0); + thing->setStateValue(mecMeterEnergyConsumedPhaseAStateTypeId, 0.001 * qRound(dataMap.value("EFAA").toDouble())); + thing->setStateValue(mecMeterEnergyConsumedPhaseBStateTypeId, 0.001 * qRound(dataMap.value("EFAB").toDouble())); + thing->setStateValue(mecMeterEnergyConsumedPhaseCStateTypeId, 0.001 * qRound(dataMap.value("EFAC").toDouble())); // Energy produced - thing->setStateValue(mecMeterEnergyProducedPhaseAStateTypeId, dataMap.value("ERAA").toDouble() / 1000.0); - thing->setStateValue(mecMeterEnergyProducedPhaseBStateTypeId, dataMap.value("ERAB").toDouble() / 1000.0); - thing->setStateValue(mecMeterEnergyProducedPhaseCStateTypeId, dataMap.value("ERAC").toDouble() / 1000.0); + thing->setStateValue(mecMeterEnergyProducedPhaseAStateTypeId, 0.001 * qRound(dataMap.value("ERAA").toDouble() / 1000.0)); + thing->setStateValue(mecMeterEnergyProducedPhaseBStateTypeId, 0.001 * qRound(dataMap.value("ERAB").toDouble() / 1000.0)); + thing->setStateValue(mecMeterEnergyProducedPhaseCStateTypeId, 0.001 * qRound(dataMap.value("ERAC").toDouble() / 1000.0)); }); } diff --git a/mecelectronics/integrationpluginmecelectronics.json b/mecelectronics/integrationpluginmecelectronics.json index d2a97db8..29ec51ef 100644 --- a/mecelectronics/integrationpluginmecelectronics.json +++ b/mecelectronics/integrationpluginmecelectronics.json @@ -101,7 +101,8 @@ "displayNameEvent": "Phase A consumed energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false }, { "id": "b454057d-8e97-4f96-b0c3-7e4cbf4044c0", @@ -110,7 +111,8 @@ "displayNameEvent": "Phase A returned energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false }, { "id": "90fc6894-044a-45ec-83f4-f38134f35018", @@ -150,7 +152,8 @@ "displayNameEvent": "Phase B consumed energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false }, { "id": "a0407475-e770-4a74-b4b4-34b458a26801", @@ -159,7 +162,8 @@ "displayNameEvent": "Phase B returned energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false }, { "id": "ec0ed738-0e79-4db9-83df-746ec18d25f3", @@ -199,7 +203,8 @@ "displayNameEvent": "Phase C consumed energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false }, { "id": "6b08f113-204c-45c9-9b1a-118416aefcd7", @@ -208,7 +213,8 @@ "displayNameEvent": "Phase C returned energy changed", "type": "double", "unit": "KiloWattHour", - "defaultValue": 0 + "defaultValue": 0, + "cached": false } ] }