diff --git a/esphome/components/mdns/mdns_component.cpp b/esphome/components/mdns/mdns_component.cpp index 80e12ade71..e05373ac5d 100644 --- a/esphome/components/mdns/mdns_component.cpp +++ b/esphome/components/mdns/mdns_component.cpp @@ -190,15 +190,6 @@ void MDNSComponent::compile_records_(StaticVectorset_interval(MDNS_POLL_ID, MDNS_UPDATE_INTERVAL_MS, mdns_pump_update); - this->set_timeout(MDNS_POLL_STOP_ID, MDNS_POLL_WINDOW_MS, [this]() { this->cancel_interval(MDNS_POLL_ID); }); -} -#endif - void MDNSComponent::dump_config() { ESP_LOGCONFIG(TAG, "mDNS:\n" diff --git a/esphome/components/mdns/mdns_component.h b/esphome/components/mdns/mdns_component.h index 95bf2bf27f..4f651f7d84 100644 --- a/esphome/components/mdns/mdns_component.h +++ b/esphome/components/mdns/mdns_component.h @@ -24,12 +24,6 @@ namespace esphome::mdns { -#ifdef USE_MDNS_EVENT_DRIVEN_POLLING -/// MDNS.update() trampoline. Defined in exactly one mdns_.cpp per build -/// (FILTER_SOURCE_FILES in __init__.py enforces this), so ODR is preserved. -void mdns_pump_update(); -#endif - // Helper struct that identifies strings that may be stored in flash storage (similar to LogString) struct MDNSString; diff --git a/esphome/components/mdns/mdns_esp8266.cpp b/esphome/components/mdns/mdns_esp8266.cpp index d77d9685dd..95137ea116 100644 --- a/esphome/components/mdns/mdns_esp8266.cpp +++ b/esphome/components/mdns/mdns_esp8266.cpp @@ -39,7 +39,11 @@ static void register_esp8266(MDNSComponent *, StaticVectorset_interval(MDNS_POLL_ID, MDNS_UPDATE_INTERVAL_MS, []() { MDNS.update(); }); + this->set_timeout(MDNS_POLL_STOP_ID, MDNS_POLL_WINDOW_MS, [this]() { this->cancel_interval(MDNS_POLL_ID); }); +} #endif void MDNSComponent::setup() { diff --git a/esphome/components/mdns/mdns_rp2040.cpp b/esphome/components/mdns/mdns_rp2040.cpp index a8b0af4ad6..f5848893a3 100644 --- a/esphome/components/mdns/mdns_rp2040.cpp +++ b/esphome/components/mdns/mdns_rp2040.cpp @@ -39,7 +39,11 @@ static void register_rp2040(MDNSComponent *, StaticVectorset_interval(MDNS_POLL_ID, MDNS_UPDATE_INTERVAL_MS, []() { MDNS.update(); }); + this->set_timeout(MDNS_POLL_STOP_ID, MDNS_POLL_WINDOW_MS, [this]() { this->cancel_interval(MDNS_POLL_ID); }); +} #endif void MDNSComponent::setup() {