From 18d607319e997660a9cf8d7a03492fcd0f085581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 12 Nov 2020 17:48:53 +0100 Subject: [PATCH] Ping rx on when idle devices after network running --- libnymea-core/zigbee/zigbeemanager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libnymea-core/zigbee/zigbeemanager.cpp b/libnymea-core/zigbee/zigbeemanager.cpp index d3345421..9517c26f 100644 --- a/libnymea-core/zigbee/zigbeemanager.cpp +++ b/libnymea-core/zigbee/zigbeemanager.cpp @@ -313,6 +313,16 @@ void ZigbeeManager::addNetwork(ZigbeeNetwork *network) connect(network, &ZigbeeNetwork::stateChanged, this, [this, network](ZigbeeNetwork::State state){ Q_UNUSED(state) qCDebug(dcZigbee()) << "Network state changed" << network; + if (state == ZigbeeNetwork::StateRunning) { + + // Send a broadcast request to all powered nodes + foreach (ZigbeeNode *node, network->nodes()) { + if (node->macCapabilities().receiverOnWhenIdle && node->shortAddress() != 0x0000) { + node->deviceObject()->requestMgmtLqi(); + } + } + } + evaluateZigbeeAvailable(); emit zigbeeNetworkChanged(network); });