Secure Remote Control

Functional description

The HOOC Secure Remote Control (SERC) service works as a universal interface between the HOOC Cloud and Modbus/TCP or KNX devices from remote systems and networks. Thanks to the HOOC fielbus connector, Modbus/TCP and KNX data points from PLC’s, heat pumps, sensors and remote I/O’s can be transmitted in a simple and safe way. Those data points can then be used in the HOOC Cloud as a data source for further services like monitoring and alarming. For accessing fieldbus data, a web API is provided.

The SERC service also includes the following inApp functions (HOOC ClientApp, CollabApp, CompactApp):

  • Data display via Smart UI;
  • Bi-directional real-time data access (read and write);
  • Data trend display.

Configuration

The SERC service can be configured in the HOOC ManagementPortal under Services -> Remote Control.

services-serc-serviceip

Service IP address

In order to use the fieldbus connector, a service IP adress service must be set up. Therefore, the following points must be taken into account:

  • The service IP address must not be located in the 10.42.0.0/16 subnet.
  • The service IP address hast to be in the same address range as the required Modbus/TCP end devices in the remote network.
  • It must be ensured that the IP address in the remote network is free and will also not be used in the future.

The 172.17.17.20 in the 24 subnet is set as the default service IP address. For the HOOC Connect F gateway, this IP address is used as the default server IP address for the LoRaWAN.

A new devices or interfaces can be added now.

API

The Secure Remote Control service provides an API for accessing data point point values. For this purpose, use either the HTTP (port 80) or the MQTT (port 1883) protocol.

Please note that the data objects of the two APIs are identical and are available in the REST-API Definition (Swagger). Descriptions of the error codes are given in the table below:

Errorcodes Description
0x002001000 Error while retrieving a data point
0x002001001 Data point configuration error
0x002001002 Datapoint value cannot be written
0x002001003 Datapoint value is being written by another process
0x002001006 Unable to convert datapoint value
0x002001007 Unable to convert datapoint value
0x002001102 Unable to convert datapoint value
0x002001105 Unable to convert datapoint value
0x002001203 Communication error to interface / device
0x002001205 Global communication error
0x002001300 Data point value not available

By default, the APIs are accessible in the site network. However, the APIs can also be made accessible externally by the means of the Secure Proxy Service (SEPROX).

HTTP Interface

REST

Websocket

The HTTP interface also provides a websocket. The path to the websocket is /v1/dataPoints/values/observer. The definitions of the data objects can be taken from the REST API definition (Swagger).

MQTT Interface

In analogy to the REST interface, there is also an MQTT interface for writing and reading data point values. For this purpose, the following MQTT topics (reading/writing data points) are available.

Reading data point values

Data point values can be read via MQTT interface and the corresponding topics.

Topic Description
hfc/dataPoints/byName/+ Subscribe to the list containing all data point values
hfc/dataPoints/byId/+ Subscribe to the list containing all data point values
hfc/dataPoints/byName/NAME Subscribe to a single value (enter the name of the data point where the placeholder NAME is displayed)
hfc/dataPoints/byId/ID Subscribe to a single value (enter the ID of the data point where the placeholder ID is displayed)

Writing data point values

Data point values can be written via MQTT interface and the corresponding topics.

Topic Description
hfc/dataPoints/byName/NAME/write Write data point value (definition payload: See REST API definition (Swagger))
hfc/dataPoints/byId/ID/write Write data point value (definition payload: See REST API definition (Swagger))

In case the writing operation failed, the MQTT interface does not show any error message.