From ade5be50ff4acc7b8057f126141e4f876228e98b Mon Sep 17 00:00:00 2001 From: Boernsman Date: Thu, 22 Apr 2021 10:33:50 +0200 Subject: [PATCH] adjusted reconnect timer interval --- energymeters/README.md | 14 ++++++++++---- energymeters/integrationpluginenergymeters.cpp | 7 +++++-- energymeters/meta.json | 11 +++++++++++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/energymeters/README.md b/energymeters/README.md index b8b1fb8..eea6276 100644 --- a/energymeters/README.md +++ b/energymeters/README.md @@ -1,9 +1,15 @@ -# B+G e-tech +# Energy Meters + +Connect Modbus RTU based energy meters. ## Supported Things - +* b+g e-tech + * SDM630Modbus +* inepro Metering + * PRO380-Mod + ## Requirements - -## More +* The plugin 'nymea-plugin-energymeter' must be installed +* At least one Modbus RTU interface must be setup. diff --git a/energymeters/integrationpluginenergymeters.cpp b/energymeters/integrationpluginenergymeters.cpp index ee336c0..f00aa32 100644 --- a/energymeters/integrationpluginenergymeters.cpp +++ b/energymeters/integrationpluginenergymeters.cpp @@ -205,7 +205,7 @@ void IntegrationPluginEnergyMeters::postSetupThing(Thing *thing) } if (!m_reconnectTimer) { - m_reconnectTimer = hardwareManager()->pluginTimerManager()->registerTimer(5000); + m_reconnectTimer = hardwareManager()->pluginTimerManager()->registerTimer(5); connect(m_reconnectTimer, &PluginTimer::timeout, this, [this] { foreach (Thing *thing, myThings()) { if (m_connectionStateTypeIds.contains(thing->thingClassId())) { @@ -227,10 +227,13 @@ void IntegrationPluginEnergyMeters::thingRemoved(Thing *thing) qCDebug(dcEnergyMeters()) << "Thing removed" << thing->name(); if (m_energyMeters.contains(thing)) { - m_energyMeters.take(thing)->deleteLater(); + EnergyMeter *meter = m_energyMeters.take(thing); + m_updateCycleInProgress.remove(meter); + meter->deleteLater(); } if (myThings().isEmpty() && m_reconnectTimer) { + qCDebug(dcEnergyMeters()) << "Stopping reconnect timer"; hardwareManager()->pluginTimerManager()->unregisterTimer(m_reconnectTimer); m_reconnectTimer = nullptr; } diff --git a/energymeters/meta.json b/energymeters/meta.json index e69de29..4f390d5 100644 --- a/energymeters/meta.json +++ b/energymeters/meta.json @@ -0,0 +1,11 @@ +{ + "title": "Energy Meters", + "tagline": "Connect Modbus RTU energy meters.", + "icon": "energymeter.svg", + "stability": "consumer", + "offline": true, + "technologies": [ + ], + "categories": [ + ] +}