diff --git a/mpod.cpp b/mpod.cpp index dac908170f1824f2bb6d1fcb379747176b88c8e5..08ec1a0a3bc82dce49052d3b80cca910dc9b7e2b 100644 --- a/mpod.cpp +++ b/mpod.cpp @@ -260,6 +260,12 @@ void setChannelStateAndWait(const IPAddress *ipAddr, const uint16_t channel, con delay(MPOD_UPDATE_LATENCY); snmp.loop(); + if (mpod.getChannel() != channel) { + // We have stale information, because MPOD swallowed UDP request. + // Skip this update check and go for next iteration, where data will be requested + // or request resent. + continue; + } loopCount += 1; ramping = (mpod.isRampingUp() || mpod.isRampingDown()); if (!ramping) {