Zum Inhalt springen
Zurück zur Knowledge Base

Was sind Edge Apps?

Gilt für die CoCoCo-Plattform v1.0.0-rc.31. Geprüft an den Edge-App-Seiten und der Laufzeitdefinition für Edge Apps dieser Version.

Eine Edge App ist ein kleines Lua-Programm, das Sie einmal für Ihre ganze Instanz anlegen und dann auf einem oder mehreren Controllern installieren, damit es vor Ort neben Ihren Maschinen läuft.

Ein Controller steht in Ihrem eigenen Netz. Code, der dort läuft, erreicht Dinge, an die die Cloud nicht direkt herankommt, zum Beispiel einen lokalen MQTT-Broker, einen OPC-UA-Server, SNMP- oder Modbus-Geräte, Dateien auf einer lokalen Platte oder ein Kommandozeilenprogramm auf diesem Rechner.

Im Edge-App-Editor setzen Sie eine App aus Bausteinen zusammen. Der Editor ist englisch beschriftet:

BausteinWirkung
ScheduleLua nach einem Cron-Zeitplan ausführen.
File tailLua je neu angehängter Zeile einer Logdatei ausführen.
File appears / File disappearsLua ausführen, wenn in einem Verzeichnis eine Datei entsteht oder verschwindet.
MQTT broker / MQTT subscriptionMit einem Broker verbinden, Topics abonnieren und Lua je Nachricht ausführen.
OPC UA endpointMit einem OPC-UA-Server verbinden und Lua je NodeId-Änderung ausführen.
SNMP deviceOIDs abfragen (v2c oder v3) und Lua je Antwort ausführen.
Modbus portHolding-, Input- und Coil-Register über TCP oder RTU abfragen.
Exec commandEin Kommandozeilenprogramm freigeben, das Lua aufrufen darf.
HTTP routeEinen HTTP-Endpunkt auf dem Controller bereitstellen.
RPC handlerEine Funktion bereitstellen, die aus der Cloud aufgerufen werden kann.
VariableEine Einstellung anlegen, die je Controller verschieden sein kann.
Shared code / LibraryWiederverwendbarer Lua-Code für die Handler der App.

Aus ihrem Lua-Code kann eine Edge App Ereignisse und GraphQL-Mutationen an die Plattform senden, an ihre konfigurierten MQTT-Broker und OPC-UA-Endpunkte schreiben, kleine Werte in einem eigenen Speicher ablegen und Logzeilen schreiben.

Jede Edge App hat eine Versionsnummer und einen Lebenszyklus-Status:

  • Draft (Entwurf): die Arbeitskopie. Nur ein Entwurf lässt sich bearbeiten und speichern. Ein Entwurf wird an keinen Controller geschickt.
  • Published (veröffentlicht): eingefroren. Publish an einem Entwurf fragt nach einer Bestätigung, friert diese Version ein und setzt die bisher veröffentlichte Version auf „Deprecated”. Die Seite zeigt danach „Read-only — this version is frozen.” Um eine veröffentlichte App zu ändern, klicken Sie Create new draft.
  • Deprecated (abgelöst): eine ältere, eingefrorene Version. Sie ist in der Edge-App-Liste standardmäßig ausgeblendet (über den Filter „Lifecycle” einblendbar). Installationen, die sie benutzen, laufen weiter, bis sie aktualisiert werden.

Eine Edge App-Installation bringt eine veröffentlichte Version einer Edge App auf einen Controller. Jede Installation hat eigene Werte für die Variablen der App und kann aktiv oder inaktiv sein. Wird eine neuere Version veröffentlicht, wandern Installationen nicht automatisch mit; jede bleibt auf ihrer Version, bis sie aktualisiert wird.

Seitenleiste → IoT → Edge Apps. Die Seite bietet außerdem Import und eine Test Console. Installationen stehen unter Edge App-Installationen.