# KVZ System - Mein aktuelles Verständnis

## System Übersicht

```mermaid
graph TB
    subgraph "Kabelüberwachung System (32 Slots)"
        Slot0["Slot 0<br/>Kabelüberwachung"]
        Slot1["Slot 1<br/>Kabelüberwachung"]
        Slot2["Slot 2<br/>Kabelüberwachung"]
        Slot3["Slot 3<br/>Kabelüberwachung"]
        SlotDots["..."]
        Slot31["Slot 31<br/>Kabelüberwachung"]
    end

    subgraph "KVZ Geräte (Optional pro Slot)"
        KVZ0["KVZ Gerät<br/>für Slot 0"]
        KVZ1["KVZ Gerät<br/>für Slot 1"]
        KVZ2["KVZ Gerät<br/>für Slot 2"]
        KVZ3["KVZ Gerät<br/>für Slot 3"]
    end

    subgraph "KVZ LEDs (4 pro KVZ Gerät)"
        subgraph "KVZ0 LEDs"
            LED0_0["LED 1"]
            LED0_1["LED 2"]
            LED0_2["LED 3"]
            LED0_3["LED 4"]
        end

        subgraph "KVZ1 LEDs"
            LED1_0["LED 1"]
            LED1_1["LED 2"]
            LED1_2["LED 3"]
            LED1_3["LED 4"]
        end
    end

    Slot0 -.-> KVZ0
    Slot1 -.-> KVZ1
    Slot2 -.-> KVZ2
    Slot3 -.-> KVZ3

    KVZ0 --> LED0_0
    KVZ0 --> LED0_1
    KVZ0 --> LED0_2
    KVZ0 --> LED0_3

    KVZ1 --> LED1_0
    KVZ1 --> LED1_1
    KVZ1 --> LED1_2
    KVZ1 --> LED1_3
```

## Redux Data Structure - Mein Verständnis

```mermaid
graph TB
    subgraph "Redux Store"
        subgraph "kvzPresence Array (32 Elemente)"
            P0["Index 0: 1<br/>(KVZ vorhanden)"]
            P1["Index 1: 0<br/>(KVZ nicht vorhanden)"]
            P2["Index 2: 0"]
            P3["Index 3: 0"]
            PDots["..."]
            P31["Index 31: 0"]
        end

        subgraph "kvzStatus Array (128 Elemente)"
            subgraph "Slot 0 LEDs (Index 0-3)"
                S0_0["Index 0: 1 (grün)"]
                S0_1["Index 1: 0 (rot)"]
                S0_2["Index 2: 1 (grün)"]
                S0_3["Index 3: 0 (rot)"]
            end

            subgraph "Slot 1 LEDs (Index 4-7)"
                S1_0["Index 4: 0"]
                S1_1["Index 5: 0"]
                S1_2["Index 6: 0"]
                S1_3["Index 7: 0"]
            end

            StatusDots["...weitere 120 Elemente"]
        end
    end
```

## UI Darstellung - Mein aktuelles Verständnis

```mermaid
graph LR
    subgraph "FallSensors UI Component"
        subgraph "Aktuelle Implementierung (FALSCH?)"
            UI1["KVZ1: 🟢<br/>(kvzPresence[0] = 1)"]
            UI2["KVZ2: 🔴<br/>(kvzPresence[1] = 0)"]
            UI3["KVZ3: 🔴<br/>(kvzPresence[2] = 0)"]
            UI4["KVZ4: 🔴<br/>(kvzPresence[3] = 0)"]
        end
    end

    subgraph "Problem"
        Problem["Alle KVZ zeigen den gleichen Status<br/>basierend auf kvzPresence Array<br/>→ NICHT korrekt!"]
    end

    UI1 -.-> Problem
    UI2 -.-> Problem
    UI3 -.-> Problem
    UI4 -.-> Problem
```

## Fragen zu meinem Verständnis

1. **KVZ Geräte Zuordnung**:

   - Ist ein KVZ-Gerät einem Slot zugeordnet oder unabhängig?
   - Wie viele KVZ-Geräte gibt es insgesamt?

2. **UI KVZ1-KVZ4**:

   - Repräsentieren KVZ1-KVZ4 in der UI die ersten 4 Slots (0-3)?
   - Oder sind es 4 separate, unabhängige KVZ-Geräte?

3. **LED Status Mapping**:

   - Welche LED von welchem KVZ soll in KVZ1, KVZ2, KVZ3, KVZ4 angezeigt werden?
   - Soll jedes UI-KVZ eine andere LED des gleichen Geräts zeigen?
   - Oder soll jedes UI-KVZ ein anderes KVZ-Gerät repräsentieren?

4. **kvzStatus Array**:
   - Wie soll das 128-Element Array für die UI-Darstellung genutzt werden?
   - Welche Indizes entsprechen welchen UI-Elementen?

## Verdacht

Ich vermute, dass mein aktueller Ansatz falsch ist, weil:

- KVZ2 sollte nicht eine Kopie von KVZ1 Status sein
- Jedes KVZ in der UI sollte einen eigenen, unabhängigen Status haben
- Die Zuordnung zwischen Redux Arrays und UI ist unklar

**Bitte korrigieren Sie mein Verständnis! 🤔**
