Rulechain Grundlagen
Rulechain Grundlagen
Der Bereich Rulechains ist das Herzstück der regelbasierten Datenverarbeitung in optiCLOUD. Auch wenn viele Funktionen der Plattform über Oberflächen wie Devices, Dashboards oder Automation konfiguriert werden, findet die eigentliche Reaktions- und Verarbeitungslogik häufig in der Rule Engine statt.
Deshalb sollten Änderungen an Rulechains immer mit Bedacht vorgenommen werden. Fehlerhafte Regeln oder unklare Verbindungen können direkte Auswirkungen auf Datenverarbeitung, Alarme, Benachrichtigungen oder Integrationen haben.
Übersicht
In der Übersicht des Rulechain-Bereichs werden die vorhandenen Rulechains als Tabelle angezeigt.

Dabei gelten einige Grundprinzipien:
- Die Root Rule Chain ist die zentrale aktive Einstiegskette.
- Sie ist in der Regel deutlich hervorgehoben.
- Andere Rulechains sind zunächst nur Vorlagen oder Teilketten.
- Sie werden erst aktiv, wenn sie als Root Rule Chain gesetzt oder in eine aktive Rule Chain eingebettet werden.
Über die Aktionsleiste können Rulechains:
- erstellt
- importiert
- exportiert
- gelöscht
werden.
Grundprinzip der Rule Engine
Die Rule Engine ist der zentrale Mechanismus zur Verarbeitung von Ereignissen und Daten in optiCLOUD. Sie verarbeitet unter anderem:
- Telemetriedaten
- Attribute
- RPC-Anfragen
- Geräte-Lebenszyklusereignisse
- REST-basierte Ereignisse
- Dateien
- Logs
Die Rule Engine basiert auf drei Hauptbausteinen:
- Nachricht als eingehendes Ereignis oder Datenobjekt
- Regelknoten als Verarbeitungsschritt
- Regelkette als Verbindung mehrerer Knoten zu einem Workflow
Nachrichten
Eine Rule-Engine-Nachricht ist eine serialisierbare, unveränderliche Datenstruktur, die ein Ereignis im System beschreibt.
Beispiele sind:
- eingehende Telemetrie eines Geräts
- Attributaktualisierung
- RPC-Aufruf
- Entitätsereignis wie erstellt, aktualisiert oder gelöscht
- Statusereignisse wie verbunden, getrennt, aktiv oder inaktiv
Eine Nachricht enthält:
- Nachrichten-ID
- Absender oder Ursprung der Nachricht
- Nachrichtentyp
- Nutzdaten als JSON-Body
- Metadaten als zusätzliche Schlüssel-Wert-Paare
Regelknoten
Ein Regelknoten verarbeitet jeweils eine eingehende Nachricht und erzeugt daraus eine oder mehrere ausgehende Nachrichten oder Aktionen.
Je nach Knotentyp kann ein Knoten:
- Nachrichten filtern
- Daten transformieren
- Daten anreichern
- Alarme erzeugen oder löschen
- externe Systeme aufrufen
- Nachrichten an weitere Knoten weiterleiten
Damit ist jeder Knoten eine klar abgegrenzte logische Einheit innerhalb der Rulechain.
Verbindungen und Beziehungen
Regelknoten werden über Verbindungen miteinander verknüpft. Jede Verbindung besitzt einen Beziehungstyp, der bestimmt, unter welcher Bedingung eine Nachricht an den nächsten Knoten weitergegeben wird.
Typische Beziehungstypen sind:
- Success
- Failure
- True
- False
Je nach Knotentyp können auch andere Bezeichnungen verwendet werden, zum Beispiel:
- Post Telemetry
- Attributes Updated
- Entity Created
Dadurch lässt sich die fachliche Bedeutung eines Datenflusses direkt in der Rulechain darstellen.
Hauptmerkmale von Rulechains
Rulechains bieten in optiCLOUD mehrere zentrale Eigenschaften:
- Stream-Verarbeitung für unmittelbar eingehende Daten und Ereignisse
- Workflow-Struktur durch verbundene Regelknoten
- Flexibilität durch integrierte Knoten und benutzerdefinierte Skripte
- Integrationsfähigkeit über HTTP, MQTT, Kafka oder andere Schnittstellen
- Reaktivität für Alarme, Benachrichtigungen und Folgeaktionen
Dadurch lassen sich sowohl einfache Filterregeln als auch komplexe Automatisierungsabläufe modellieren.
Typische Anwendungsfälle
Rulechains werden für Aufgaben eingesetzt wie z.B.:
- Validierung und Transformation eingehender Daten
- Alarmmanagement und Benachrichtigungen bei z.B. Schwellwertüber-/unterschreitungen
- Überwachung des Geräte-Lebenszyklus
- Integration externer Systeme oder Übergabe an externe Datenpipelines oder Plattformen
- Fernsteuerung über RPC
Arbeitsweise im Editor
Wird eine Rulechain geöffnet, erscheint ein Low-Code-Editor auf Basis von Knoten und Verbindungen. Der Aufbau erinnert an Werkzeuge wie Node-RED oder n8n.
Innerhalb dieses Editors wird festgelegt:
- welche Nachrichten in die Kette gelangen
- welche Bedingungen geprüft werden
- welche Aktionen ausgelöst werden
- wie Erfolgs- oder Fehlerpfade weiterlaufen
Basis RuleChain
Die Basis RuleChain oder auch Root RuleChain bildet die Basis der Datenverarbeitung und ist standardmäßig bereits eingerichtet. Sie sieht wie folgt aus:
Jede eingehende Nachricht von einem Gerät oder gelangt über den Input-Knoten ins System und wird sofort an einen Nachrichten-Typ-Switch weitergeleitet, der anhand des Nachrichtentyps bestimmt, wie die Nachricht weiterverarbeitet werden soll.
Von dort aus verzweigt sich die Verarbeitung in mehrere spezialisierte Pfade:
Kernverarbeitung von Nachrichten
| Nachrichten Typ | Weiterleitung | Empfangender Knoten | Erklärung |
|---|---|---|---|
| Post Attribute | an Client-Attribute speichern | Client Attribute speichern | Nachrichten dieses Typs werden verarbeitet, um Geräteattribute dauerhaft in der Datenbank zu speichern. |
| Post Telemetrie | an Zeitreihe speichern | Zeitreihe speichern | Telemetriedaten wie Sensorwerte werden als Zeitreihen in der Datenbank gespeichert. |
| RPC-Anfrage vom Gerät | an Log RPC weitergeleitet | Log RPC vom Gerät | Dient zur Überwachung oder Fehlerbehebung von eingehenden RPC-Aufrufen vom Gerät. |
| RPC-Anfrage an das Gerät | an RPC Call Request | RPC Call Anfrage | Löst einen Remote Procedure Call in Richtung Gerät aus. |
| Alarme senden | an Alarme speichern | Alarme speichern | Alarmzustände werden in der Datenbank gespeichert. |
| Sonstiges | an Sonstiges protokollieren | Log Andere | Nicht unterstützte oder unbekannte Nachrichtentypen werden zur Nachverfolgung protokolliert. |
| Blob-Speicher-Anfrage | an Blob-Speicher verarbeiten | Blob-Speicher-Verarbeitung | Startet die Verarbeitung von dateibezogenen Uploads im DateiSpeicher. |
Beispiel
Für erste praktische Schritte bietet sich ein einfaches, überschaubares Beispiel an. Ein solches Beispiel ist die Alarmierung bei einer Temperaturüberschreitung.
Weiter zur Beispielregel: