Secure Remote Control

Funktionsbeschreibung

Secure Remote Control (SERC) dient als universelle Schnittstelle zwischen Modbus-TCP sowie KNX Geräten der Anlagen und Anwendungen in der HOOC-Cloud. Modbus-TCP und KNX Datenpunkte von Steuerungen, Wärmepumpen, Sensoren und Remote-I/O’s des entfernten Netzwerks können mit dem HOOC-Feldbus-Konnektor einfach und sicher transportiert werden. Erfasste Datenpunkte können in der HOOC-Cloud als Datenquelle für weitere Dienste wie Monitoring und Alarmierung verwendet werden. Weiter wird eine Web-API rund um diesen Dienst für den Zugriff auf Feldbusdaten bereitgestellt.

Secure Remote Control (SERC) beinhaltet zudem folgende inApp Funktionen:

  • Darstellung erfasster Datenpunkte mittels der Funktion Smart-UI in der HOOC-App
  • Bidirektionaler Echtzeit-Zugriff (Lesen und Schreiben) auf Datenpunkte mit der HOOC-App
  • Eine einfache Trendanzeige der Datenpunkte im Managementportal sowie in der HOOC-App

Konfiguration

Der Dienst kann bei der Anlage unter Dienste -> Remote Control konfiguriert werden.

services-serc-serviceip

Service-IP-Adresse

Zur Nutzung des Feldbus Konnektors muss der Dienst einmalig eingerichtet werden. Dazu wird eine Service-IP-Adresse benötigt. Folgendes muss dabei beachtet werden:

  • Die Service-IP-Adresse darf sich nicht im Subnetz 10.42.0.0/16 befinden.
  • Die Service-IP-Adresse muss sich im selben Adressbereich befinden, wie die Modbus-TCP Endgeräte im entfernten Netz, auf welche der Zugriff erfolgen soll.
  • Es muss sichergestellt werden, dass die IP-Adresse im entfernten Netz frei ist und auch in Zukunft nicht genutzt wird.

Als Standard Service-IP-Adresse wird die 172.17.17.20 im 24er Subnet gesetzt. Beim HOOC Connect F Gateway wird diese IP Adresse als Standard Server-IP-Adresse für das LoRaWAN verwendet.

Nachdem die Einstellungen vorgenommen werden können Endgeräte oder Schnittstellen erfasst werden.

API

Der Dienst Secure Remote Control stellt eine API für die Datenwerte zur Verfügung. Hierfür werden die Protokolle HTTP (Port 80) und MQTT (Port 1883) zur Verfügung gestellt.

Die Datenobjekte der beiden API’s sind identisch und können der REST-API Definition (Swagger) entnommen werden. Beschreibungen der Errorcodes können untenstehender Tabelle entnommen werden:

Errorcodes Beschreibung
0x002001000 Fehler beim Abrufen eines Datenpunkts
0x002001001 Fehler in der Datenpunktkonfiguration
0x002001002 Datenpunktwert kann nicht geschrieben werden
0x002001003 Datenpunktwert wird von einem anderen Prozess geschrieben
0x002001006 Datenpunktwert kann nicht konvertiert werden
0x002001007 Datenpunktwert kann nicht konvertiert werden
0x002001102 Datenpunktwert kann nicht konvertiert werden
0x002001105 Datenpunktwert kann nicht konvertiert werden
0x002001203 Kommunikationsfehler zu Schnittstelle / Endgerät
0x002001205 Allgemeiner Kommunikationsfehler
0x002001300 Datenpunktwert nicht vorhanden

Die API’s werden standardmäßig im Anlagennetz bereitgestellt. Die API’s können jedoch auch mittels Secure Proxy Dienst auch von extern zugänglich gemacht werden.

HTTP-Schnittstelle

REST

Websocket

Die HTTP-Schnittstelle bietet zudem einen Websocket. Der Pfad zum Websocket ist /v1/dataPoints/values/observer. Die Definitionen der Datenobjekte können der REST-API Definition (Swagger) entnommen werden.

MQTT-Schnittstelle

Analog zur REST-SChnittstelle wird auch eine MQTT-Schnittstelle zum Schreiben und Lesen von Datenpunktwerten angeboten. Hierfür werden folgende MQTT-Topics zur Verfügung gestellt:

Datenpunktwerte lesen

Topic Beschreibung
hfc/dataPoints/byName/+ Liste mit allen Datenpunktwerten abonnieren
hfc/dataPoints/byId/+ Liste mit allen Datenpunktwerten abonnieren
hfc/dataPoints/byName/NAME Einzelnen Wert abonnieren, dabei ist der Platzhalter NAME der Name des Datenpunktes
hfc/dataPoints/byId/ID Einzelnen Wert abonnieren, dabei ist der Platzhalter ID die ID des Datenpunktes

Datenpunktwerte schreiben

Datenpunktwerte können via MQTT-Schnittstelle und den entsprechenden Topics geschrieben werden.

Topic Beschreibung
hfc/dataPoints/byName/NAME/write Datenpunktwert schreiben (Definition Payload: Siehe REST-API Definition (Swagger))
hfc/dataPoints/byId/ID/write Datenpunktwert schreiben (Definition Payload: Siehe REST-API Definition (Swagger))

Bei einer fehlgeschlagenen Schreiboperation wird über die MQTT Schnittstelle kein Fehler zurückgegeben.