Skip to content

Commit 5d76554

Browse files
Copilotdorkmo
andcommitted
Add checkboxes to High Alarm and Low Alarm to enable/disable each independently
Each alarm type can now be individually enabled or disabled via checkboxes, allowing users to configure only high alarm, only low alarm, or both. Co-authored-by: dorkmo <[email protected]>
1 parent 00b311d commit 5d76554

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

TankAlarm-112025-Server-BluesOpta/TankAlarm-112025-Server-BluesOpta.ino

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -737,8 +737,8 @@ static const char CONFIG_GENERATOR_HTML[] PROGMEM = R"HTML(
737737
<div class="collapsible-section alarm-section">
738738
<h4 style="margin: 16px 0 8px; font-size: 0.95rem; border-top: 1px solid var(--card-border); padding-top: 12px;">Alarm Thresholds <button type="button" class="remove-btn" onclick="removeAlarmSection(${id})" style="float: right;">Remove Alarm</button></h4>
739739
<div class="form-grid">
740-
<label class="field"><span>High Alarm</span><input type="number" class="high-alarm" value="100"></label>
741-
<label class="field"><span>Low Alarm</span><input type="number" class="low-alarm" value="20"></label>
740+
<label class="field"><span><label style="display: flex; align-items: center; gap: 6px;"><input type="checkbox" class="high-alarm-enabled" checked> High Alarm</label></span><input type="number" class="high-alarm" value="100"></label>
741+
<label class="field"><span><label style="display: flex; align-items: center; gap: 6px;"><input type="checkbox" class="low-alarm-enabled" checked> Low Alarm</label></span><input type="number" class="low-alarm" value="20"></label>
742742
</div>
743743
</div>
744744
@@ -805,6 +805,8 @@ static const char CONFIG_GENERATOR_HTML[] PROGMEM = R"HTML(
805805
// Reset alarm values to defaults
806806
card.querySelector('.high-alarm').value = '100';
807807
card.querySelector('.low-alarm').value = '20';
808+
card.querySelector('.high-alarm-enabled').checked = true;
809+
card.querySelector('.low-alarm-enabled').checked = true;
808810
};
809811
810812
window.toggleRelaySection = function(id) {
@@ -946,6 +948,8 @@ static const char CONFIG_GENERATOR_HTML[] PROGMEM = R"HTML(
946948
947949
// Check if alarm section is enabled
948950
const alarmSectionVisible = card.querySelector('.alarm-section').classList.contains('visible');
951+
const highAlarmEnabled = card.querySelector('.high-alarm-enabled').checked;
952+
const lowAlarmEnabled = card.querySelector('.low-alarm-enabled').checked;
949953
const highAlarmValue = card.querySelector('.high-alarm').value;
950954
const lowAlarmValue = card.querySelector('.low-alarm').value;
951955
@@ -964,10 +968,14 @@ static const char CONFIG_GENERATOR_HTML[] PROGMEM = R"HTML(
964968
upload: true
965969
};
966970
967-
// Only include alarm values if alarm section is visible and values are set
968-
if (alarmSectionVisible && (highAlarmValue || lowAlarmValue)) {
969-
tank.highAlarm = parseFloat(highAlarmValue) || 100;
970-
tank.lowAlarm = parseFloat(lowAlarmValue) || 20;
971+
// Only include alarm values if alarm section is visible and individual alarms are enabled
972+
if (alarmSectionVisible && (highAlarmEnabled || lowAlarmEnabled)) {
973+
if (highAlarmEnabled && highAlarmValue) {
974+
tank.highAlarm = parseFloat(highAlarmValue) || 100;
975+
}
976+
if (lowAlarmEnabled && lowAlarmValue) {
977+
tank.lowAlarm = parseFloat(lowAlarmValue) || 20;
978+
}
971979
tank.alarmSms = true;
972980
} else {
973981
// No alarm configured - disable SMS alerts

0 commit comments

Comments
 (0)