1
0
mirror of https://github.com/esphome/esphome.git synced 2026-02-08 08:41:59 +00:00
Files
esphome/esphome/components/network/network_component.cpp
J. Nick Koston 59bd60b4e2 wip
2026-01-09 11:21:20 -10:00

33 lines
989 B
C++

#include "network_component.h"
#ifdef USE_ESP32
#include "esphome/core/log.h"
#include "esp_event.h"
#include "esp_netif.h"
namespace esphome::network {
static const char *const TAG = "network";
void NetworkComponent::setup() {
// Initialize network stack early - required before web_server can bind.
// This must run before WiFi/Ethernet setup so web_server can register
// its handlers before captive_portal.
esp_err_t err = esp_netif_init();
if (err != ESP_OK) {
ESP_LOGE(TAG, "esp_netif_init failed: %s", esp_err_to_name(err));
}
err = esp_event_loop_create_default();
if (err != ESP_OK && err != ESP_ERR_INVALID_STATE) {
// ESP_ERR_INVALID_STATE means it was already created
ESP_LOGE(TAG, "esp_event_loop_create_default failed: %s", esp_err_to_name(err));
}
}
float NetworkComponent::get_setup_priority() const {
// Run before web_server (WIFI + 0.5) and WiFi (WIFI)
return setup_priority::WIFI + 2.0f;
}
} // namespace esphome::network
#endif