From 3c438bd4acc98968603b6657ef0e5037ff38048c Mon Sep 17 00:00:00 2001 From: nick Date: Fri, 19 Jun 2026 01:57:12 -0600 Subject: [PATCH] dashboard: compute temp alert from contract threshold --- firmware/esp32-s3-dashboard/dashboard_config.h | 2 +- .../esp32-s3-dashboard/esp32-s3-dashboard.ino | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/firmware/esp32-s3-dashboard/dashboard_config.h b/firmware/esp32-s3-dashboard/dashboard_config.h index defb646..26c6a34 100644 --- a/firmware/esp32-s3-dashboard/dashboard_config.h +++ b/firmware/esp32-s3-dashboard/dashboard_config.h @@ -1,6 +1,6 @@ #pragma once -static const char *DASHBOARD_VERSION = "0.1.117-temp-alert-contract-logic"; +static const char *DASHBOARD_VERSION = "0.1.118-temp-alert-local-threshold"; // Update these if your Cargo ESP AP credentials are different. //static const char *CARGO_WIFI_SSID = "OverlandController"; diff --git a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino index ce71b45..108f320 100644 --- a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino +++ b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino @@ -1464,13 +1464,14 @@ static void parse_status_json(const String &body) } float temp_f = (float)(temp["temperature_f"] | 0.0); - bool high_alert = - (temp["high_alert"] | false) || - ( - (temp["high_alert_enabled"] | false) && - !temp["high_alert_f"].isNull() && - temp_f > (float)(temp["high_alert_f"] | 9999.0) - ); + bool high_alert = temp["high_alert"] | false; + + bool high_alert_enabled = temp["high_alert_enabled"] | false; + float high_alert_f = (float)(temp["high_alert_f"] | 9999.0); + + if (high_alert_enabled && temp_f >= high_alert_f) { + high_alert = true; + } if (weather) { outside_status = "OUT ";