diff --git a/esphome/components/api/api_outgoing_connection.cpp b/esphome/components/api/api_outgoing_connection.cpp index c86107cef0b..0b2b1d52dbe 100644 --- a/esphome/components/api/api_outgoing_connection.cpp +++ b/esphome/components/api/api_outgoing_connection.cpp @@ -152,10 +152,7 @@ void OutgoingConnectionManager::loop(APIServer *server) { void OutgoingConnectionManager::try_dial_(APIServer *server, uint32_t now) { if (!network::is_connected()) { - // Flips within seconds of boot; recheck fast so a deep sleep wake - // window is not spent waiting - this->schedule_wait_(now, NETWORK_RETRY_MS); - return; + return; // still WAITING with the wait elapsed, so the next loop rechecks } struct sockaddr_storage addr; socklen_t addr_len = this->target_sockaddr_(&addr); @@ -197,7 +194,6 @@ void OutgoingConnectionManager::try_dial_(APIServer *server, uint32_t now) { } this->state_ = DialState::DIAL_STATE_CONNECTING; this->state_ts_ = now; - this->last_poll_ = now; } void OutgoingConnectionManager::poll_connect_(APIServer *server, uint32_t now) { @@ -206,10 +202,6 @@ void OutgoingConnectionManager::poll_connect_(APIServer *server, uint32_t now) { this->schedule_retry_(now); return; } - if (now - this->last_poll_ < CONNECT_POLL_INTERVAL_MS) { - return; - } - this->last_poll_ = now; int err = 0; switch (socket::poll_connect(*this->dial_socket_, err)) { case socket::ConnectPollResult::CONNECT_POLL_RESULT_PENDING: diff --git a/esphome/components/api/api_outgoing_connection.h b/esphome/components/api/api_outgoing_connection.h index fff11522d79..fa222e29ccf 100644 --- a/esphome/components/api/api_outgoing_connection.h +++ b/esphome/components/api/api_outgoing_connection.h @@ -61,18 +61,13 @@ class OutgoingConnectionManager { static constexpr uint32_t CONNECT_TIMEOUT_MS = 10000; static constexpr uint32_t PRECONDITION_RETRY_MS = 5000; // A deep sleep wake window is too short to spend on the delay, so those - // builds dial out as soon as the target is gone, recheck the network on - // every loop and notice the connect completing on the loop it does + // builds dial out as soon as the target is gone #ifdef USE_DEEP_SLEEP static constexpr uint32_t BOOT_WAIT_MS = 0; static constexpr uint32_t IDLE_WAIT_MS = BACKOFF_MIN_MS; - static constexpr uint32_t CONNECT_POLL_INTERVAL_MS = 0; - static constexpr uint32_t NETWORK_RETRY_MS = 0; #else static constexpr uint32_t BOOT_WAIT_MS = API_OUTGOING_CONNECTION_DELAY; static constexpr uint32_t IDLE_WAIT_MS = API_OUTGOING_CONNECTION_DELAY; - static constexpr uint32_t CONNECT_POLL_INTERVAL_MS = 250; - static constexpr uint32_t NETWORK_RETRY_MS = 500; #endif void try_dial_(APIServer *server, uint32_t now); @@ -107,7 +102,6 @@ class OutgoingConnectionManager { uint32_t backoff_{BACKOFF_MIN_MS}; uint32_t wait_{BOOT_WAIT_MS}; uint32_t state_ts_{0}; - uint32_t last_poll_{0}; // Byte-aligned types last #ifndef API_OUTGOING_CONNECTION_HOST