Konfiguration der Web-UI
Dies ist die Ansicht zur Bearbeitung der Gateway-Einstellungen (Edge-Identifikation · OPC UA · Datentransfer · Betriebsmodus · Platform · AI · HA) über das Web. Die Werte werden letztendlich in app.properties gespeichert.
1. Bildschirmaufbau — Formular mit 7 Tabs
In dieser Ansicht werden die Gateway-Einstellungen in einem formularbasierten Layout nach Kategorien bearbeitet. Unter jedem Eingabefeld ist hinterlegt, was der jeweilige Wert bedeutet und wie der Standardwert lautet.

| Nummer | Position | Funktion |
|---|---|---|
| ① | Ganz oben | Warnpanel — Neustart erforderlich · Pflichtschlüssel · Vorgehen bei Web-UI-Ausfall |
| ② | Darunter | 7 Tabs — Edge · OPC UA Server · Datentransfer · Betriebsmodus · Platform / API · AI-Assistent · HA (Dual Edge) |
| ③ | Oben rechts | Speichern — Speichert nicht nur den aktuellen Tab, sondern alle Werte |
| ④ | Hauptbereich | Gruppenheader — Unterteilt einen Tab in mehrere Abschnitte |
| ⑤ | Jede Zeile | Label · Eingabefeld · Beschreibung und Standardwert |
| ⑥ | Weiter unten | Fortlaufende Gruppen (PLC-Erfassung, Diagnose, REST API-Authentifizierung …) |
Zuvor gab es eine Ansicht, in der der Originaltext von app.properties vollständig mit CodeMirror bearbeitet wurde. Jetzt handelt es sich um ein formularbasiertes Layout, bei dem Schlüssel nicht mehr manuell eingetippt werden. Eine manuelle Dateibearbeitung ist nur notwendig, wenn das Web-UI nicht startet; in diesem Fall ist die im Warnpanel angegebene Stelle /opt/kopens/plantpulse-edge/conf/app.properties zu bearbeiten.
Home-Karte Konfiguration → Klicken oder /ui/system/config.
2. Inhalte der Tabs
Edge
| Gruppe | Element |
|---|---|
| Edge-Identifikation | edge.id · edge.site_id · Aufbewahrungsdauer(edge.ttl) · 24/7-Betrieb(edge.always-on) · Platform-Callback-Adresse(edge.base_url) |
| Administratorkonto | edge.admin_login_id · edge.admin_password |
| Erstregistrierung (CSV) | edge.init — Registriert automatisch OPC- und Tag-CSVs, die beim Booten in /ui/connect/csv hinterlegt wurden |
| PLC-Erfassung | Anzahl Erfassungs-Threads · Erzwingen von Verbindungsreset(ms) · Verbindungswarnung(ms) · Adressscan-Warnung(ms) · Adressmap-Scan-Warnung(ms) |
| Diagnose | edge.diagnostic.send.enabled — Periodische Übertragung an den Platform-Diagnoseserver |
| REST API-Authentifizierung | edge.rest.api.auth · edge.rest.api.key |
Bleibt das Feld leer, wird die Adresse in der Reihenfolge LAN1 → LAN2 → Hostname selbst bestimmt. Geben Sie diese nur explizit an, wenn sich das Gerät hinter einem NAT befindet oder ein separates Management-Netzwerk verwendet wird. Domains und Hostnamen sind möglich, aber da die Platform die Zertifikatsprüfung nur bei privaten IPs lockert, kann TLS bei selbstsignierten Zertifikaten blockiert werden, wenn ein Name verwendet wird.
OPC UA Server
Dies ist der OPC UA Server, den die Edge nach außen bereitstellt (Schnittstelle für externe SCADA-Systeme). Domain · TCP-Port · TLS-Port · Benutzer · Passwort · Anonymer Zugriff erlaubt · Unsichere Endpunkte.
Datentransfer
| Gruppe | Element |
|---|---|
| MQTT-Publisher | mqtt.enable · Host · Port · Benutzer · Passwort · Topic |
| Sparkplug B | sparkplug.enable · Gruppen-ID · Edge-Node-ID · Gerätestrategie · QoS · bdSeq-Pfad · Alias verwenden · Befehlsempfang(sparkplug.cmd.enable) |
Betriebsmodus
Es gibt nur einen Wert dev.mode — entweder EDGE (Platform verbunden) oder STANDALONE (nicht verbunden).
Die Eingabe von PLATFORM stoppt den Startvorgang.
Platform / API
Verbindung zum Platform-Server — Host · Port · SSL · API-Key · Verwendung von Messaging und Broker-Adresse.
In diesem Tab befindet sich eine Schaltfläche für den Verbindungstest. Wie in der Beschreibung angegeben, wird die Verbindung zur Platform /api/v5 mit den aktuell im Bildschirm eingegebenen Werten getestet, ohne diese zu speichern. Da ping keine Authentifizierung erfordert, wird auch der API-Key mit validiert. Dies verhindert, dass man erst nach dem Speichern und Neustarten bemerkt, dass ein falscher Key verwendet wurde.
AI-Assistent
| Gruppe | Element |
|---|---|
| AI-Inferenz-API | ai.enabled · ai.api.base_url · ai.model · ai.api.key |
| Tuning | ai.max_tool_steps · ai.timeout_ms · ai.bulk_read_limit |
Weitere Details finden Sie im AI Edge Assistant.
HA (Dual Edge)
| Gruppe | Element |
|---|---|
| HA-Pair | ha.peer.enabled · Gegenüberliegender Host · Prüfintervall(ms) |
| PLC-Schreibrechte | edge.plc.write_authority |
3. Speichern und Anwendung
Das Speichern schreibt nicht nur den aktuellen Tab, sondern die Werte aller Tabs gleichzeitig (POST /config/save). Das Speichern erfolgt sofort, die Änderungen werden jedoch erst nach einem Neustart der Runtime wirksam.
1. [저장] → 토스트 "재시작 필요"
2. 외부 SCADA / Sparkplug 수신측에 점검 공지 (앱만 재시작해도 30~90초는 끊깁니다)
3. 재시작 (/config/restart 또는 bin/restart.sh)
4. 1–2초 대기 → 화면 새로고침 → /api/v1/edge 로 새 값 확인
Für Elemente, bei denen nur die App neu gestartet werden muss, reicht ein restart-app.sh (30~90 Sek.) aus. Elemente, die einen Neustart bis hin zu DB / MQTT erfordern (z. B. Toggle von mqtt.enable), benötigen einen vollständigen Neustart.
Wie in der Bildschirmwarnung angegeben: «Wenn Pflichtschlüssel leer gelassen oder mit ungültigen Werten gespeichert werden, kann der nächste Bootvorgang fehlschlagen». Falls das Web-UI nicht startet, greifen Sie per SSH zu, korrigieren Sie /opt/kopens/plantpulse-edge/conf/app.properties manuell und führen Sie bin/restart.sh aus.
Im Container-Modus (2026.05+) wird beim Speichern /etc/kopens/app.properties (Host-Bind-Mount) aktualisiert und durch einen Neustart des Containers angewendet. Die auth.properties des HiveMQ-Brokers werden bei jedem Boot automatisch mit mqtt.server.* synchronisiert, sodass keine manuelle Änderung erforderlich ist.
Dies ist auch über die CLI möglich.
sudo bash /opt/kopens/install/bin/config.sh --set edge.rest.api.auth true
sudo bash /opt/kopens/install/bin/config.sh --restart
4. Häufige Fehlerquellen
| Symptom | Ursache / Lösung |
|---|---|
| Speichern war erfolgreich, aber Änderung ist nicht wirksam | Kein Neustart erfolgt. bin/restart.sh aufrufen |
| Web-UI nicht erreichbar nach dem Speichern | Pflichtwert fehlt oder Format ist beschädigt. Manuelle Wiederherstellung per SSH |
| Keine Verbindung zur Platform | Zuerst Verbindungstest drücken — prüft Host, Port, SSL und API-Key simultan |
| Keine Toast-Benachrichtigung direkt nach dem Speichern | Kommunikationsfehler → Netzwerk- / Tomcat-Status prüfen (bin/ps.sh) |
Die vollständige Liste der Schlüssel und Standardwerte finden Sie in der app.properties Referenz.
5. System-Tags (Automatische Registrierung / 90000–90037)
Beim Booten des Gateways werden die eigene Systemverbindung (OPC_SYSTEM_<edge_id>) sowie 38 System-Tags (TAG_<edge_id>_90000 bis _90037) automatisch im OPC-UA Server registriert. Wenn ein externes SCADA- / IIoT-System diese Tags abonniert, erhält es direkt Informationen über Status, Identifikation und Netzwerk des Gateways.
5.1 Identifikation / Netzwerk (90000–90006)
| Index | Metrik | Typ | Bedeutung |
|---|---|---|---|
| 90000 | HOSTNAME | STRING | Hostname der Edge-Box |
| 90001 | VERSION | STRING | Edge-SW-Version |
| 90002 | NET_1_IP | STRING | IP Netzwerkport 1 |
| 90003 | NET_2_IP | STRING | IP Netzwerkport 2 |
| 90004 | NET_WIFI_IP | STRING | Wi-Fi IP |
| 90005 | NET_VPN_IP | STRING | VPN IP |
| 90006 | PING | BOOLEAN | Erreichbarkeit der Platform |
5.2 Ressourcen (90007–90011)
| Index | Metrik | Typ | Bedeutung |
|---|---|---|---|
| 90007 | CPU_USED_PERCENT | DOUBLE | CPU-Auslastung (%) |
| 90008 | MEMORY_USED_PERCENT | DOUBLE | Speicherauslastung (%) |
| 90009 | DISK_USED_PERCENT | DOUBLE | Festplattenauslastung (%) |
| 90010 | NETWORK_RX_BYTES | LONG | Empfangene Netzwerkbytes |
| 90011 | NETWORK_TX_BYTES | LONG | Gesendete Netzwerkbytes |
5.3 Erfassung / Transfer / System (90012–90027)
| Index | Metrik | Typ | Bedeutung |
|---|---|---|---|
| 90012 | PLC_CON_CONNECTED_COUNT | LONG | Anzahl verbundener Verbindungen |
| 90013 | PLC_CON_DISCONNECTED_COUNT | LONG | Anzahl getrennter Verbindungen |
| 90014 | PLC_VALUE_READ_SUCCESS_COUNT | LONG | Anzahl erfolgreicher Tag-Lesevorgänge |
| 90015 | PLC_VALUE_READ_ERROR_COUNT | LONG | Anzahl fehlgeschlagener Tag-Lesevorgänge |
| 90016 | SENDED_POINT_COUNT | LONG | Anzahl an Platform gesendeter Datenpunkte |
| 90017 | SENDED_POINT_BYTES | LONG | An Platform gesendete Bytes |
| 90018 | MPS | LONG | Datenpunkte pro Sekunde |
| 90019 | TEMPERATURE | INT | Gerätetemperatur |
| 90020 | OPC_COUNT | INT | Anzahl registrierter Verbindungen |
| 90021 | TAG_COUNT | INT | Anzahl registrierter Tags |
| 90022 | SERVER_STARTED_TIMESTAMP | LONG | Edge-Startzeitpunkt (epoch ms) |
| 90023 | PLC_PING_FAILED_COUNT | INT | Anzahl Geräte, die nicht auf Ping antworten |
| 90024 | SYSTEM_DB_TTL | INT | Lokale Datenaufbewahrungsdauer (TTL) |
| 90025 | SYSTEM_TOTAL_DB_SIZE | LONG | Lokale DB-Größe |
| 90026 | SYSTEM_ERROR_COUNT | LONG | Anzahl Edge-Fehler |
| 90027 | THREAD_COUNT | LONG | JVM-Thread-Anzahl |
5.4 Betrieb / Identifikation (90028–90037)
| Index | Metrik | Typ | Bedeutung |
|---|---|---|---|
| 90028 | CONNECTED_OPC_IDS | STRING | Liste der verbundenen Verbindungs-IDs |
| 90029 | API_KEY | STRING | REST API-Key Stelle. Wert ist immer maskiert (******), tatsächlicher Key wird nicht gesendet |
| 90030 | REGISTED_OPC_IDS | STRING | Liste der registrierten Verbindungs-IDs |
| 90031 | DISCONNECTED_OPC_IDS | STRING | Liste der getrennten Verbindungs-IDs |
| 90032 | COLLECTING_OPC_IDS | STRING | Liste der Verbindungen in Erfassung |
| 90033 | STOPPED_OPC_IDS | STRING | Liste der gestoppten Verbindungen |
| 90034 | BUILD_DATE | STRING | Edge-Build-Datum |
| 90035 | DOCKER_CONTAINER_NAMES | STRING | Laufende Docker-Container |
| 90036 | NET_MGNT_IP | STRING | Management-Netzwerk IP |
| 90037 | NET_GSM_IP | STRING | Mobilfunk(GSM) IP |
Die Typen beziehen sich auf die Schema-Typen. CPU-, Speicher-, Festplattenauslastung und Netzwerkbytes werden als INT veröffentlicht. System-Tags werden alle 10 Sekunden durch
SendTaskaktualisiert. Wenn ein externes SCADA dies abonniert, kann ein Dashboard erstellt werden, um den Edge-Status ohne Vor-Ort-Besuch im Blick zu behalten.
6. Weiterführende Informationen
- Bedeutung aller Schlüssel: app.properties Referenz
- Neustart nach Änderung: Neustart (
restart.sh) - Änderung nach Backup: Backup (
backup.sh) - Überprüfung von Änderungen via Systemlog: Systemlog anzeigen
- REST API-Authentifizierung / Key-Ausstellung: REST API Guide