fix(dashboard): move basin gauges to trend pages next to basin chart
Some checks failed
CI / lint-and-test (push) Has been cancelled

The tank gauge (basin level) and 270° arc gauge (fill %) now live on
the trend pages alongside the basin metrics chart — not on the control
page. Each trend page (10 min / 1 hour) gets its own pair of gauges.

Layout per trend page Basin group:
  - Chart (width 8): Basin fill % + Level + Net flow series
  - Tank gauge (width 2): 0–3 m with color zones at stop/start levels
  - Arc gauge (width 2): 0–100% fill with red/orange/green zones

Deployed via partial (nodes-only) deploy so the basin wasn't reset.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-04-14 10:46:38 +02:00
parent a51bc46e26
commit cc4ee670ea
2 changed files with 261 additions and 162 deletions

View File

@@ -1890,12 +1890,14 @@
[
"trend_short_basin",
"trend_long_basin",
"gauge_ps_fill"
"gauge_ps_fill",
"gauge_ps_fill_long"
],
[
"trend_short_basin",
"trend_long_basin",
"gauge_ps_level"
"gauge_ps_level",
"gauge_ps_level_long"
],
[
"trend_short_basin",
@@ -1903,100 +1905,6 @@
]
]
},
{
"id": "gauge_ps_level",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_ps",
"name": "Basin level gauge",
"gtype": "gauge-tank",
"gstyle": "Rounded",
"title": "Basin Level",
"units": "m",
"prefix": "",
"suffix": " m",
"min": 0,
"max": 3,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 0.6
},
{
"color": "#2196f3",
"from": 1.2
},
{
"color": "#ff9800",
"from": 2.5
},
{
"color": "#f44336",
"from": 2.8
}
],
"width": 3,
"height": 5,
"order": 1,
"icon": "",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 900,
"y": 760,
"wires": []
},
{
"id": "gauge_ps_fill",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_ps",
"name": "Basin fill gauge",
"gtype": "gauge-34",
"gstyle": "Rounded",
"title": "Fill",
"units": "%",
"prefix": "",
"suffix": "%",
"min": 0,
"max": 100,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 10
},
{
"color": "#4caf50",
"from": 30
},
{
"color": "#ff9800",
"from": 80
},
{
"color": "#f44336",
"from": 95
}
],
"width": 3,
"height": 4,
"order": 2,
"icon": "water_drop",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 1160,
"y": 760,
"wires": []
},
{
"id": "ui_ps_direction",
"type": "ui-text",
@@ -3546,7 +3454,7 @@
"#e5e5e5"
],
"gridColorDefault": true,
"width": 12,
"width": 8,
"height": 8,
"className": "",
"x": 900,
@@ -3555,6 +3463,100 @@
[]
]
},
{
"id": "gauge_ps_level",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_trend_short_basin",
"name": "Basin level gauge (short)",
"gtype": "gauge-tank",
"gstyle": "Rounded",
"title": "Level",
"units": "m",
"prefix": "",
"suffix": " m",
"min": 0,
"max": 3,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 0.6
},
{
"color": "#2196f3",
"from": 1.2
},
{
"color": "#ff9800",
"from": 2.5
},
{
"color": "#f44336",
"from": 2.8
}
],
"width": 2,
"height": 5,
"order": 2,
"icon": "",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 1160,
"y": 2640,
"wires": []
},
{
"id": "gauge_ps_fill",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_trend_short_basin",
"name": "Basin fill gauge (short)",
"gtype": "gauge-34",
"gstyle": "Rounded",
"title": "Fill",
"units": "%",
"prefix": "",
"suffix": "%",
"min": 0,
"max": 100,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 10
},
{
"color": "#4caf50",
"from": 30
},
{
"color": "#ff9800",
"from": 80
},
{
"color": "#f44336",
"from": 95
}
],
"width": 2,
"height": 4,
"order": 3,
"icon": "water_drop",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 1420,
"y": 2640,
"wires": []
},
{
"id": "trend_long_basin",
"type": "ui-chart",
@@ -3608,15 +3610,109 @@
"#e5e5e5"
],
"gridColorDefault": true,
"width": 12,
"width": 8,
"height": 8,
"className": "",
"x": 900,
"y": 2720,
"y": 2820,
"wires": [
[]
]
},
{
"id": "gauge_ps_level_long",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_trend_long_basin",
"name": "Basin level gauge (long)",
"gtype": "gauge-tank",
"gstyle": "Rounded",
"title": "Level",
"units": "m",
"prefix": "",
"suffix": " m",
"min": 0,
"max": 3,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 0.6
},
{
"color": "#2196f3",
"from": 1.2
},
{
"color": "#ff9800",
"from": 2.5
},
{
"color": "#f44336",
"from": 2.8
}
],
"width": 2,
"height": 5,
"order": 2,
"icon": "",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 1160,
"y": 2820,
"wires": []
},
{
"id": "gauge_ps_fill_long",
"type": "ui-gauge",
"z": "tab_ui",
"group": "ui_grp_trend_long_basin",
"name": "Basin fill gauge (long)",
"gtype": "gauge-34",
"gstyle": "Rounded",
"title": "Fill",
"units": "%",
"prefix": "",
"suffix": "%",
"min": 0,
"max": 100,
"segments": [
{
"color": "#f44336",
"from": 0
},
{
"color": "#ff9800",
"from": 10
},
{
"color": "#4caf50",
"from": 30
},
{
"color": "#ff9800",
"from": 80
},
{
"color": "#f44336",
"from": 95
}
],
"width": 2,
"height": 4,
"order": 3,
"icon": "water_drop",
"sizeGauge": 20,
"sizeGap": 2,
"sizeSegments": 10,
"x": 1420,
"y": 2820,
"wires": []
},
{
"id": "tab_drivers",
"type": "tab",