KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Umgebungsvariablen
Sie können Umgebungsvariablen für jede Kamera in den System Settings definieren. Diese Variablen werden in Node-RED bereitgestellt und ermöglichen es Ihnen, Parameter wie PLC IP, Liniennummer, Modbus IP, Zeitzone, FTP-Server und ähnliches an einer zentralen Stelle festzulegen. So lässt sich derselbe Node-RED-Flow einfach auf verschiedenen Linien wiederverwenden und gleichzeitig pro Kamera individuell anpassen. Umgebungsvariablensätze können außerdem in eine .txt-Datei exportiert oder daraus importiert werden, was Deployment und Backup vereinfacht.
Der OV10i wird mit drei integrierten Variablen ausgeliefert — Line Code, Camera Timezone und Date Installed — und Sie können beliebig viele Custom Variables hinzufügen.
Wann Umgebungsvariablen verwenden
Greifen Sie zu Umgebungsvariablen, wenn:
- Derselbe Wert (PLC IP, MES URL, Modbus-Host, Lizenzschlüssel, Schwellenwert, Linien-ID) von mehr als einem Node-RED-Node referenziert wird.
- Ein Wert sich zwischen Deployments unterscheidet und Sie einen Flow möchten, der überall funktioniert — setzen Sie die Variable einmal auf jeder Kamera, statt den Flow zu bearbeiten.
- Sie einen Flow zwischen Kameras teilen möchten (Export/Import), ohne deployment-spezifische Konfiguration in das JSON sickern zu lassen.
- IT oder Bediener einen Wert (z. B. einen neuen FTP-Server) ändern müssen, ohne Node-RED zu öffnen.
Variablen in System Settings definieren
- Klicken Sie in der linken Seitenleiste der Kamera-UI auf System Settings.
- Öffnen Sie den Tab Environment Variables (dritter Tab in der Unternavigation).
- Füllen Sie eine der integrierten Variablen aus:
- Line Code — Bezeichnung oder Code der Produktionslinie (Freitext).
- Camera Timezone — Wählen Sie eine Zeitzone aus dem Dropdown.
- Date Installed — Datumsauswahl.

- Um eine benutzerdefinierte Variable hinzuzufügen, klicken Sie oben rechts auf + New Variable. Eine neue Custom Variables-Zeile mit einem Key/Value-Eingabepaar erscheint. Geben Sie einen Schlüssel (keine Leerzeichen — nur Buchstaben, Ziffern und Unterstriche) und einen Wert ein und klicken Sie dann auf Apply Changes.

Der Schlüssel ist der Name, mit dem Sie die Variable aus Node-RED auslesen. Konvention ist UPPER_SNAKE_CASE (z. B. PLC_IP, MODBUS_IP, FTP_SERVER, LINE_NUMBER, ALERT_THRESHOLD) — Leerzeichen sind in der UI nicht erlaubt.
- Die Kamera fordert Sie vor dem Speichern zur Bestätigung auf. Node-RED wird beim Anwenden neu gestartet, sodass der neue Wert sofort für Flows verfügbar ist.

Das Speichern jeglicher Änderung an Umgebungsvariablen — Hinzufügen, Bearbeiten oder Löschen einer benutzerdefinierten Variable oder das Ändern eines der integrierten Felder — startet die Node-RED-Laufzeitumgebung neu, damit die Werte wirksam werden. Aktive Inspektionen laufen weiter, aber jede aktuell laufende Flow-Ausführung wird unterbrochen. Planen Sie Änderungen während geplanter Ausfallzeiten ein, nicht mitten in der Schicht.
Backup und Wiederherstellung
Die Schaltfläche Export .txt lädt den aktuellen Variablensatz als Klartextdatei (KEY=VALUE-Zeilen) herunter. Import .txt stellt eine zuvor exportierte Datei wieder her. Verwenden Sie dies, um eine bekanntermaßen funktionierende Konfiguration auf mehrere Kameras derselben Linie zu klonen oder um vor einem Re-Imaging ein Backup zu erstellen.
Variablen aus Node-RED auslesen
Öffnen Sie den IO Block in einem beliebigen Rezept und klicken Sie auf Advanced Mode, um Node-RED zu starten. Umgebungsvariablen der Kamera werden Flows auf drei Arten zur Verfügung gestellt — wählen Sie die für Ihren Anwendungsfall passende.
1. Inject-Node mit Payload-Typ env (am einfachsten)
Der schnellste Weg, eine Variable auszulesen, ist ein Inject-Node konfiguriert mit Payload-Typ env und Payload <VAR_NAME>. Beim Auslösen sendet der Inject-Node msg.payload = <Wert der env-Variable> nachgelagert weiter — kein Code, kein Function-Block.

