140 lines
9.6 KiB
HTML
140 lines
9.6 KiB
HTML
<!--
|
|
Copyright JS Foundation and other contributors, http://js.foundation
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<script type="text/html" data-help-name="mqtt in">
|
|
<p>Verbindungsherstellung zu einem MQTT-Broker und Abonnement von Topic-Nachrichten.</p>
|
|
<h3>Ausgangsdaten</h3>
|
|
<dl class="message-properties">
|
|
<dt>payload <span class="property-type">string | buffer</span></dt>
|
|
<dd>Zeichenfolge, sofern sie nicht als binärer Puffer (buffer) erkannt wurde.</dd>
|
|
<dt>topic <span class="property-type">string</span></dt>
|
|
<dd>MQTT-Topic mit / (Schrägstrich) als Hierarchie-Trennzeichen.</dd>
|
|
<dt>qos <span class="property-type">number</span></dt>
|
|
<dd>QoS (Quality of Service)<br/>
|
|
0: Einmal gesendet ohne Empfangsgarantie (fire und forget)<br/>
|
|
1: Garantiert mindestens einmal empfangen (at least once)<br/>
|
|
2: Garantiert exakt einmal empfangen (once and once only).</dd>
|
|
<dt>retain <span class="property-type">boolean</span></dt>
|
|
<dd>Bei <code>true</code> kann es eine aufbewahrte ältere Nachricht sein.</dd>
|
|
|
|
<dt class="optional">responseTopic <span class="property-type">string</span></dt>
|
|
<dd><b>MQTTv5</b>: MQTT-Antwort-Topic der Nachricht.</dd>
|
|
<dt class="optional">correlationData <span class="property-type">buffer</span></dt>
|
|
<dd><b>MQTTv5</b>: Korrelationsdaten der Nachricht.</dd>
|
|
<dt class="optional">contentType <span class="property-type">string</span></dt>
|
|
<dd><b>MQTTv5</b>: Inhaltstyp der Nutzdaten (Payload).</dd>
|
|
<dt class="optional">userProperties <span class="property-type">object</span></dt>
|
|
<dd><b>MQTTv5</b>: Alle Benutzer-Eigenschaften der Nachricht.</dd>
|
|
<dt class="optional">messageExpiryInterval <span class="property-type">number</span></dt>
|
|
<dd><b>MQTTv5</b>: Ablaufzeit der Nachricht in Sekunden.</dd>
|
|
</dl>
|
|
<h3>Details</h3>
|
|
<p>Das abonnierte Topic darf MQTT-Platzhalterzeichen (wildcards) enthalten (+ für eine Ebene und # für mehrere Ebenen).</p>
|
|
<p>Diese Node erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann. Eine neue Verbindung wird durch Klicken auf das Stiftsymbol erstellt.</p>
|
|
<p>Mehrere MQTT-Nodes (in oder out) können bei Bedarf dieselbe Broker-Verbindung nutzen.</p>
|
|
<h4>Dynamische Steuerung</h4>
|
|
Die von der Node genutzte Verbindung kann dynamisch gesteuert werden, wenn die MQTT-Node eine der folgenden Nachrichten erhält. Die Payload dieser Nachrichten werden nicht veröffentlicht.
|
|
<h4>Eingangsdaten</h4>
|
|
<p>Nur Verfügbar, wenn die Node für dynamische Abonnements konfiguriert wurde.</p>
|
|
<dl class="message-properties">
|
|
<dt>action <span class="property-type">string</span></dt>
|
|
<dd>Der Name der Aktion, die die MQTT-Node ausführen soll. Verfügbare Aktionen sind: <code>"connect"</code>, <code>"disconnect"</code>, <code>"getSubscriptions"</code>, <code>"subscribe"</code> und <code>"unsubscribe"</code>.</dd>
|
|
<dt class="optional">topic <span class="property-type">string|object|array</span></dt>
|
|
<dd>Bei den Aktionen <code>"subscribe"</code> und <code>"unsubscribe"</code> gibt diese Eigenschaft die MQTT-Topic an. Dabei kann es sich um Folgendes handeln:
|
|
<ul>
|
|
<li>eine Zeichenfolge, die den Topic-Filter enthält</li>
|
|
<li>ein Objekt mit den Eigenschaften <code>topic</code> und <code>qos</code></li>
|
|
<li>ein Array aus Zeichenfolgen oder Objekten, um mehrere Topics gleichzeitig zu verwalten</li>
|
|
</ul>
|
|
</dd>
|
|
<dt class="optional">broker <span class="property-type">broker</span> </dt>
|
|
<dd>Für die Aktion <code>"connect"</code> kann diese Eigenschaft jede der einzelnen Broker-Konfigurationseinstellungen überschreiben, einschließlich: <ul>
|
|
<li><code>broker</code></li>
|
|
<li><code>port</code></li>
|
|
<li><code>url</code> - überschreibt Broker/Port, um eine vollständige Verbindungs-URL bereitzustellen</li>
|
|
<li><code>username</code></li>
|
|
<li><code>password</code></li>
|
|
</ul>
|
|
<p>Wenn diese Eigenschaft gesetzt ist und der Broker bereits verbunden ist, wird ein Fehler protokolliert, es sei denn, die Eigenschaft <code>force</code> gesetzt - in diesem Fall wird die Verbindung zum Broker getrennt, die neuen Einstellungen angewendet und erneut verbunden.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
</script>
|
|
|
|
<script type="text/html" data-help-name="mqtt out">
|
|
<p>Verbindungsherstellung zu einem MQTT-Broker und publizieren von Topic-Nachrichten.</p>
|
|
<h3>Eingangsdaten</h3>
|
|
<dl class="message-properties">
|
|
<dt>payload <span class="property-type">string | buffer</span></dt>
|
|
<dd>Zu publiziernde Nutzdaten.<br/>
|
|
Wenn nicht gesetzt wird keine Nachricht gesendet.
|
|
Um eine leere Nachricht zu senden, muss eine leere Zeichenfolge (string) übergeben werden.</dd>
|
|
<dt class="optional">topic <span class="property-type">string</span></dt>
|
|
<dd>MQTT-Topic mit / (Schrägstrich) als Hierarchie-Trennzeichen.</dd>
|
|
<dt class="optional">qos <span class="property-type">number</span></dt>
|
|
<dd>QoS (Quality of Service)<br/>
|
|
0: Einmal gesendet ohne Empfangsgarantie (fire und forget)<br/>
|
|
1: Garantiert mindestens einmal empfangen (at least once)<br/>
|
|
2: Garantiert exakt einmal empfangen (once and once only).</dd>
|
|
<dt class="optional">retain <span class="property-type">boolean</span></dt>
|
|
<dd>Bei <code>true</code> wird die Nachricht beim Broker aufbewahrt.
|
|
Standard (default) ist <code>false</code>.</dd>
|
|
<dt class="optional">responseTopic <span class="property-type">string</span></dt>
|
|
<dd><b>MQTTv5</b>: MQTT-Antwort-Topic für die Nachricht.</dd>
|
|
<dt class="optional">correlationData <span class="property-type">buffer</span></dt>
|
|
<dd><b>MQTTv5</b>: Korrelationsdaten für die Nachricht.</dd>
|
|
<dt class="optional">contentType <span class="property-type">string</span></dt>
|
|
<dd><b>MQTTv5</b>: Inhaltstyp der Nutzdaten (Payload).</dd>
|
|
<dt class="optional">userProperties <span class="property-type">object</span></dt>
|
|
<dd><b>MQTTv5</b>: Alle Benutzer-Eigenschaften der Nachricht.</dd>
|
|
<dt class="optional">messageExpiryInterval <span class="property-type">number</span></dt>
|
|
<dd><b>MQTTv5</b>: Ablaufzeit der Nachricht in Sekunden.</dd>
|
|
<dt class="optional">topicAlias <span class="property-type">number</span></dt>
|
|
<dd><b>MQTTv5</b>: Der zu benutzende MQTT-Topic-Alias.</dd>
|
|
</dl>
|
|
<h3>Details</h3>
|
|
<p><code>msg.payload</code> wird als Nutzdaten (Payload) der zu publizierenden Nachricht verwendet.
|
|
Wenn es ein Objekt enthält, wird es vorm Senden in eine JSON-Zeichenfolge (string) konvertiert.
|
|
Wenn es einen binären Puffer (buffer) enthält, wird die Nachricht unverändert gesendet.</p>
|
|
<p>Das Topic kann im Node eingestellt werden oder, falls leer gelassen,
|
|
durch <code>msg.topic</code> vorgegeben werden.</p>
|
|
<p>Ebenso können die QoS- und Retain-Werte im Node eingestellt werden oder, falls leer gelassen,
|
|
durch <code>msg.qos</code> bzw. <code>msg.retain</code> vorgegeben werden.
|
|
Um ein beim Broker vorgehaltenes Topic zu löschen,
|
|
kann eine leere Nachricht mit dem Topic und Retain gleich <code>true</code> gesendet werden.</p>
|
|
<p>Dieser Node erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann.
|
|
Eine neue Verbindung wird durch Klicken auf das Stiftsymbol erstellt.</p>
|
|
<p>Mehrere MQTT-Nodes (in oder out) können bei Bedarf dieselbe Broker-Verbindung nutzen.</p>
|
|
</script>
|
|
|
|
<script type="text/html" data-help-name="mqtt-broker">
|
|
<p>Konfiguration der Verbindung zu einem MQTT-Broker.</p>
|
|
<p>Diese Konfiguration erstellt eine einzelne Verbindung zu einem Broker,
|
|
welche anschließend von den mqtt in- und
|
|
mqtt out-Nodes verwendet werden.</p>
|
|
<p>Der Node generiert eine beliebige Client-ID, falls sie nicht vorgegeben ist und der
|
|
Node eine bereinigte Sitzung (clean session) verwenden soll.
|
|
Wenn eine Client-ID vorgegeben wird, muss sie für den Broker eindeutig sein, zu dem die Verbindung hergestellt werden soll.</p>
|
|
<h3>Nachricht bei Verbindungsaufbau</h3>
|
|
<p>Diese Nachricht wird vom Broker mit dem eingestellten Topic publiziert, wenn die Verbindung hergestellt wurde.</p>
|
|
<h3>Nachricht vor Verbindungsabbau</h3>
|
|
<p>Diese Nachricht wird vom Broker mit dem eingestellten Topic publiziert, bevor die Verbindung normal abgebaut wird,
|
|
egal ob durch erneute Übernahme (deploy) des Nodes oder durch Herunterfahren von Node-RED.</p>
|
|
<h3>Nachricht bei unerwarteten Verbindungsabbruch</h3>
|
|
<p>Diese Nachricht wird vom Broker mit dem eingestellten Topic veröffentlicht,
|
|
wenn die Verbindung unerwartet abgebrochen ist.</p>
|
|
<h3>WebSockets</h3>
|
|
<p>Der Node kann für die Verwendung einer WebSocket-Verbindung eingestellt werden.
|
|
Dazu ist im Server-Feld die vollständige URI für die Verbindung vorzugeben. Beispiel:</p>
|
|
<pre>ws://example.com:4000/mqtt</pre>
|
|
</script>
|