Fondamenti delle rulechain
Fondamenti delle rulechain
L'area Rulechains è il cuore dell'elaborazione dei dati basata su regole in optiCLOUD. Anche se molte funzioni della piattaforma vengono configurate tramite interfacce come Devices, Dashboards o Automation, la vera logica di reazione ed elaborazione risiede spesso nella Rule Engine.
Per questo motivo le modifiche alle rulechain devono sempre essere effettuate con cautela. Regole errate o collegamenti poco chiari possono avere effetti diretti su elaborazione dei dati, allarmi, notifiche o integrazioni.
Panoramica
Nella panoramica dell'area Rulechain le rulechain presenti vengono visualizzate in una tabella.

Valgono alcuni principi fondamentali:
- La Root Rule Chain è la catena di ingresso attiva centrale.
- Di norma è chiaramente evidenziata.
- Le altre rulechain sono inizialmente solo modelli o catene parziali.
- Diventano attive solo quando vengono impostate come Root Rule Chain o incorporate in una rule chain attiva.
Tramite la barra delle azioni le rulechain possono essere:
- create
- importate
- esportate
- eliminate
Principio di base della Rule Engine
La Rule Engine è il meccanismo centrale per l'elaborazione di eventi e dati in optiCLOUD. Elabora, tra l'altro:
- dati di telemetria
- attributi
- richieste RPC
- eventi del ciclo di vita dei dispositivi
- eventi basati su REST
- file
- log
La Rule Engine si basa su tre elementi principali:
- Messaggio come evento o oggetto dati in ingresso
- Nodo regola come fase di elaborazione
- Catena di regole come collegamento di più nodi in un workflow
Messaggi
Un messaggio della Rule Engine è una struttura di dati serializzabile e immutabile che descrive un evento nel sistema.
Esempi sono:
- telemetria in ingresso da un dispositivo
- aggiornamento di attributi
- chiamata RPC
- eventi di entità come creata, aggiornata o eliminata
- eventi di stato come connesso, disconnesso, attivo o inattivo
Un messaggio contiene:
- ID del messaggio
- mittente o origine del messaggio
- tipo di messaggio
- dati utili come body JSON
- metadati come ulteriori coppie chiave-valore
Nodi regola
Un nodo regola elabora di volta in volta un messaggio in ingresso e genera da esso uno o più messaggi o azioni in uscita.
A seconda del tipo di nodo, un nodo può:
- filtrare messaggi
- trasformare dati
- arricchire dati
- generare o eliminare allarmi
- richiamare sistemi esterni
- inoltrare messaggi ad altri nodi
Ogni nodo è quindi un'unità logica chiaramente delimitata all'interno della rulechain.
Collegamenti e relazioni
I nodi regola vengono collegati tra loro tramite connessioni. Ogni connessione ha un tipo di relazione che determina a quale condizione un messaggio viene inoltrato al nodo successivo.
I tipi di relazione tipici sono:
- Success
- Failure
- True
- False
A seconda del tipo di nodo possono essere utilizzate anche altre denominazioni, ad esempio:
- Post Telemetry
- Attributes Updated
- Entity Created
In questo modo il significato specialistico di un flusso di dati può essere rappresentato direttamente nella rulechain.
Caratteristiche principali delle rulechain
Le rulechain offrono in optiCLOUD diverse caratteristiche centrali:
- Elaborazione in streaming per dati ed eventi in ingresso immediato
- Struttura a workflow tramite nodi regola collegati
- Flessibilità grazie a nodi integrati e script personalizzati
- Capacità di integrazione tramite HTTP, MQTT, Kafka o altre interfacce
- Reattività per allarmi, notifiche e azioni successive
In questo modo è possibile modellare sia semplici regole di filtro sia complessi flussi di automazione.
Casi d'uso tipici
Le rulechain vengono impiegate per compiti quali ad es.:
- validazione e trasformazione dei dati in ingresso
- gestione degli allarmi e notifiche in caso di superamento in eccesso o in difetto di soglie
- monitoraggio del ciclo di vita dei dispositivi
- integrazione di sistemi esterni o trasferimento a pipeline di dati o piattaforme esterne
- controllo remoto tramite RPC
Modalità di lavoro nell'editor
Quando si apre una rulechain compare un editor low-code basato su nodi e connessioni. La struttura ricorda strumenti come Node-RED o n8n.
All'interno di questo editor si stabilisce:
- quali messaggi entrano nella catena
- quali condizioni vengono verificate
- quali azioni vengono attivate
- come proseguono i percorsi di successo o di errore
Basis RuleChain
La Basis RuleChain, o anche Root RuleChain, costituisce la base dell'elaborazione dei dati ed è già configurata per impostazione predefinita. Ha il seguente aspetto:
Ogni messaggio in ingresso da un dispositivo entra nel sistema tramite il nodo Input e viene immediatamente inoltrato a uno switch del tipo di messaggio, che in base al tipo di messaggio determina come il messaggio deve essere ulteriormente elaborato.
Da qui l'elaborazione si ramifica in più percorsi specializzati:
Elaborazione centrale dei messaggi
| Tipo di messaggio | Inoltro | Nodo ricevente | Spiegazione |
|---|---|---|---|
| Post Attribute | a Save Client Attributes | Save Client Attributes | I messaggi di questo tipo vengono elaborati per salvare in modo permanente gli attributi dei dispositivi nel database. |
| Post Telemetry | a Save Time Series | Save Time Series | I dati di telemetria, come i valori dei sensori, vengono salvati nel database come serie temporali. |
| RPC Request from Device | inoltrato a Log RPC | Log RPC from Device | Serve al monitoraggio o alla risoluzione dei problemi delle chiamate RPC in ingresso dal dispositivo. |
| RPC Request to Device | a RPC Call Request | RPC Call Request | Attiva una Remote Procedure Call verso il dispositivo. |
| Post Alarms | a Save Alarms | Save Alarms | Gli stati di allarme vengono salvati nel database. |
| Other | a Log Other | Log Other | I tipi di messaggio non supportati o sconosciuti vengono registrati per la tracciabilità. |
| Blob Store Request | a Process Blob Store | Process Blob Store | Avvia l'elaborazione degli upload relativi ai file nell'archivio file. |
Esempio
Per i primi passi pratici è indicato un esempio semplice e di facile comprensione. Un esempio di questo tipo è la segnalazione di allarme in caso di superamento di una temperatura.
Proseguire con la regola di esempio: