Skip to content

Commit f5d925b

Browse files
committed
feat: battery gauge turns green while charging, red while discharging
1 parent b27e71c commit f5d925b

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

‎api/static/index.html‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@
193193
<div class="value" id="gauge-grid">--</div><div class="label" id="grid-gauge">Grid</div>
194194
</div></div>
195195
<div><div class="gauge" data-detail="battery" aria-labelledby="battery-gauge">
196-
<div class="mask"><div class="semi-circle red"></div><div class="semi-circle--mask" id="gauge-battery-mask" style="transform: rotate(0deg)"></div></div>
196+
<div class="mask"><div class="semi-circle red" id="gauge-battery-semi"></div><div class="semi-circle--mask" id="gauge-battery-mask" style="transform: rotate(0deg)"></div></div>
197197
<div class="value" id="gauge-battery">--</div><div class="label" id="battery-gauge">Battery</div>
198198
</div></div>
199199
</div>
@@ -549,6 +549,24 @@ <h3 id="rule-editor-title">Edit Automation</h3>
549549
setGauge('solar', pvTotal, 10000);
550550
setGauge('grid', gridIn - gridOut, 10000);
551551
setGauge('battery', batP, 10000);
552+
setBatteryGaugeColor(batP);
553+
}
554+
555+
function setBatteryGaugeColor(batP) {
556+
const semi = document.getElementById('gauge-battery-semi');
557+
if (!semi) return;
558+
if (batP === undefined || batP === null || Number.isNaN(batP)) {
559+
semi.classList.remove('green');
560+
semi.classList.add('red');
561+
return;
562+
}
563+
if (batP > 0) {
564+
semi.classList.remove('red');
565+
semi.classList.add('green');
566+
} else {
567+
semi.classList.remove('green');
568+
semi.classList.add('red');
569+
}
552570
}
553571

554572
function setGauge(name, value, max) {

0 commit comments

Comments
 (0)