# 🔁 Geräte-Layer Upgrade: Dynamische Initialisierung über IdSystem

## 📅 Änderungsdatum: 2025-06-02

---

## 🧩 Ziel

Die Marker-Einblendung (Geräte) sollte über `System` (Stationsdaten) mit `IdSystem` (Systemdaten) verglichen werden. Früher wurde fälschlich über `Name` verglichen. Außerdem sollten die Layer-Schlüssel konsistent und dynamisch verwaltet werden.

---

## ✅ Änderungen im Detail

### Redux:

- `mapLayersSlice` überarbeitet:
  - Statische Namen (z. B. `SMSFunkmodem`) entfernt
  - Dynamische Initialisierung mit `system-<IdSystem>`
  - `setInitialLayers(systems[])` Action erstellt

### Thunks:

- `fetchGisSystemStaticThunk.js` erweitert:
  - Initialisiert `mapLayers` mit `setInitialLayers`
  - Liefert Redux-Layerstatus zu jedem System

### Services:

- `fetchGisSystemStaticService.js` liefert `IdSystem`

### Komponenten:

- `useDynamicDeviceLayers.js`: verwendet `IdSystem` als Vergleich (`station.System === system.IdSystem`)
- `MapLayersControlPanel.js`: generiert Checkboxen mit `key = system-<IdSystem>`

---

## 🧪 Ergebnis

- Marker (z. B. SMS-Funkmodem) erscheinen korrekt
- Checkboxen steuerbar
- Architektur dokumentiert in:
- [`docs/architecture/device-layer-connection.md`](/docs/architecture/device-layer-connection.md)

---

## 🏷 Version

Diese Änderung wurde mit dem Tag [`v1.1.210`](https://your-git-remote/tags/v1.0.1) versehen.
