MQTT Server

Endgerät einrichten

Die MQTT-Server Implementation des Dienstes ist für die Integration von MQTT-Geräten in die HOOC Lösung gedacht. Der Dienst stellt einen MQTT-Broker auf dem Standartport 1883/TCP zur Verfügung. Durch einen Klick auf das Symbol kann ein neue Verbindung von einem MQTT-Gerät in den Dienst erfasst werden.

Falls das MQTT-Endgerät MQTT über TLS unterstützt, kann dieses auch via Secure Proxy Permalink, also ohne HOOC Gateway, in die HOOC Lösung integriert werden.

services-serc-device-mqtt

Eigenschaft Beschreibung
Protokolltyp Auswahl Protokolltyp MQTT Server (localhost)
Name Bezeichnung des Endgeräts
Beschreibung Beschreibung des Endgeräts
MQTT Client ID Client ID des MQTT-Endgeräts
Topic Präfix ‘lesen’ Präfix des Topics zum Lesen der Daten (optional)
Topic Präfix ‘schreiben’ Präfix des Topics zum Lesen der Daten (optional)
Verbindungsüberwachung Falls aktiviert, werden bei einem Verbindungsunterbruch alle Datenpunkte nicht als ungültig markiert (Letzter bekannter Wert). Zur Verbindungsüberwachung ist die Angabe einer MQTT Client ID zwingend nötig.
Gültigkeitsdauer Falls keine Wertaktualisierung im definierten Intervall empfangen wird, wird der entsprechende Datenpunkt als ungültig markiert (Letzter bekannter Wert)

Mittels Klick auf das Symbol können Statusinfomrationen des MQTT Brokers angezeigt werden.

Aktionen

Nachdem ein MQTT-Endgerät angelegt wurde, können verschiedene Aktionen ausgeführt werden.

services-serc-device-mqtt-actions

Aktion Beschreibung
Einstellungen Schnittstelle editieren
Export Datenpunkte (Falls Datenpunkte erfasst sind)
Import Datenpunkte (Falls keine Datenpunkte erfasst sind)
Schnittstelle entfernen (Falls keine Datenpunkte erfasst sind)

MQTT-Debug-Mode

Weiter steht ein MQTT-Debug-Mode zur Verfügung, der mittels aktiviert werden kann. Bei aktiviertem Debug-Mode können Daten des Protokolls analysiert werden. Dazu verbindet man sich mit Hilfe eines MQTT-Client-Tools (Bspw. MQTT Explorer) auf die Service-IP Adresse.

Der MQTT-Debug-Mode wird nach 30 Minuten automatisch deaktiviert.

Datenpunkte einrichten

Die Live-Werte erfasster Datenpunkte werden direkt angezeigt. Mittels Klick auf das Symbol kann der Datenmonitor gestoppt werden.

Durch einen Klick auf das Symbol kann ein neuer Datenpunkt für die entsprechende Schnittstelle erfasst werden.

services-serc-datapoint-mqtt

Eigenschaft Beschreibung
Topic ‘lesen’ (optional) Topic zum Lesen der Daten (Verwendetes Topic setzt sich aus dem Präfix des MQTT-Geräts und dem hier angegeben Topic zusammen)
Decoder Auswahl und Einstellungen Daten-Decoder
Topic ‘schreiben’ (optional) Topic zum Schreiben der Daten (Verwendetes Topic setzt sich aus dem Präfix des MQTT-Geräts und dem hier angegeben Topic zusammen)
Encoder Auswahl und Einstellungen Daten-Encoder
Datenpunkt Eindeutiger Name des Datenpunktes
Beschreibung Beschreibung des Datenpunktes
Datentyp Auswahl des Datentyps
Umwandlung Bei Bedarf können Werte linearisiert werden, bspw. Temperaturangabe in 10tel zu °C Angabe mit einer Kommastelle
Einheit Einheiten im LaTeX-Format: z.B. ^\circ C für °C

Custom-Encoder und Custom-Decoder

Bei der Auswahl eines Custom-Decoders oder -Encoders können die Daten beliebig decodiert bzw. encodiert werden. Die entsprechenden Vorlagen der Funktionen (Javascript) werden im Editor dargestellt. Weitere Informationen zu den Parametern und Rückgabewerten können untenstehender Tabelle entnommen werden:

Eigenschaft Decoder Encoder Beschreibung
Parameter raw x Byte-Array der Rohdaten
Parameter value x Datenpunktwert im entsprechenden Format (Number, Bool, String)
Parameter dataType x x Verwendeter Datentyp des Datenpunkts als STRING (“Int8”, “Int16”, “Int32”, “UInt8”, “UInt16”, “UInt32”, “Float32”, “Float64”, “Bool”, “String”)
Rückgabewert Decoder x Rückgabewert anhand verwendetem Datentyp (Number, Bool, String)
Rückgabewert Encoder x Byte-Array

Zur Analyse von Daten und Implementierung von Custom-Encodern und Custom-Decodern empfiehlt sich der MQTT-Debug-Mode. (Siehe bei Schnittstellen/Endgeräte).

Aktionen

Nachdem ein Datenpunkt erfolgreich angelegt wurde, können verschiedene Aktionen auf diesen Datenpunkt durchgeführt werden.

services-serc-datapoint-actions-mqtt

Aktion Beschreibung
Einstellungen Datenpunkt editieren
Einstellungen Smart-UI editieren
Trend des Datenpunktes anzeigen
Wert des Datenpunktes schreiben (falls schreibbar)
Datenpunkt duplizieren
Datenpunkt entfernen

Überwachung Endgerät

Falls der Parameter MQTT Client ID des Endgeräts konfiguriert ist, kann ein Datenpunkt zur Überwachung der Verbindung angelegt werden:

Eigenschaft Wert
Topic ‘lesen’ hfc/broker/clients/MQTT Client ID/connected
Decoder String
Datenpunkt Eindeutiger Name des Datenpunktes
Beschreibung Beschreibung des Datenpunktes
Datentyp Bool (One bit / Bool))
Umwandlung 1:1

Danach wird der Status als Boolean angezeigt. Dieser Status kann bspw. im HOOC Alert zur weiteren Verarbeitung genutzt werden.

Einschränkungen

Die MQTT-Funktionalität wird je Anlage wie folgt eingeschränkt:

Beschreibung Wert
Maximale Anzahl MQTT-Client-Verbindungen 10
Maximale Anzahl Wert-Updates je MQTT-Client-Verbindung (je IP-Adresse) 720/h (danach für 24Stunden gesperrt)
Unterstützung klassischer MQTT-Broker Funktionalität nein