diff --git a/.claude/scheduled_tasks.lock b/.claude/scheduled_tasks.lock index 5b7058e7..b164d316 100644 --- a/.claude/scheduled_tasks.lock +++ b/.claude/scheduled_tasks.lock @@ -1 +1 @@ -{"sessionId":"bc23825e-6e87-47cb-83c2-7619a4dbe5e1","pid":85745,"acquiredAt":1773696602202} \ No newline at end of file +{"sessionId":"aef6b5e3-0373-504f-b3b1-1e4718aa4e84","pid":611,"procStart":"9877","acquiredAt":1783540195160} \ No newline at end of file diff --git a/wiki/API-Reference:-Dashboard.md b/wiki/API-Reference:-Dashboard.md index ed91fde9..fe9440b9 100644 --- a/wiki/API-Reference:-Dashboard.md +++ b/wiki/API-Reference:-Dashboard.md @@ -2561,6 +2561,10 @@ Sensor-first: w = StatusWidget('Title', 'Temp', 'Threshold', t, 'Value', 85); w = StatusWidget('Title', 'Temp', 'Threshold', 'temp_hi', 'ValueFcn', @getTemp); + MonitorTag bound via 'Tag'/'Sensor' (routed to the Threshold/monitor path + automatically — its 0/1 alarm signal maps to 'violation'/'ok'): + w = StatusWidget('Title', 'Alarm', 'Tag', alarmMonitorTag); + Legacy (still supported): w = StatusWidget('Title', 'Pump 1', 'StatusFcn', @() 'ok'); diff --git a/wiki/Dashboard-Engine-Guide.md b/wiki/Dashboard-Engine-Guide.md index 2f6c3841..ac265b65 100644 --- a/wiki/Dashboard-Engine-Guide.md +++ b/wiki/Dashboard-Engine-Guide.md @@ -133,6 +133,11 @@ d.addWidget('status', 'Title', 'Pump', 'Position', [7 1 5 2], ... d.addWidget('status', 'Title', 'System', 'Position', [12 1 5 2], ... 'Threshold', 'system_hi', 'ValueFcn', @() getSystemValue()); +% MonitorTag bound via 'Tag' — its 0/1 alarm signal maps straight to +% 'violation' (red) / 'ok' (green), no separate 'Threshold' binding needed +d.addWidget('status', 'Title', 'Alarm', 'Position', [17 1 5 2], ... + 'Tag', alarm); + % Legacy static d.addWidget('status', 'Title', 'System', 'Position', [12 1 5 2], ... 'StaticStatus', 'ok'); % 'ok' | 'warning' | 'alarm'