Verdrahten Sie diesen mit einem Debug-Node und lösen Sie den Inject aus — die Debug-Seitenleiste zeigt den aufgelösten Wert.

Dieses Muster eignet sich ideal zur Plausibilitätsprüfung, ob eine Variable definiert ist und korrekt ausgelesen wird. Es ist auch das Muster, das verwendet wird, wenn ein nachgelagerter Node (HTTP-Request, MQTT-Publish, FTP) lediglich den Rohwert als Payload benötigt.
2. Function-Node mit env.get() (programmatisch)
Wenn Sie mehrere Variablen kombinieren, eine strukturierte Message aufbauen oder auf einen Wert verzweigen müssen, verwenden Sie einen Function-Node und die Standard-Node-RED-API env.get():
// Read a built-in variable
const lineCode = env.get("LINE_CODE");
// Read custom variables
const plcIp = env.get("PLC_IP");
const ftpServer = env.get("FTP_SERVER");
// Build a structured message for downstream nodes
msg.payload = {
line: lineCode,
plc: plcIp,
ftp: ftpServer,
capturedAt: new Date().toISOString(),
};
return msg;
Verdrahten Sie diesen mit einem mqtt out-, http request-, ftp- oder email-Node, und die strukturierte Payload wird mitgeführt.
3. ${VAR_NAME}-Substitution in jedem Node-Property
Die meisten Konfigurationsfelder von Nodes unterstützen die Substitution ${VAR_NAME}. Beispielsweise können Sie in einem http request-Node die URL setzen auf:
${MES_ENDPOINT}/api/v1/inspections
…und Node-RED ersetzt den aktuellen Wert der Variable zur Laufzeit. Dasselbe gilt für ftp-Server-Felder, mqtt-Broker-URLs, email-Empfängerlisten und so weiter. So lässt sich deployment-spezifische Konfiguration an einer Stelle (System Settings) festlegen, ohne den Flow anfassen zu müssen.
Häufige Muster
| Muster | Variablenname | Wie ausgelesen |
|---|---|---|
| PLC-Verbindung | PLC_IP, PLC_PORT | Inject + env oder ${PLC_IP} in der PLC-Konfiguration |
| FTP-Bildexport | FTP_SERVER, FTP_USERNAME | FTP-Node Host-/Anmeldedaten-Felder mit ${...}-Substitution oder env.get() in einem Function-Node |
| MES- / Data-Historian-Endpunkt | MES_ENDPOINT | HTTP-Request-Node URL: ${MES_ENDPOINT}/api/... |
| MQTT-Broker | MQTT_BROKER | MQTT-Broker-Konfiguration: ${MQTT_BROKER} |
| Modbus-Host | MODBUS_IP | IP-Feld des Modbus-Nodes |
| Linienkennung (pro Kamera) | LINE_NUMBER, LINE_CODE (integriert) | Wird zur Rückverfolgbarkeit auf jede gepublishte Message gestempelt |
| Schwellenwert für Alarm-Eskalation | ALERT_THRESHOLD | Function-Node, der jüngste Ausfälle zählt |
| Benachrichtigungsliste für Bediener | ALERT_EMAILS | "An"-Feld des E-Mail-Nodes |
Die Seite Environment Variables ist im Klartext gespeichert und für jeden Benutzer mit Zugriff auf System Settings sichtbar. Für Secrets, die stärkeren Schutz benötigen (PLC-Passwörter, signierte Tokens, Zertifikate), verwenden Sie stattdessen den Credentials-Store von Node-RED auf einzelnen Nodes.
Wie geht es weiter
- Node-RED-Grundlagen — Orientierung, falls Sie neu in Node-RED auf der Kamera sind.
- Overview Node-RED Custom Blocks — Referenz für die OV-spezifischen Blöcke, die neben der Standard-Node-RED-Palette erscheinen.
- Outputs einrichten (Schritt 5) — wo Node-RED in den umfassenderen Pass/Fail- und Integrations-Flow passt.