143 lines
3.7 KiB
Markdown
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! 🤔**
|