diff --git a/libnymea-core/integrations/thingmanagerimplementation.cpp b/libnymea-core/integrations/thingmanagerimplementation.cpp index f8bf1184..1d13fd54 100644 --- a/libnymea-core/integrations/thingmanagerimplementation.cpp +++ b/libnymea-core/integrations/thingmanagerimplementation.cpp @@ -402,9 +402,6 @@ ThingSetupInfo *ThingManagerImplementation::reconfigureThingInternal(Thing *thin } ParamList finalParams = buildParams(thing->thingClass().paramTypes(), params); - // first remove the thing in the plugin - plugin->thingRemoved(thing); - // mark setup as incomplete thing->setSetupStatus(Thing::ThingSetupStatusInProgress, Thing::ThingErrorNoError); diff --git a/plugins/mock/integrationpluginmock.cpp b/plugins/mock/integrationpluginmock.cpp index ef584c44..e93aa0a0 100644 --- a/plugins/mock/integrationpluginmock.cpp +++ b/plugins/mock/integrationpluginmock.cpp @@ -133,6 +133,11 @@ void IntegrationPluginMock::discoverThings(ThingDiscoveryInfo *info) void IntegrationPluginMock::setupThing(ThingSetupInfo *info) { if (info->thing()->thingClassId() == mockThingClassId || info->thing()->thingClassId() == autoMockThingClassId) { + if (m_daemons.contains(info->thing())) { + // We already have a daemon, seem's we're reconfiguring + delete m_daemons.take(info->thing()); + } + bool async = false; bool broken = false; if (info->thing()->thingClassId() == mockThingClassId) {