1.9 KiB
1.9 KiB
⚙️ AnalogInputsSettingsModal
Diese Komponente zeigt ein zentriertes Modal zur Konfiguration eines analogen Eingangs.
🧩 Funktion
- Wird angezeigt, wenn
isOpentrue ist und einselectedInputgesetzt ist. - Zeigt alle relevanten Felder zur Konfiguration:
- Bezeichnung
- Offset (z. B. für Kalibrierung)
- Faktor (Multiplikator)
- Einheit (Dropdown: V, mA, °C, bar, %)
- Loggerintervall (in Minuten)
✏️ Verwendung
<AnalogInputSettingsModal
selectedInput={input}
isOpen={modalOpen}
onClose={() => setModalOpen(false)}
/>
💾 Speichern-Logik
Beim Klick auf „Speichern“ werden die Einstellungen auf zwei verschiedene Arten verarbeitet:
🔧 Entwicklungsmodus (localhost):
- Daten werden per POST an die lokale API gesendet:
/api/cpl/updateAnalogInputsSettingsHandler - Die Datenstruktur orientiert sich an
window.win_analogInputs*Variablen
🚀 Produktionsmodus:
- Daten werden über einen GET-Request mit URL-Parametern an ein CGI-Backend übermittelt:
/CPL?/Service/ae.ACP&ACN{slot}=...&ACO{slot}=...
🧪 Besonderheiten
- Werte wie
offsetundfactorwerden als String mit,oder.akzeptiert und korrekt konvertiert. - Eingabefelder sind per
useStategebunden. - Ein
console.logzeigtloggerInterval, wennselectedInputgeladen wird. - Nach erfolgreichem Speichern wird die Seite neu geladen (
location.reload()), um aktuelle Werte anzuzeigen.
🛑 Validierung
- Aktuell keine Validierung gegen ungültige Werte (z. B. negatives Intervall oder leere Felder).
- Sollte ggf. ergänzt werden, wenn das Backend empfindlich auf falsche Werte reagiert.
🖼️ UI/UX
- Modal ist zentriert mit dunklem Overlay.
- Abbrechen über „X“-Button oben rechts.
- Tailwind CSS für Layout und Styling verwendet.