From 6ae396f084bef9bc7a80c5396940d11a7bc45afb Mon Sep 17 00:00:00 2001 From: nick Date: Tue, 30 Jun 2026 23:37:33 -0600 Subject: [PATCH] debug: protect config inputs from status refresh --- .../overland-controller.ino | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/firmware/esp32/overland-controller/overland-controller.ino b/firmware/esp32/overland-controller/overland-controller.ino index ace5c96..5da9e07 100644 --- a/firmware/esp32/overland-controller/overland-controller.ino +++ b/firmware/esp32/overland-controller/overland-controller.ino @@ -1046,12 +1046,12 @@ function render(data){ function populateSetupFields(data){ const cfg=data.config||{}; - if($("deviceNameInput")) $("deviceNameInput").value=cfg.device_name||""; + setConfigValue("deviceNameInput", cfg.device_name||""); const bms=cfg.bms||{}; - if($("bmsNameInput")) $("bmsNameInput").value=bms.name||""; - if($("bmsAddressInput")) $("bmsAddressInput").value=bms.address||""; - if($("bmsAddressTypeInput")) $("bmsAddressTypeInput").value=bms.address_type||"public"; + setConfigValue("bmsNameInput", bms.name||""); + setConfigValue("bmsAddressInput", bms.address||""); + setConfigValue("bmsAddressTypeInput", bms.address_type||"public"); } async function saveDeviceConfig(){ @@ -1199,12 +1199,18 @@ function renderConfigControls(data){ const relayBox=$("relayConfigList"); if(relayBox){ - relayBox.innerHTML=relays.map((r,i)=>` -
- - - -
`).join(""); + const signature=relays.map(r=>r.id).join("|"); + if(relayBox.dataset.signature!==signature){ + relayBox.dataset.signature=signature; + relayBox.innerHTML=relays.map((r,i)=>` +
+ + + +
`).join(""); + } + + relays.forEach((r,i)=>setConfigValue("relayName"+i,r.name||"")); } setConfigValue("tempEnabledCount", temps.filter(t=>t.enabled).length);