2026-08-02 09:01 Reserve-Relais dürfen nicht eingeschaltet werden"

This commit is contained in:
Dieter Lang 2026-08-02 09:01:20 +02:00
parent a94c35f665
commit abef0122f3
2 changed files with 18 additions and 0 deletions

View file

@ -6,6 +6,7 @@ import (
"log"
"os"
"sync"
"strings"
"spannung/web" // Importiert Ihr eigenes web-Paket
@ -193,6 +194,13 @@ func toggleRelaisCallback(id int) {
for i := range config.Relais {
if config.Relais[i].ID == id {
// ERWEITERUNG: Prüft, ob das Wort "reserve" im Namen enthalten ist (Groß-/Kleinschreibung egal)
if strings.Contains(strings.ToLower(config.Relais[i].Name), "reserve") {
fmt.Printf("[⚠️] Schalten blockiert: '%s' (ID %d) ist als Reserve geschützt!\n", config.Relais[i].Name, id)
return // Bricht die Funktion sofort ab, der Status ändert sich nicht
}
config.Relais[i].State = !config.Relais[i].State
if id == 1 {

View file

@ -79,6 +79,16 @@
data.relais.forEach(r => {
const btn = document.getElementById(`relais-btn-${r.id}`);
if (btn) {
// ERWEITERUNG: Wenn der Name das Wort "Reserve" enthält, Button deaktivieren und stylen
if (r.name && r.name.toLowerCase().includes('reserve')) {
btn.className = 'btn btn-off';
btn.innerText = `${r.name}: GESPERRT`;
btn.disabled = true;
btn.style.opacity = '0.3';
btn.style.cursor = 'not-allowed';
return; // Zum nächsten Relais springen
}
if (r.state) {
btn.className = 'btn btn-on';
btn.innerText = `${r.name}: AKTIV (Ausschalten)`;