diff --git a/src/NetworkManager.cpp b/src/NetworkManager.cpp index a3f6452..b7932c7 100644 --- a/src/NetworkManager.cpp +++ b/src/NetworkManager.cpp @@ -47,7 +47,12 @@ void NetworkManager::setupWiFi() { // Register this node in the memberlist via event system NodeInfo self; self.hostname = ctx.hostname; - self.ip = WiFi.localIP(); + if(WiFi.isConnected()) { + self.ip = WiFi.localIP(); + } else { + // Fallback to AP IP if not connected + self.ip = WiFi.softAPIP(); + } self.lastSeen = millis(); self.status = NodeInfo::ACTIVE; ctx.triggerEvent("node_discovered", &self);