diff --git a/docs/project-state.md b/docs/project-state.md index aeff01f..f2a72f9 100644 --- a/docs/project-state.md +++ b/docs/project-state.md @@ -163,4 +163,4 @@ Examples: 5. Add config backup/restore. 6. Improve BMS out-of-range behavior without changing NimBLE connect timeout. -- Fixed WebUI temperature probe scan by registering `/temps/scan`, `/temps/assign`, and `/temps/clear` firmware routes.\n\n- Added per-temperature-sensor `weather` flag and WebUI outside temperature badge with emoji thresholds: below 50°F ice, 50-74°F happy, 75-84°F sun, and 85°F+ fire.\n\n- Improved WebUI temperature sensor config checkbox layout with compact On/Weather controls.\n\n- Temperature probe assignment now enforces one logical slot per physical DS18B20 address; assigning a probe to a new slot clears the old slot mapping.\n \ No newline at end of file +- Fixed WebUI temperature probe scan by registering `/temps/scan`, `/temps/assign`, and `/temps/clear` firmware routes.\n\n- Added per-temperature-sensor `weather` flag and WebUI outside temperature badge with emoji thresholds: below 50°F ice, 50-74°F happy, 75-84°F sun, and 85°F+ fire.\n\n- Improved WebUI temperature sensor config checkbox layout with compact On/Weather controls.\n\n- Temperature probe assignment now enforces one logical slot per physical DS18B20 address; assigning a probe to a new slot clears the old slot mapping.\n\n- Added per-slot WebUI Clear buttons for temperature probe assignments using the existing `/temps/clear` API.\n \ No newline at end of file diff --git a/firmware/esp32/overland-controller/overland-controller.ino b/firmware/esp32/overland-controller/overland-controller.ino index 182996a..ea1e60c 100644 --- a/firmware/esp32/overland-controller/overland-controller.ino +++ b/firmware/esp32/overland-controller/overland-controller.ino @@ -499,6 +499,26 @@ async function assignTemp(id,index){ alert("Temp probe assigned to "+id); } +async function clearTempAssignment(id){ + if(!confirm("Clear probe assignment for "+id+"?")) return; + + const r=await fetch("/temps/clear",{ + method:"POST", + headers:{"Content-Type":"application/json"}, + body:JSON.stringify({id:id}) + }); + + if(!r.ok){ + const msg=await r.text(); + alert("Failed to clear temp assignment: "+msg); + return; + } + + await fetch("/config/save",{method:"POST"}); + await load(); + alert("Temp probe assignment cleared for "+id); +} + async function restartController(){ if(!confirm("Restart the controller now?")) return; await fetch("/system/restart",{method:"POST"}); @@ -548,6 +568,7 @@ function renderConfigControls(data){ Weather + `).join(""); }