CloudLink – Funktionsbeschreibung
CloudLink (HP.CloudLink) ist eine App von Herborner Pumpen für die FLECS-Plattform. Sie verbindet die Herborner-Apps auf dem Gerät mit der Herborner-Cloud: Sie überträgt Mess- und Kennwerte, Ereignisse, Protokolle und Statistiken verschlüsselt per MQTT in die Cloud und liefert Konfigurationen und Wartungsaufträge aus der Cloud an das Gerät. Die Anmeldung an der Cloud erfolgt automatisch.
Die Apps im Zusammenspiel
| App | Aufgabe |
|---|---|
| HP.CloudLink | Verbindung zur Herborner-Cloud (diese App) |
| HP.ModbusConnector | Modbus-TCP-Schnittstelle zur Steuerung: gibt die Messwerte der Pumpen auf den Datenbus und stellt die Kennwerte als Register bereit |
| HP.AiCore | Wertet die Pumpendaten aus: Differenzdruck, Wirkungsgrad, Pumpen-Statuswort, Vorfilterzustand und berechneter Volumenstrom |
| FLECS Service Mesh | Gemeinsamer Datenbus, über den die Apps auf dem Gerät ihre Daten austauschen |
Alle Apps laufen auf demselben FLECS-Gerät und tauschen ihre Daten ausschließlich über den Datenbus aus. CloudLink ist die einzige App mit einer Verbindung zur Cloud.
Datenbus HP.CloudLink Herborner-Cloud
┌────────────────────┐ Daten ┌──────────────────┐ Daten ┌─────────────────┐
│ HP.ModbusConnector │ ──────► │ Warteschlange │ ─────────► │ AWS IoT Core │
│ HP.AiCore │ Konfig. │ (lokal) │ Konfig. │ (Frankfurt) │
│ │ ◄────── │ │ ◄───────── │ │
└────────────────────┘ └──────────────────┘ └─────────────────┘
Datenfluss
- HP.ModbusConnector und HP.AiCore geben die Mess- und Kennwerte der Pumpen und Entities auf den Datenbus. Alle Herborner-Apps melden dort außerdem Ereignisse, Protokolle und Statistiken.
- CloudLink fasst die Werte im Sendeintervall (Standard: 10 s) zu einer Nachricht zusammen. Für Pumpen sendet die App alle vorliegenden Werte, für Entities nur die seit der letzten Nachricht geänderten – im Intervall, das für die jeweilige Entity eingestellt ist. Ereignisse, Protokolle und Statistiken leitet sie ohne Verzögerung weiter.
- Jede Nachricht landet zuerst in einer lokalen Warteschlange. Von dort überträgt die App sie mit Empfangsbestätigung (MQTT QoS 1) in die Cloud; erst nach der Bestätigung verlässt die Nachricht die Warteschlange.
- Aus der Cloud erhält CloudLink die Konfigurationen von Pumpen, Entities und Apps, dort vorgegebene Werte sowie Wartungsaufträge. Die App gibt sie über den Datenbus an die zuständigen Apps weiter und meldet die übernommene Konfiguration an die Cloud zurück.
Zusätzlich meldet die App Geräteinformationen an die Cloud: FLECS-Version und Lizenzkennung, Systemarchitektur, Kernel-Version und Hostname sowie die installierten Apps mit ihren Versionen.
Netzwerk und Firewall
CloudLink baut alle Verbindungen ausgehend auf und nimmt keine Verbindungen aus dem Internet an. Das Gerät braucht folgende Freigaben:
| Ziel | Port | Zweck | Erforderlich |
|---|---|---|---|
a2ycqgha2l0e00-ats.iot.eu-central-1.amazonaws.com |
TCP 8883 |
MQTT über TLS zur Herborner-Cloud (AWS IoT Core, Region Frankfurt) | ja |
| DNS-Server des Geräts | 53 |
Namensauflösung | ja |
8.8.8.8, 1.1.1.1, 8.8.4.4 |
TCP 53 |
Prüfung der Internetverbindung | nein |
- Cloud-Endpunkt: Die IP-Adressen des Endpunkts wechseln. Geben Sie in der Firewall
den Hostnamen frei oder die von AWS veröffentlichten Adressbereiche für AWS IoT Core in
der Region
eu-central-1. - Namensauflösung: Für den Betrieb muss nur der Cloud-Endpunkt auflösbar sein; ein
DNS-Filter, der nur ihn zulässt, genügt. Die Statusanzeige prüft zusätzlich
google.comundcloudflare.com. - Prüfziele: Die öffentlichen DNS-Server dienen nur der Statusanzeige; sind sie gesperrt, genügt der erreichbare Cloud-Endpunkt. Die Ziele sind einstellbar (siehe Einstellungen).
- TLS: Gerät und Cloud weisen sich gegenseitig per Zertifikat aus. Eine TLS-Inspektion, die die Verbindung aufbricht, verhindert die Anmeldung – nehmen Sie den Endpunkt davon aus. Ein Proxy wird nicht unterstützt.
- Uhrzeit: Die Zertifikate werden gegen die Systemzeit geprüft. Das Gerät braucht eine korrekte Uhrzeit, etwa per NTP.
Erster Start
- Den Namen in der Cloud (Thing Name,
SL_…) leitet die App aus der FLECS-Lizenz des Geräts ab. Das Gerät muss daher in FLECS aktiviert sein. - Beim ersten Start meldet sich das Gerät einmalig selbst an der Cloud an und erhält ein eigenes Zertifikat, das die App bei ihren Daten speichert. Das kann einige Sekunden dauern. Gehen die Daten der App verloren, meldet sich das Gerät beim nächsten Start erneut an.
- Ist die Cloud beim Start nicht erreichbar, wartet die App und verbindet sich, sobald die Verbindungsprüfung (Standard: alle 60 s) sie erreicht. Bricht die Verbindung später ab, stellt die App sie selbstständig wieder her.
Verhalten bei Verbindungsabbrüchen
- Die Warteschlange liegt auf dem Datenträger: Noch nicht übertragene Nachrichten überstehen einen Neustart der App oder des Geräts und werden danach übertragen.
- Sie fasst bis zu 5000 Nachrichten (einstellbar). Ist sie voll, verwirft die App die ältesten. Bei 10 s Sendeintervall reicht sie für knapp 14 Stunden Pumpendaten; Entities, Ereignisse, Protokolle und Statistiken verkürzen diese Zeit.
- Steht die Verbindung wieder, überträgt die App den Rückstand automatisch.
- Scheitert die Übertragung einer Nachricht trotz bestehender Verbindung fünfmal, verwirft die App sie und vermerkt das im Protokoll.
Einstellungen
| Einstellung | Standard | Bedeutung |
|---|---|---|
| Sendeintervall Telemetrie | 10 s | Wie oft die App die Werte der Pumpen sendet |
| Max. Warteschlangengröße | 5000 | Wie viele Nachrichten die App zwischenspeichert |
| Prüfintervall Verbindung | 60 s | Wie oft die App Namensauflösung, Internet und Cloud-Endpunkt prüft |
| Timeout Verbindungsprüfung | 3 s | Wartezeit je Prüfung |
| Prüfziele | 8.8.8.8, 1.1.1.1, 8.8.4.4 (TCP 53) |
Ziele für die Prüfung der Internetverbindung, höchstens 5 |
Herborner Pumpen kann die Einstellungen über die Cloud anpassen; die aktuelle Konfiguration wird zurück in die Cloud gemeldet. Ein geändertes Sendeintervall greift im laufenden Betrieb, alle anderen Werte nach einem Neustart der App.
Weboberfläche
Die Weboberfläche öffnen Sie in FLECS über die App. Sie zeigt:
- Telemetry: die aktuellen Werte je Pumpe und Entity sowie die Karte Status,
- Logs: die letzten Protokolleinträge,
- Statistics: Übertragungen, Verbindungen, Warteschlangen und den Abgleich der Konfigurationen mit der Cloud,
- Jobs: Wartungsaufträge, die Herborner Pumpen über die Cloud anstößt, etwa die Installation, Aktualisierung oder den Neustart einer anderen App auf dem Gerät. CloudLink kann sich selbst nicht aktualisieren oder neu starten.
Karte Status
Grün bedeutet in Ordnung, Rot ein Problem.
| Anzeige | Bedeutung |
|---|---|
| AWS IoT Thing Name | Name des Geräts in der Cloud |
| MQTT Client State | Verbindung zur Cloud besteht (online/offline) |
| MQTT Connection Established | Zeitpunkt der letzten erfolgreichen Verbindung (UTC) |
| AWS Endpoint Reachable | Cloud-Endpunkt auf Port 8883 erreichbar |
| Internet Reachable | Mindestens ein Prüfziel erreichbar |
| DNS Reachable | Cloud-Endpunkt, google.com oder cloudflare.com auflösbar |
| MQTT Client Queue Size | Noch nicht übertragene Nachrichten; rot ab 80 % der max. Warteschlangengröße |
| Last Message Published | Laufende Nummer und Dauer der letzten Übertragung; rot ab 1 s |
Häufige Fragen
„MQTT Client State“ ist offline.
Prüfen Sie zuerst DNS Reachable und Internet Reachable. Sind sie rot, liegt ein
Netzwerkproblem vor. Ist nur AWS Endpoint Reachable rot, ist Port 8883 zum
Cloud-Endpunkt gesperrt oder die Cloud vorübergehend nicht erreichbar. Sind alle grün,
prüfen Sie die Uhrzeit des Geräts und eine mögliche TLS-Inspektion (siehe
Netzwerk und Firewall).
Die Warteschlange (Queue Size) wächst. Die Verbindung zur Cloud ist unterbrochen. Steht sie wieder, überträgt die App den Rückstand automatisch. Dauert die Unterbrechung länger, als die Warteschlange reicht, gehen die ältesten Nachrichten verloren.
Es werden keine Messwerte angezeigt. CloudLink erhält die Werte über den Datenbus, in der Regel von HP.ModbusConnector. Prüfen Sie, ob mindestens eine Pumpe angelegt ist und die Steuerung ihre Messwerte schreibt.
Gehen Daten verloren, wenn das Gerät neu startet? Nein. Noch nicht übertragene Nachrichten und das Gerätezertifikat bleiben gespeichert; nach dem Neustart setzt die App die Übertragung fort.
Sicherheit
Die Verbindung zur Cloud ist per TLS verschlüsselt, das Gerät meldet sich mit einem eigenen Gerätezertifikat an. Die Weboberfläche arbeitet ohne Anmeldung. Betreiben Sie das Gerät nur in einem vertrauenswürdigen Netz und sichern Sie den Zugang zur Weboberfläche über Firewall oder Netzwerksegmentierung ab.
Support
Bei Problemen wenden Sie sich an den Herborner-Pumpen-Support und halten Sie den AWS IoT Thing Name aus der Karte Status bereit.
Lizenzen
Für die Nutzung gelten die Lizenz, die Lizenzbedingungen (EULA) und die Bedingungen für Cloud-Anbindung und Fernwartung. Die enthaltene Drittanbieter-Software ist unter Drittanbieter-Lizenzen aufgeführt.