Haltezeit frei in Minuten eingeben statt aus Stufen waehlen

Wonach man sucht, haengt am Messwert: eine offene Tuer faellt nach zwei
Minuten auf, ein laufender Wasserhahn erst nach Stunden. Eine Stufenliste
traf damit immer nur die Haelfte der Faelle.

Das Feld nimmt Minuten, das Modell rechnet in Sekunden weiter. Die Kopfzeile
des Rahmens rechnet beim Tippen mit - aus "210" wird dort "erst nach 3,5
Std.", also steht die lesbare Fassung neben der eingebbaren.

haltezeitPruefen() ersetzt die Whitelist: nicht unter null, nicht ueber
einen Tag, auf ganze Minuten gerundet. Sekunden gewinnen hier nichts, die
Messwerte kommen viel seltener.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-21 09:21:24 +02:00
co-authored by Claude Opus 5
parent e3ac9bad37
commit 229910bcb8
4 changed files with 49 additions and 32 deletions
+12 -6
View File
@@ -312,7 +312,6 @@ $nutzdaten = json_encode([
"automation" => $auto,
"devices" => deviceCatalog(),
"lockouts" => lockoutChoices(),
"haltezeiten" => haltezeitChoices(),
"ferien" => kalendertagChoices("Ferien", "in den Ferien"),
"feiertage" => kalendertagChoices("Feiertage", "an Feiertagen"),
"tagvorlagen" => tagVorlagen(),
@@ -467,14 +466,21 @@ $nutzdaten = json_encode([
</div>
<!--
Haltezeit. Sie steht neben der Sperre, weil beide dasselbe Mittel
benutzen - Sekunden - und trotzdem entgegengesetzt wirken: die
Sperre bremst die Wiederholung, die Haltezeit den ersten Lauf.
"Auslösen" davor gelesen ergibt den Satz.
benutzen - Zeit - und trotzdem entgegengesetzt wirken: die Sperre
bremst die Wiederholung, die Haltezeit den ersten Lauf.
Freie Minuten statt einer Auswahlliste: Wonach man sucht, haengt am
Messwert. Die Zeile über dem Rahmen rechnet beim Tippen mit und
zeigt "erst nach 3,5 Std." - dort steht die lesbare Fassung, hier
die eingebbare.
-->
<div class="col-sm-6">
<div class="input-group input-group-sm">
<span class="input-group-text">Auslösen</span>
<select class="form-select" id="holdSecs"></select>
<span class="input-group-text">Auslösen erst nach</span>
<input type="number" class="form-control" id="holdMin"
min="0" max="1440" step="5" value="0"
title="So lange muss die Bedingung ohne Unterbrechung erfüllt sein. 0 = sofort.">
<span class="input-group-text">Min. am Stück</span>
</div>
</div>
</div>