Files
CPLv4.0/docs/KVZ/kvz-system-understanding.md
2025-07-31 13:44:30 +02:00

143 lines
3.7 KiB
Markdown

# 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! 🤔**