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

Mittels Klick auf das Symbol kann die Service-IP-Adresse eingestellt werden. Weiter kann mittels Klick auf das Symbol prüfen, ob die verwendete Service-IP-Adresse nicht schon belegt ist.

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:

  • Als Standard Service-IP-Adresse wird die IP-Adresse 172.17.17.20 verwendet.
  • Die Service-IP-Adresse darf sich nicht im Subnetz 10.42.0.0/16 befinden.
  • Es muss sichergestellt werden, dass die IP-Adresse im entfernten Netz frei ist und auch in Zukunft nicht genutzt wird.

Zur Überprüfung kann ein Ping-Test auf eine IP-Adresse mittels Klick auf das Symbol ausgeführt werden.

MQTT Broker

Der Remote Control stellt einen isolierten MQTT Broker für folgende Zwecke bereit:

  1. Ein MQTT Client (Endgerät) kann seine eigenen Daten mit dem Remote Control Dienst austauschen, um dedizierte Datenpunktwerte bereitstellen zu können. Hierbei ist zu beachten, dass nur die Topics für den Datenaustausch zur Verfügung gestellt werden, welche in Datenpunkten effektiv verwendet werden.
  2. Ein MQTT Client (Applikation) kann eine Kommunikation zu den vom Remote Control Dienst bereitgestellten MQTT-Topics realisieren.

Folgende Optionen stehen für die Konfiguration des MQTT-Broker zur Verfügung:

Option Beschreibung
MQTT Broker Benutzer/Passwort Anmeldeinformationen können über die Aktion geändert werden.
MQTT Broker Debug Zur Analyse von Daten und Implementierung von Custom-Encodern und Custom-Decodern kann der MQTT-Debug-Mode verwendet werden.
Statusinformationen Informationen zu verbundenen Endgeräten sowie gesperrten IP-Adressen, falls die Anzahl empfangener Nachrichten pro Stunde und IP den Wert 720 übersteigt.

Modbus Server

Der Remote Control stellt einen Modbus Server zur Verfügung. In den Statusinformationen sind Informationen zu verbundenen Endgeräten sowie gesperrten IP-Adressen, falls die Anzahl empfangener Nachrichten pro Stunde und IP den Wert 720 übersteigt.

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.