Subscriber
Subscriber ermöglichen es, eine Datenquelle zu abonnieren, um die Werte von Datenpunkten zu empfangen, sobald diese von der Quelle versendet werden.
Broker
- Broker-Typ
Wählen Sie den Typ der Datenquelle aus.
Derzeit werden nur MQTT-Broker als Datenquellen unterstützt.
- Broker-Verbindung
Wählen Sie die gewünschte Broker-Verbindung aus der Liste aus. Wenn Sie eine neue Broker-Verbindung hinzufügen oder eine bestehende bearbeiten möchten, klicken Sie auf das danebenstehende Symbol Broker-Verbindungen verwalten.
Weitere Informationen zum Verwalten von Broker-Verbindungen finden Sie unter Externe MQTT-Broker-Verbindungen verwalten.
- Übertragungsstatistik
In diesem Abschnitt werden die Übertragungsstatistiken für die empfangenen MQTT-Nachrichten angezeigt. Auf der rechten Seite können Sie die Anzahl der erfolgreich verarbeiteten Nachrichten sowie die Anzahl der Nachrichten sehen, die aufgrund einer Verletzung unserer MQTT-Beschränkungen verworfen wurden. Die Zahl innerhalb des Kreises zeigt den Anteil der erfolgreich verarbeiteten Nachrichten im Verhältnis zur Gesamtzahl der empfangenen Nachrichten an.
Abonnierte Eigenschaften
In dieser Liste können Sie alle Datenpunkt-Eigenschaften auswählen, die Sie abonnieren möchten.
Anmerkungen
Geben Sie bei Bedarf zusätzliche Informationen zum Zweck dieses Subscribers an.
Konfiguration des Dekodierers
Definieren Sie im Feld Dekodierer die Dekodierungsfunktion. Die JavaScript-Funktion nimmt eine Zeichenfolge mit der serialisierten JSON-Nachricht vom MQTT-Broker und eine Zeichenfolge mit dem Topic entgegen und muss ein Array von Objekten mit den Feldern systemName und value zurückgeben.
// Example payload:
// {
// "type": "temperature",
// "opc": 192,
// "payload": {
// "temperature": 23
// }
// }
function decode(jsonString, topic) {
let data;
try {
data = JSON.parse(jsonString);
} catch (e) {
return [];
}
const objects = [];
if (data.type === 'temperature') {
objects.push({
systemName: 'TEMPERATURE_SYSTEM_NAME',
value: data.payload.temperature
});
}
return objects;
}
[{
systemName: 'SYSTEM_NAME_1',
value: 123
}, {
systemName: 'SYSTEM_NAME_2',
value: 456
}, {
systemName: 'SYSTEM_NAME_3',
value: 789
},
/* ... */
]
Dekodier-Test
Um Ihren Dekodierer zu testen, geben Sie eine Test-Nutzlast im JSON-Format in das Feld Test-Nutzlast ein, geben Sie ein Topic in das darunterliegende Feld Topic ein und klicken Sie auf Test.
{
"type": "temperature",
"opc": 192,
"payload": {
"battery": 97.1,
"humidity": 63.3,
"temperature": 23.5,
"pressure": 989.4
}
}
Die serialisierte Test-Nutzlast und das Topic werden anschließend an die Dekodierungsfunktion übergeben, und ihr Rückgabewert wird unten ausgegeben, sofern das Skript erfolgreich ausgeführt wurde.
Datenpunkte
Der Subscriber kann nur auf Datenpunkte schreiben, die der Tabelle Datenpunkte am unteren Bildschirmrand zugewiesen wurden.
Um Datenpunkte zuzuweisen, ziehen Sie diese von der Datenpunkt-Seitenleiste auf der rechten Seite in die Tabelle am unteren Bildschirmrand.