From 83254494fb32eb90d802de8dfd4948a4c8fa4194 Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 4 Jun 2026 19:58:55 -0600 Subject: [PATCH] Restore known-good BMS connection behavior --- firmware/esp32/overland-controller/bms.cpp | 28 ++----------------- .../overland-controller.ino | 4 +++ 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/firmware/esp32/overland-controller/bms.cpp b/firmware/esp32/overland-controller/bms.cpp index 8056754..583b8cf 100644 --- a/firmware/esp32/overland-controller/bms.cpp +++ b/firmware/esp32/overland-controller/bms.cpp @@ -529,31 +529,8 @@ void updateBms() { lastReadAttempt = millis(); - if (!client || !client->isConnected()) { - unsigned long now = millis(); - - if (now - lastBmsConnectAttempt < bmsConnectBackoffMs) { - bmsData.connected = false; - return; - } - - lastBmsConnectAttempt = now; - - if (!connectBms()) { - bmsData.connected = false; - bmsConnectFailCount++; - - if (bmsConnectFailCount >= 3) { - bmsConnectBackoffMs = 120000; - } else { - bmsConnectBackoffMs = 60000; - } - - return; - } - - bmsConnectFailCount = 0; - bmsConnectBackoffMs = 60000; + if (!connectBms()) { + return; } if (requestPacket(JBD_STATUS_REQUEST, sizeof(JBD_STATUS_REQUEST))) { @@ -566,3 +543,4 @@ void updateBms() { parseCellVoltages(); } } + diff --git a/firmware/esp32/overland-controller/overland-controller.ino b/firmware/esp32/overland-controller/overland-controller.ino index 482da37..4c843d8 100644 --- a/firmware/esp32/overland-controller/overland-controller.ino +++ b/firmware/esp32/overland-controller/overland-controller.ino @@ -471,10 +471,14 @@ void buildStatusDocument(JsonDocument& doc) { } else { if (appConfig.bms.enabled && appConfig.bms.address.length() > 0) { battery["source"] = "jbd_bms"; + } else { + if (appConfig.bms.enabled && appConfig.bms.address.length() > 0) { + battery["source"] = "jbd_bms"; } else { battery["source"] = "unconfigured"; } } + } battery["connected"] = false; battery["soc"] = 0; battery["voltage"] = 0;