2026-08-02 09:08 nur wechselseitiges Schalter der Frequenzen
This commit is contained in:
parent
abef0122f3
commit
4cc53facc6
1 changed files with 19 additions and 5 deletions
24
main.go
24
main.go
|
|
@ -194,17 +194,18 @@ 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)
|
||||
|
||||
// 1. Sperre: Prüfen auf das Wort "Reserve"
|
||||
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
|
||||
return
|
||||
}
|
||||
|
||||
// Zustand des ausgewählten Relais umkehren
|
||||
config.Relais[i].State = !config.Relais[i].State
|
||||
|
||||
if id == 1 {
|
||||
// Hardware-Schaltung Raspberry Pi GPIO
|
||||
// Hardware-Schaltung Raspberry Pi GPIO (Hauptschalter bleibt unabhängig)
|
||||
pin, exists := relaisMap[id]
|
||||
if exists {
|
||||
if config.Relais[i].State {
|
||||
|
|
@ -214,7 +215,20 @@ func toggleRelaisCallback(id int) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
// Hardware-Schaltung über Abacom USB-Karte via Schieberegister-Emulation
|
||||
// ERWEITERUNG: Gegenseitige Verriegelung für USB-Relais
|
||||
// Wenn das aktuelle USB-Relais auf EIN (true) geschaltet wurde,
|
||||
// müssen alle ANDEREN USB-Relais (ID >= 2) zwangsweise auf AUS (false) gesetzt werden.
|
||||
if config.Relais[i].State {
|
||||
for j := range config.Relais {
|
||||
if config.Relais[j].ID != id && config.Relais[j].ID >= 2 {
|
||||
config.Relais[j].State = false
|
||||
}
|
||||
}
|
||||
fmt.Printf("[🔄] Exklusiv-Modus: Relais ID %d aktiviert. Alle anderen USB-Relais wurden ausgeschaltet.\n", id)
|
||||
}
|
||||
|
||||
// Hardware-Schaltung über Abacom USB-Karte via Schieberegister-Emulation aktualisieren
|
||||
// Da updateUsbRelays() die gesamte Bitmaske liest, wird der neue Zustand sofort übertragen!
|
||||
updateUsbRelays()
|
||||
}
|
||||
break
|
||||
|
|
|
|||
Loading…
Reference in a new issue