diff --git a/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp b/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp index cab84283..a6f9dcb0 100644 --- a/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp +++ b/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp @@ -161,6 +161,11 @@ void ZigbeeHardwareResourceImplementation::onZigbeeNodeAdded(const QUuid &networ void ZigbeeHardwareResourceImplementation::onZigbeeNodeRemoved(const QUuid &networkUuid, ZigbeeNode *node) { qCDebug(dcZigbeeResource()) << node << "left the network" << m_zigbeeManager->zigbeeNetworks().value(networkUuid); + + foreach (ZigbeeHandler *tmp, m_handlers) { + tmp->handleRemoveNode(node, networkUuid); + } + } } diff --git a/libnymea/hardware/zigbee/zigbeehandler.h b/libnymea/hardware/zigbee/zigbeehandler.h index 6bf7e019..dba0d794 100644 --- a/libnymea/hardware/zigbee/zigbeehandler.h +++ b/libnymea/hardware/zigbee/zigbeehandler.h @@ -4,7 +4,7 @@ #include "zigbeenode.h" #include "libnymea.h" -class LIBNYMEA_EXPORT ZigbeeHandler +class LIBNYMEA_EXPORT ZigbeeHandler { public: ZigbeeHandler(); @@ -12,6 +12,7 @@ public: virtual QString name() const = 0; virtual bool handleNode(ZigbeeNode *node, const QUuid &networkUuid) = 0; + virtual void handleRemoveNode(ZigbeeNode *node, const QUuid &networkUuid) = 0; }; #endif // ZIGBEEHANDLER_H