Fix Ethernet MQTT reconnect handling (#10896)

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
Alexander Balya
2026-07-06 10:21:24 -05:00
committed by GitHub
co-authored by GitHub Ben Meadors
parent 93250d8704
commit 1e66ecff60
3 changed files with 20 additions and 1 deletions
+6
View File
@@ -33,6 +33,8 @@ class UdpMulticastHandler final
#if defined(ARCH_NRF52) || defined(ARCH_PORTDUINO)
LOG_DEBUG("UDP Listening on IP: %u.%u.%u.%u:%u", udpIpAddress[0], udpIpAddress[1], udpIpAddress[2], udpIpAddress[3],
UDP_MULTICAST_DEFAUL_PORT);
#elif defined(USE_WS5500) || defined(USE_CH390D)
LOG_DEBUG("UDP Listening on IP: %s", ETH.localIP().toString().c_str());
#else
LOG_DEBUG("UDP Listening on IP: %s", WiFi.localIP().toString().c_str());
#endif
@@ -98,6 +100,10 @@ class UdpMulticastHandler final
if (!isEthernetAvailable()) {
return false;
}
#elif defined(USE_WS5500) || defined(USE_CH390D)
if (!ETH.connected()) {
return false;
}
#elif !defined(ARCH_PORTDUINO)
if (WiFi.status() != WL_CONNECTED) {
return false;
+5
View File
@@ -563,6 +563,11 @@ static void WiFiEvent(WiFiEvent_t event)
break;
case ARDUINO_EVENT_ETH_DISCONNECTED:
syslog.disable();
#if HAS_UDP_MULTICAST
if (udpHandler) {
udpHandler->stop();
}
#endif
LOG_INFO("Ethernet disconnected");
break;
case ARDUINO_EVENT_ETH_GOT_IP: