From 5768ebca912ea08c5287455d0c7cec876d0ea862 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 14 Apr 2020 11:40:16 +0200 Subject: [PATCH] Improve it a bit more --- onewire/integrationpluginonewire.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/onewire/integrationpluginonewire.cpp b/onewire/integrationpluginonewire.cpp index 38d4298f..aa355b1d 100644 --- a/onewire/integrationpluginonewire.cpp +++ b/onewire/integrationpluginonewire.cpp @@ -57,18 +57,20 @@ void IntegrationPluginOneWire::discoverThings(ThingDiscoveryInfo *info) foreach(Thing *parentDevice, myThings().filterByThingClassId(oneWireInterfaceThingClassId)) { if (parentDevice->stateValue(oneWireInterfaceAutoAddStateTypeId).toBool()) { //devices cannot be discovered since auto mode is enabled - return info->finish(Thing::ThingErrorNoError); - } else { - m_runningDiscoveries.insert(parentDevice, info); - connect(info, &ThingDiscoveryInfo::destroyed, this, [this, parentDevice](){ - m_runningDiscoveries.remove(parentDevice); - }); - - if (m_oneWireInterface) - m_oneWireInterface->discoverDevices(); + continue; } + m_runningDiscoveries.insert(parentDevice, info); + connect(info, &ThingDiscoveryInfo::destroyed, this, [this, parentDevice](){ + m_runningDiscoveries.remove(parentDevice); + }); + + if (m_oneWireInterface) + m_oneWireInterface->discoverDevices(); } + if (m_runningDiscoveries.isEmpty()) { + info->finish(Thing::ThingErrorNoError, QT_TR_NOOP("All configured one wire interfaces are set up to automatically add new devices.")); + } return; }