Merge PR #746: Shelly: Improve debug logging when offline

This commit is contained in:
jenkins 2024-10-28 15:26:41 +01:00
commit dcb1cd056e
2 changed files with 29 additions and 17 deletions

View File

@ -768,12 +768,23 @@ void IntegrationPluginShelly::joinMulticastGroup()
{ {
if (m_coap->joinMulticastGroup()) { if (m_coap->joinMulticastGroup()) {
qCInfo(dcShelly()) << "Joined CoIoT multicast group"; qCInfo(dcShelly()) << "Joined CoIoT multicast group";
m_multicastWarningPrintCount = 0;
} else { } else {
qCWarning(dcShelly()) << "Failed to join CoIoT multicast group. Retrying in 5 seconds..."; uint mod = m_multicastWarningPrintCount % 120;
// FIXME: It would probably be better to monitor the network interfaces and re-join if necessary // FIXME: It would probably be better to monitor the network interfaces and re-join if necessary
if (m_multicastWarningPrintCount < 12) {
qCWarning(dcShelly()) << "Failed to join CoIoT multicast group. Retrying in 5 seconds...";
}
if (m_multicastWarningPrintCount >= 12 && mod == 0) {
qCWarning(dcShelly()) << "Failed to join CoIoT multicast group. Retrying in 10 minutes...";
}
QTimer::singleShot(5000, m_coap, [this](){ QTimer::singleShot(5000, m_coap, [this](){
joinMulticastGroup(); joinMulticastGroup();
}); });
m_multicastWarningPrintCount++;
} }
} }

View File

@ -94,6 +94,7 @@ private:
PluginTimer *m_reconfigureTimer = nullptr; PluginTimer *m_reconfigureTimer = nullptr;
Coap *m_coap = nullptr; Coap *m_coap = nullptr;
uint m_multicastWarningPrintCount = 0;
QHash<Thing*, ShellyJsonRpcClient*> m_rpcClients; QHash<Thing*, ShellyJsonRpcClient*> m_rpcClients;
}; };