Ein Flow ist eine Kette von Blöcken auf einer Arbeitsfläche. Ein Trigger startet ihn mit einer Nachricht; danach prüfen, leiten, transformieren, speichern, warten und handeln die Blöcke. Flows sind das flexibelste Automatisierungswerkzeug von Hermetry: Sie speichern Ihre Gerätedaten, berechnen abgeleitete Werte, rufen externe Systeme auf, senden Benachrichtigungen und Befehle und reagieren auf Zeitpläne, Webhooks und Ereignisse.
Sie erstellen Flows unter Automation. Jeder Flow wird als Entwurf bearbeitet und läuft erst, nachdem Sie ihn deployen; jedes Deployment ist eine nummerierte Version, auf die Sie zurückrollen können.
Was Flows in Hermetry leisten
| Aufgabe | Umsetzung |
|---|---|
| Gerätedaten speichern | Der Root-Flow empfängt jede Gerätenachricht und speichert Telemetrie und Attribute. Nur Flows speichern Daten. |
| Alarmregeln auswerten | Der Block Alarm rules des Root-Flows führt die Alarmregeln des Geräteprofils aus. |
| Werte ableiten | Blöcke zwischen der Gerätenachricht und Save telemetry berechnen neue Schlüssel. |
| Integrieren | Die Blöcke HTTP request, MQTT out und Webhook senden Daten hinaus; ein Webhook-Trigger nimmt Daten entgegen. |
| Reagieren | Trigger für Zeitpläne, Alarme, Attributänderungen, benannte Timer und Ereignisse starten Arbeit. |
| Menschen und Geräte informieren | Die Blöcke Notify, Raise alarm, Send command und Set shared attribute. |
Hosts
Jeder Flow gehört zu genau einem Host, der beim Anlegen gewählt und nie geändert wird:
| Host | Angezeigt als | Empfängt | Typische Flows |
|---|---|---|---|
| IoT | IoT | Gerätenachrichten, Alarme, Attributänderungen sowie Zeitpläne, Webhooks und Ereignisse | Der Root-Flow, Root-Flows von Profilen, Alarm-Eskalationen, Integrationen von Gerätedaten |
| General | General | Zeitpläne, Webhooks, Ereignisse und Nachrichten anderer Flows | Integrationen und Jobs, die nicht an einer Gerätenachricht hängen |
Der Host bestimmt, welche Blöcke Sie verwenden können: Die Geräte-Blöcke (Save telemetry, Send command, Raise alarm …) gibt es nur auf dem IoT-Host. Siehe Hosts, Root-Flow und Root-Flows von Profilen.
Flows, Alarmregeln und die Rules-Karte
| Werkzeug | Geeignet für | Erstellt in |
|---|---|---|
| Alarmregeln | Schwellenwerte und Bedingungen für die Messwerte eines Geräteprofils, mit Entprellung, Hysterese und Benachrichtigungen | Der Tab Alarm rules des Geräteprofils. Alarmregeln auf Geräteprofilen |
| Rules-Karte | „Wenn das passiert, dann das“ für Bediener: Befehle, Einstellungen, Benachrichtigungen, Modi Manual und Auto | Die Rules-Karte eines Dashboards. Die Regel-Engine |
| Flows | Alles Übrige: Daten transformieren und speichern, Integrationen, Logik, die die anderen beiden nicht abbilden | Automation |
Eine Regel der Rules-Karte läuft ebenfalls als Flow. Sie erscheint in der Flow-Liste mit einem Abzeichen Built by und öffnet sich schreibgeschützt; ändern Sie sie auf der Rules-Karte oder nutzen Sie Detach into an ordinary flow, um sie hier zu bearbeiten (dies kann nicht rückgängig gemacht werden). Siehe Flows im Abschnitt Alarme.
Wer was darf
| Berechtigung | Standardrolle | Erlaubt |
|---|---|---|
| Flows und den Node-Katalog ansehen | Admin | Die Flow-Liste und den Editor schreibgeschützt öffnen |
| Flows erstellen, bearbeiten und deployen | Admin | Alles zum Erstellen und Deployen von Flows, Import und Export |
| Flows mit steuernden Nodes deployen | Admin | Flows mit Blöcken deployen, die Geräte oder andere Flows steuern |
| Nachrichten injizieren, Payloads und Dead Letters einsehen | Admin | Nachrichteninhalte einsehen, debuggen, aus dem Live-Zustand testen, fehlgeschlagene Nachrichten erneut abspielen |
| Session-Auth-Webhooks deployter Flows aufrufen | User | Einen Flow über einen Session-Webhook aus einer Dashboard-Steuerung oder Seite der App starten |
Siehe Berechtigungsreferenz.
Nachrichten
Blöcke geben Nachrichten weiter. Die Felder, die Sie am häufigsten verwenden:
| Feld | Enthält |
|---|---|
msg.payload | Die Daten: Messwerte eines Geräts, der Body eines Webhooks, der Tick eines Zeitplans |
msg.topic | Ein kurzes Label; viele Blöcke legen ihren Speicher darauf an |
msg.metadata | Fakten über die Nachricht: deviceId, deviceName, profileName, msgType, ts (Empfangszeit), recordTs (Messzeit) und weitere. Wird nie gespeichert. |
msg.msgType | telemetry, attributes, connect, alarm … Nur lesbar. |
msg.originator | Worauf sich die Nachricht bezieht: ein Gerät, die Organisation oder der Flow. Nur lesbar. |
Werte in Block-Einstellungen können feste Werte, Pfade wie msg.payload.level, Ausdrücke oder {{ }}-Templates sein. Siehe Bedingungsblöcke.
In diesem Abschnitt
| Seite | Inhalt |
|---|---|
| Der Flow-Editor | Arbeitsfläche, Palette, Verdrahtung, Block-Einstellungen, Speichern und Deployen |
| Hosts, Root-Flow und Root-Flows von Profilen | Wohin Gerätenachrichten gehen und wie Daten gespeichert werden |
| Versionen, Tests und Zurückrollen | Entwürfe, Versionen, der Test-Runner, Rollback, Import und Export |
| Schutzmechanismen und fehlgeschlagene Nachrichten | Automatische Pausen, der Notfall-Stopp, fehlgeschlagene Nachrichten und Warnungen |
| Flow-Vorlagen | Fertige Flows als Ausgangspunkt |
| Flow-Limits | Limits des Tarifs und feste Limits |
| Trigger-Blöcke | Was einen Flow startet |
| Bedingungsblöcke | Ja/Nein-Prüfungen und die Ausdruckssprache |
| Routing- und Timing-Blöcke | Switch, Gate, Split, Join, Delay, Rate Limit … |
| Datentransformationsblöcke | Change, calculate, template, JSON, CSV, bytes … |
| Zähler, Statistiken und Watchdogs | Blöcke, die sich etwas merken |
| Der Script-Block | JavaScript in einem Flow |
| Aktionsblöcke | HTTP, MQTT, Webhooks, Ereignisse, Variablen, Timer, andere Flows, Logging |
| IoT-Datenblöcke | Speichern von Telemetrie und Attributen, Alarmregeln, Anreicherung |
| Alarm-, Befehls- und Benachrichtigungsblöcke | Alarme, Gerätebefehle, Geräteanfragen, Benachrichtigungen |
| Verbindungen und Geheimnisse | MQTT-Broker und HTTP-Endpunkte |
| Flow-Kochbuch | Sofort baubare Flows |
| Fehlersuche bei Flows | Herausfinden, was ein Flow getan hat |

