diff --git a/docs/1.4/user-guide/amqp-adapter/index.html b/docs/1.4/user-guide/amqp-adapter/index.html
index 5a75783..2d46992 100644
--- a/docs/1.4/user-guide/amqp-adapter/index.html
+++ b/docs/1.4/user-guide/amqp-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>AMQP Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/amqp-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/amqp-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/amqp-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/amqp-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/amqp-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/amqp-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/amqp-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/amqp-adapter/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/amqp-adapter/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/amqp-adapter/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/">dev</option>
@@ -1796,45 +1842,46 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#device-authentication">Device Authentication</a>
-<ul>
-<li><a href="#sasl-plain-authentication">SASL PLAIN Authentication</a></li>
-<li><a href="#sasl-external-authentication">SASL EXTERNAL Authentication</a></li>
-</ul></li>
-<li><a href="#resource-limit-checks">Resource Limit Checks</a>
-<ul>
-<li><a href="#connection-limits">Connection Limits</a></li>
-<li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
-<li><a href="#message-limits">Message Limits</a></li>
-</ul></li>
-<li><a href="#connection-events">Connection Events</a></li>
-<li><a href="#link-establishment">Link Establishment</a></li>
-<li><a href="#error-handling">Error Handling</a></li>
-<li><a href="#amqp-command-line-client">AMQP Command-line Client</a></li>
-<li><a href="#publishing-telemetry-data">Publishing Telemetry Data</a></li>
-<li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
-<li><a href="#publishing-events">Publishing Events</a></li>
-<li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
-<li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
-<li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
-<li><a href="#command-control">Command &amp; Control</a>
-<ul>
-<li><a href="#receiving-commands">Receiving Commands</a></li>
-<li><a href="#sending-a-response-to-a-command">Sending a Response to a Command</a></li>
-<li><a href="#examples">Examples</a></li>
-</ul></li>
-<li><a href="#downstream-meta-data">Downstream Meta Data</a>
-<ul>
-<li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
-</ul></li>
-<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#device-authentication">Device Authentication</a>
+      <ul>
+        <li><a href="#sasl-plain-authentication">SASL PLAIN Authentication</a></li>
+        <li><a href="#sasl-external-authentication">SASL EXTERNAL Authentication</a></li>
+      </ul>
+    </li>
+    <li><a href="#resource-limit-checks">Resource Limit Checks</a>
+      <ul>
+        <li><a href="#connection-limits">Connection Limits</a></li>
+        <li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
+        <li><a href="#message-limits">Message Limits</a></li>
+      </ul>
+    </li>
+    <li><a href="#connection-events">Connection Events</a></li>
+    <li><a href="#link-establishment">Link Establishment</a></li>
+    <li><a href="#error-handling">Error Handling</a></li>
+    <li><a href="#amqp-command-line-client">AMQP Command-line Client</a></li>
+    <li><a href="#publishing-telemetry-data">Publishing Telemetry Data</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
+    <li><a href="#publishing-events">Publishing Events</a></li>
+    <li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
+    <li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
+    <li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
+    <li><a href="#command--control">Command &amp; Control</a>
+      <ul>
+        <li><a href="#receiving-commands">Receiving Commands</a></li>
+        <li><a href="#sending-a-response-to-a-command">Sending a Response to a Command</a></li>
+        <li><a href="#examples">Examples</a></li>
+      </ul>
+    </li>
+    <li><a href="#downstream-meta-data">Downstream Meta Data</a>
+      <ul>
+        <li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
+      </ul>
+    </li>
+    <li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1858,45 +1905,33 @@
         
 
 
-<p>The AMQP protocol adapter allows clients (devices or gateway components) supporting the AMQP 1.0 protocol to publish messages to Eclipse Hono&trade;&rsquo;s Telemetry, Event and Command &amp; Control endpoints.</p>
-
+<p>The AMQP protocol adapter allows clients (devices or gateway components) supporting the AMQP 1.0 protocol to publish messages to Eclipse Hono™&rsquo;s Telemetry, Event and Command &amp; Control endpoints.</p>
 <h2 id="device-authentication">Device Authentication</h2>
-
 <p>By default, all Hono protocol adapters require clients (devices or gateway components) to authenticate during connection establishment.
 This is the preferred way for devices to publish data via protocol adapters. The AMQP adapter supports both the
 <a href="https://tools.ietf.org/html/rfc4616">SASL PLAIN</a> and <a href="https://tools.ietf.org/html/rfc4422">SASL EXTERNAL</a> authentication mechanisms.
 The former uses a <em>username</em> and <em>password</em> to authenticate to the adapter while the latter uses an X.509 client certificate.</p>
-
 <p>This guide provides examples for publishing telemetry and events for <em>authenticated</em> (using SASL PLAIN) and <em>unauthenticated</em> clients.</p>
-
 <p><strong>NB</strong> The AMQP adapter can be configured to <em>allow</em> unauthenticated devices to connect by setting configuration variable
 <code>HONO_AMQP_AUTHENTICATION_REQUIRED</code> to <code>false</code>.</p>
-
 <h3 id="sasl-plain-authentication">SASL PLAIN Authentication</h3>
-
 <p>The AMQP adapter supports authenticating clients using a <em>username</em> and <em>password</em>. This means that clients need to provide a <em>username</em> and a <em>password</em>
 when connecting to the AMQP adapter. If the adapter is configured for multi-tenancy (i.e <code>HONO_AMQP_SINGLE_TENANT</code> is set to <code>false</code>),
 then the <em>username</em> must match the pattern [<em>auth-id@tenant</em>], e.g. <code>sensor1@DEFAULT_TENANT</code>. Otherwise, the tenant-id can be omitted from the username
 and the client is assumed to belong to the <code>DEFAULT_TENANT</code>.</p>
-
 <p>The adapter verifies the credentials provided by the client against the credentials that the
 <a href="/hono/docs/1.4/admin-guide/common-config/#credentials-service-connection-configuration">configured Credentials service</a> has on record for the client.
 If the credentials match, the client device can proceed to publish messages to Hono.</p>
-
 <p>The examples below refer to devices <code>4711</code> and <code>gw-1</code> of tenant <code>DEFAULT_TENANT</code> using <em>auth-ids</em> <code>sensor1</code> and <code>gw1</code> and corresponding passwords.
 The example deployment as described in the <a href="/hono/docs/1.4/deployment/">Deployment Guide</a> comes pre-configured with the corresponding entities in its
 device registry component.</p>
-
 <p><strong>NB</strong> There is a subtle difference between the <em>device identifier</em> (<em>device-id</em>) and the <em>auth-id</em> a device uses for authentication.
 See <a href="/hono/docs/1.4/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
-
 <h3 id="sasl-external-authentication">SASL EXTERNAL Authentication</h3>
-
 <p>When a device uses a client certificate for authentication, the TLS handshake is initiated during TCP connection establishment.
 If no trust anchor is configured for the AMQP adapter, the TLS handshake will succeed only if the certificate has not yet expired.
 Once the TLS handshake completes and a secure connection is established, the certificate&rsquo;s signature is checked during the SASL handshake.
 To complete the SASL handshake and authenticate the client, the adapter performs the following steps:</p>
-
 <ol>
 <li>The adapter extracts the client certificate&rsquo;s <em>Issuer DN</em> from the client certificate</li>
 <li>The adapter invokes the Tenant service to look up the tenant matching the DN.
@@ -1908,80 +1943,52 @@
 uses the client certificate’s <em>Subject DN</em> (as authentication identifier) and <code>x509-cert</code> (for the credentials type)
 in order to determine the device ID.</li>
 </ol>
-
 <p><strong>NB</strong> The AMQP adapter needs to be configured for TLS in order to support this mechanism.</p>
-
 <h2 id="resource-limit-checks">Resource Limit Checks</h2>
-
 <p>The adapter performs additional checks regarding resource limits when a client tries to connect and/or send a message to the adapter.</p>
-
 <h3 id="connection-limits">Connection Limits</h3>
-
 <p>The adapter immediately closes a newly established connection with an <code>amqp:unauthorized-access</code> error if</p>
-
 <ul>
 <li>the maximum number of connections per protocol adapter instance is reached, or</li>
 <li>if the maximum number of simultaneously connected devices for the client&rsquo;s tenant is reached.</li>
 </ul>
-
 <p>Please refer to <a href="/hono/docs/1.4/concepts/resource-limits/">resource-limits</a> for details.</p>
-
 <h3 id="connection-duration-limits">Connection Duration Limits</h3>
-
 <p>The adapter immediately closes a newly established connection with an <code>amqp:unauthorized-access</code> error if the
-<a href="/hono/docs/1.4/concepts/resource-limits/#connection-duration-limit">connection duration limit</a> that has been configured for
+<a href="/hono/docs/1.4/concepts/resource-limits/">connection duration limit</a> that has been configured for
 the client&rsquo;s tenant is exceeded.</p>
-
 <h3 id="message-limits">Message Limits</h3>
-
 <p>The adapter</p>
-
 <ul>
 <li>immediately closes a newly established connection with an <code>amqp:unauthorized-access</code> error and</li>
 <li>rejects any AMQP 1.0 message containing
-
 <ul>
 <li>telemetry data or an event uploaded by a client</li>
 <li>a command sent by a north bound application</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>if the <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> that has been configured for the device&rsquo;s tenant is exceeded.</p>
-
 <h2 id="connection-events">Connection Events</h2>
-
 <p>The adapter can emit <a href="/hono/docs/1.4/api/event/#connection-event">Connection Events</a> for client connections being established and/or terminated.
-Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/#connection-event-producer-configuration">common configuration options</a>
+Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/">common configuration options</a>
 for details regarding how to enable this behavior.</p>
-
 <p>The adapter includes the client&rsquo;s AMQP <em>container-id</em> as the Connection Event&rsquo;s <em>remote-id</em>.</p>
-
 <h2 id="link-establishment">Link Establishment</h2>
-
 <p>The AMQP adapter supports the <a href="http://docs.oasis-open.org/amqp/anonterm/v1.0/anonterm-v1.0.html">Anonymous Terminus for Message Routing</a> specification
 and requires clients to create a single sender link using the <code>null</code> target address for publishing all types of messages to the AMQP adapter.</p>
-
 <p>Using <em>AT MOST ONCE</em> delivery semantics, the client will not wait for the message to be accepted and settled by the downstream consumer. However, with <em>AT LEAST ONCE</em>, the client sends the message and waits for the message to be delivered to and accepted by the downstream consumer. If the message cannot be delivered due to a failure, the client will be notified.</p>
-
 <p>The client indicates its preferred message delivery mode by means of the <em>snd-settle-mode</em> and <em>rcv-settle-mode</em> fields of its <em>attach</em> frame during link establishment. Clients should use <code>mixed</code> as the <em>snd-settle-mode</em> and <code>first</code> as the <em>rcv-settle-mode</em> in order to be able to use the same link for sending all types of messages using different delivery semantics as described in the following sections.</p>
-
 <h2 id="error-handling">Error Handling</h2>
-
 <p>The AMQP adapter distinguishes between two types of errors when a message is published using <em>at least once</em>:</p>
-
 <ul>
 <li>An error caused by the client side, e.g invalid message address, content-type, adapter disabled for tenant etc.</li>
 <li>An error caused by the server side, e.g no downstream consumers registered, downstream connection loss etc.</li>
 </ul>
-
 <p>For a client side error, the adapter settles the message transfer with the <em>rejected</em> outcome and provides an error description in the corresponding disposition frame. In the case of a server-side error, the adapter settles the message with the <em>released</em> outcome, indicating to the client that the message itself was OK but it cannot be delivered due to a failure beyond the control of the client. In the latter case, a client may attempt to re-send the message unaltered.</p>
-
 <h2 id="amqp-command-line-client">AMQP Command-line Client</h2>
-
 <p>For purposes of demonstrating the usage of the AMQP adapter, the <strong>Hono CLI Module</strong> contains an AMQP command-line client for interacting with the AMQP adapter. The client can be used to send telemetry or events and to receive/respond to command request messages.</p>
-
 <p>The command-line client supports the following parameters (with default values):</p>
-
 <ul>
 <li><code>--spring.profiles.active=amqp-send</code>: Profile for sending telemetry data or events to Hono.</li>
 <li><code>--spring.profiles.active=amqp-command</code>: Profile for receiving and responding to command request messages.</li>
@@ -1990,503 +1997,373 @@
 <li><code>--hono.client.host</code>: The host name that the AMQP adapter is running on (default: <code>localhost</code>)</li>
 <li><code>--hono.client.port</code>: The port that the adapter is listening for incoming connections (default: <code>5672</code>)</li>
 </ul>
-
 <p>To run the client to send a telemetry message to Hono, open a terminal and execute the following:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.username<span style="color:#f92672">=</span>sensor1@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>hono-secret
 
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.username=sensor1@DEFAULT_TENANT --hono.client.password=hono-secret
-
-Accepted{}
-</code></pre>
-
-<p>The client prints the outcome of the operation to standard out. The outcome above (<code>Accepted</code>) indicates that the request to upload the data has succeeded.</p>
-
+Accepted<span style="color:#f92672">{}</span>
+</code></pre></div><p>The client prints the outcome of the operation to standard out. The outcome above (<code>Accepted</code>) indicates that the request to upload the data has succeeded.</p>
 <p><strong>NB</strong>
 There are two JAR files in the hono/cli/target directory. The JAR to use for the client is the <code>hono-cli-$VERSION-exec.jar</code> and not the <code>hono-cli-$VERSION.jar</code> file. Running the latter will not work and will output the message: <code>no main manifest attribute, in hono-cli-$VERSION.jar</code></p>
-
 <h2 id="publishing-telemetry-data">Publishing Telemetry Data</h2>
-
 <p>The client indicates the delivery mode to use when uploading telemetry messages by means of the <em>settled</em> and <em>rcv-settle-mode</em> properties of the AMQP <em>transfer</em> frame(s) it uses for uploading the message. The AMQP adapter will accept messages using a delivery mode according to the following table:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">settled</th>
-<th align="left">rcv-settle-mode</th>
-<th align="left">Delivery semantics</th>
+<th style="text-align:left">settled</th>
+<th style="text-align:left">rcv-settle-mode</th>
+<th style="text-align:left">Delivery semantics</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>false</code></td>
-<td align="left"><code>first</code></td>
-<td align="left">The adapter will forward the message to the downstream AMQP 1.0 Messaging Network and will forward any AMQP <em>disposition</em> frame received from the AMQP 1.0 Messaging Network to the client <em>as is</em>. It is up to the client&rsquo;s discretion if and how it processes the disposition frame. The adapter will accept any re-delivered message. Sending <em>unsettled</em> messages allows for clients to implement either <em>AT LEAST ONCE</em> or <em>AT MOST ONCE</em> delivery semantics, depending on whether a client actually waits for and considers the disposition frames it receives from the adapter or not. This is the recommended mode for uploading telemetry data.</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left"><code>first</code></td>
+<td style="text-align:left">The adapter will forward the message to the downstream AMQP 1.0 Messaging Network and will forward any AMQP <em>disposition</em> frame received from the AMQP 1.0 Messaging Network to the client <em>as is</em>. It is up to the client&rsquo;s discretion if and how it processes the disposition frame. The adapter will accept any re-delivered message. Sending <em>unsettled</em> messages allows for clients to implement either <em>AT LEAST ONCE</em> or <em>AT MOST ONCE</em> delivery semantics, depending on whether a client actually waits for and considers the disposition frames it receives from the adapter or not. This is the recommended mode for uploading telemetry data.</td>
 </tr>
-
 <tr>
-<td align="left"><code>true</code></td>
-<td align="left"><code>first</code></td>
-<td align="left">The adapter will acknowledge and settle any received message spontaneously before forwarding it to the downstream AMQP 1.0 Messaging Network. The adapter will ignore any AMQP <em>disposition</em> frames it receives from the AMQP 1.0 Messaging Network. Sending <em>pre-settled</em> messages allows for clients to implement <em>AT MOST ONCE</em> delivery semantics only. This is the fastest mode of delivery but has the drawback of less reliable end-to-end flow control and potential loss of messages without notice.</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left"><code>first</code></td>
+<td style="text-align:left">The adapter will acknowledge and settle any received message spontaneously before forwarding it to the downstream AMQP 1.0 Messaging Network. The adapter will ignore any AMQP <em>disposition</em> frames it receives from the AMQP 1.0 Messaging Network. Sending <em>pre-settled</em> messages allows for clients to implement <em>AT MOST ONCE</em> delivery semantics only. This is the fastest mode of delivery but has the drawback of less reliable end-to-end flow control and potential loss of messages without notice.</td>
 </tr>
 </tbody>
 </table>
-
 <p>All other combinations are not supported by the adapter and will result in the message being ignored (pre-settled) or rejected (unsettled).</p>
-
 <h2 id="publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</h2>
-
 <p>The AMQP adapter supports publishing of telemetry data to Hono&rsquo;s Telemetry API. Telemetry messages can be published using either <em>AT LEAST ONCE</em> or <em>AT MOST ONCE</em> delivery semantics.</p>
-
 <ul>
 <li>Message Address: <code>telemetry</code> or <code>t</code>
-
 <ul>
 <li>This refers to the <code>to</code> property of the message.</li>
-</ul></li>
+</ul>
+</li>
 <li>Settlement Mode: <code>presettled</code> (<em>AT MOST ONCE</em>) or <code>unsettled</code> (<em>AT LEAST ONCE</em>)</li>
 <li>Authentication: SASL PLAIN or SASL EXTERNAL</li>
 <li>Message Body:
-
 <ul>
 <li>(optional) Arbitrary payload</li>
-</ul></li>
+</ul>
+</li>
 <li>Message properties:
-
 <ul>
 <li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</li>
-</ul></li>
+</ul>
+</li>
 <li>Disposition Frames:
-
 <ul>
 <li>Accepted: Message successfully processed by the adapter.</li>
 <li>Released: Message cannot be processed and should be redelivered.</li>
 <li>Rejected: Adapter rejects the message due to one of the following:
-
-<ul>
-<li>(<code>hono:bad-request</code>): Request rejected due to a bad client request.</li>
-<li>(<code>amqp:unauthorized-access</code>): Request rejected because the adapter is disabled for tenant.</li>
-<li>(<code>amqp:precondition-failed</code>): Request does not fulfill certain requirements e.g adapter cannot assert device registration etc.</li>
-<li>(<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
-</ul></li>
-</ul></li>
+* (<code>hono:bad-request</code>): Request rejected due to a bad client request.
+* (<code>amqp:unauthorized-access</code>): Request rejected because the adapter is disabled for tenant.
+* (<code>amqp:precondition-failed</code>): Request does not fulfill certain requirements e.g adapter cannot assert device registration etc.
+* (<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
 </ul>
-
+</li>
+</ul>
 <p>When a device publishes data to the <code>telemetry</code> address, the AMQP adapter automatically determines the device&rsquo;s identity and tenant during the authentication process.</p>
-
 <p><strong>Example</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.username=sensor1@DEFAULT_TENANT --hono.client.password=hono-secret
-</code></pre>
-
-<p>Notice that we only supplied a new value for the message address, leaving the other default values.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.username<span style="color:#f92672">=</span>sensor1@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>hono-secret
+</code></pre></div><p>Notice that we only supplied a new value for the message address, leaving the other default values.</p>
 <p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.port=5671 --hono.client.certPath=config/hono-demo-certs-jar/device-4711-cert.pem --hono.client.keyPath=config/hono-demo-certs-jar/device-4711-key.pem --hono.client.trustStorePath=config/hono-demo-certs-jar/trusted-certs.pem --hono.client.hostnameVerificationRequired=false
-</code></pre>
-
-<h2 id="publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.port<span style="color:#f92672">=</span><span style="color:#ae81ff">5671</span> --hono.client.certPath<span style="color:#f92672">=</span>config/hono-demo-certs-jar/device-4711-cert.pem --hono.client.keyPath<span style="color:#f92672">=</span>config/hono-demo-certs-jar/device-4711-key.pem --hono.client.trustStorePath<span style="color:#f92672">=</span>config/hono-demo-certs-jar/trusted-certs.pem --hono.client.hostnameVerificationRequired<span style="color:#f92672">=</span>false
+</code></pre></div><h2 id="publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</h2>
 <ul>
 <li>Message Address: <code>telemetry/${tenant-id}/${device-id}</code> or <code>t/${tenant-id}/${device-id}</code></li>
 <li>Settlement Mode: <code>presettled</code> (AT MOST ONCE) or <code>unsettled</code> (AT LEAST ONCE)</li>
 <li>Authentication: none</li>
 <li>Message Body:
-
 <ul>
 <li>(optional) Arbitrary payload</li>
-</ul></li>
+</ul>
+</li>
 <li>Message properties:
-
 <ul>
 <li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</li>
-</ul></li>
+</ul>
+</li>
 <li>Disposition Frames:
-
 <ul>
 <li>Accepted: Message successfully processed by the adapter.</li>
 <li>Released: Message cannot be processed and should be redelivered.</li>
 <li>Rejected: Adapter rejects the message due to:
-
-<ul>
-<li>(<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).</li>
-<li>(<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.</li>
-<li>(<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.</li>
-<li>(<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
-</ul></li>
-</ul></li>
+* (<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).
+* (<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.
+* (<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.
+* (<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
 </ul>
-
+</li>
+</ul>
 <p>Note how verbose the address is for unauthenticated devices. This address can be used by devices that have not authenticated to the protocol adapter. This requires the <code>HONO_AMQP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code> before starting the protocol adapter.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --message.address=t/DEFAULT_TENANT/4711
-</code></pre>
-
-<h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --message.address<span style="color:#f92672">=</span>t/DEFAULT_TENANT/4711
+</code></pre></div><h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
 <p>A device that publishes data on behalf of another device is called a gateway device. The message address is used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the message address is used to identify the device that the gateway publishes data for.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>A gateway connecting to the adapter using <code>gw@DEFAULT_TENANT</code> as username and <code>gw-secret</code> as password and then publishing some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.username=gw@DEFAULT_TENANT --hono.client.password=gw-secret --message.address=t/DEFAULT_TENANT/4711
-</code></pre>
-
-<p>In this example, we are using message address <code>t/DEFAULT_TENANT/4711</code> which contains the device that the gateway is publishing the message for.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.username<span style="color:#f92672">=</span>gw@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>gw-secret --message.address<span style="color:#f92672">=</span>t/DEFAULT_TENANT/4711
+</code></pre></div><p>In this example, we are using message address <code>t/DEFAULT_TENANT/4711</code> which contains the device that the gateway is publishing the message for.</p>
 <h2 id="publishing-events">Publishing Events</h2>
-
 <p>The adapter supports <em>AT LEAST ONCE</em> delivery of <em>Event</em> messages only. A client therefore MUST set the <em>settled</em> property to <code>false</code> and the <em>rcv-settle-mode</em> property to <code>first</code> in all <em>transfer</em> frame(s) it uses for uploading events. All other combinations are not supported by the adapter and result in the message being rejected.</p>
-
 <h2 id="publish-an-event-authenticated-device">Publish an Event (authenticated Device)</h2>
-
 <ul>
 <li>Message Address: <code>event</code> or <code>e</code></li>
 <li>Settlement Mode: <code>unsettled</code> (AT LEAST ONCE)</li>
 <li>Authentication: SASL PLAIN or SASL EXTERNAL</li>
 <li>Message Body:
-
 <ul>
 <li>(optional) Arbitrary payload</li>
-</ul></li>
+</ul>
+</li>
 <li>Message properties:
-
 <ul>
 <li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</li>
-</ul></li>
+</ul>
+</li>
 <li>Disposition Frames:
-
 <ul>
 <li>Accepted: Message successfully processed by the adapter.</li>
 <li>Released: Message cannot be processed and should be redelivered.</li>
 <li>Rejected: Adapter rejects the message due to:
-
-<ul>
-<li>(<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).</li>
-<li>(<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.</li>
-<li>(<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.</li>
-<li>(<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
-</ul></li>
-</ul></li>
+* (<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).
+* (<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.
+* (<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.
+* (<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish events. It is available only if the protocol adapter has been configured to require devices to authenticate (which is the default).</p>
-
 <p><strong>Example</strong></p>
-
 <p>Upload a JSON string for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.username=sensor1@DEFAULT_TENANT --hono.client.password=hono-secret --message.address=event --message.payload='{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.username<span style="color:#f92672">=</span>sensor1@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>hono-secret --message.address<span style="color:#f92672">=</span>event --message.payload<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
 <ul>
 <li>Message Address: <code>event/${tenant-id}/${device-id}</code> or <code>e/${tenant-id}/${device-id}</code></li>
 <li>Settlement Mode: <code>unsettled</code> (AT LEAST ONCE)</li>
 <li>Message Body:
-
 <ul>
 <li>(optional) Arbitrary payload</li>
-</ul></li>
+</ul>
+</li>
 <li>Message properties:
-
 <ul>
 <li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</li>
-</ul></li>
+</ul>
+</li>
 <li>Disposition Frames:
-
 <ul>
 <li>Accepted: Message successfully processed by the adapter.</li>
 <li>Released: Message cannot be processed and should be redelivered.</li>
 <li>Rejected: Adapter rejects the message due to:
-
-<ul>
-<li>(<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).</li>
-<li>(<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.</li>
-<li>(<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.</li>
-<li>(<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
-</ul></li>
-</ul></li>
+* (<code>hono:bad-request</code>): A bad client request (e.g invalid content-type).
+* (<code>amqp:unauthorized-access</code>): The adapter is disabled for tenant.
+* (<code>amqp:precondition-failed</code>): Request not fulfilling certain requirements.
+* (<code>amqp:resource-limit-exceeded</code>): Request rejected because the message limit for the given tenant is exceeded.</li>
 </ul>
-
+</li>
+</ul>
 <p>This address format is used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_AMQP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --message.address=e/DEFAULT_TENANT/4711 --message.payload='{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --message.address<span style="color:#f92672">=</span>e/DEFAULT_TENANT/4711 --message.payload<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
 <p><strong>Examples</strong></p>
-
 <p>A gateway connecting to the adapter using <code>gw@DEFAULT_TENANT</code> as username and <code>gw-secret</code> as password and then publishing some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --hono.client.username=gw@DEFAULT_TENANT --hono.client.password=gw-secret --message.address=e/DEFAULT_TENANT/4711
-</code></pre>
-
-<p>In this example, we are using message address <code>e/DEFAULT_TENANT/4711</code> which contains the device that the gateway is publishing the message for.</p>
-
-<h2 id="command-control">Command &amp; Control</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-send --hono.client.username<span style="color:#f92672">=</span>gw@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>gw-secret --message.address<span style="color:#f92672">=</span>e/DEFAULT_TENANT/4711
+</code></pre></div><p>In this example, we are using message address <code>e/DEFAULT_TENANT/4711</code> which contains the device that the gateway is publishing the message for.</p>
+<h2 id="command--control">Command &amp; Control</h2>
 <p>The AMQP adapter enables devices to receive commands that have been sent by business applications by means of opening a receiver link using a device specific <em>source address</em> as described below. When a device no longer wants to receive commands anymore, it can simply close the link.</p>
-
 <p>When a device has successfully opened a receiver link for commands, the adapter sends an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a> on behalf of the device to the downstream AMQP 1.0 Messaging Network with the <em>ttd</em> header set to <code>-1</code>, indicating that the device will be ready to receive commands until further notice. Analogously, the adapter sends an empty notification with the <em>ttd</em> header set to <code>0</code> when a device closes the link or disconnects.</p>
-
 <p>Devices send their responses to commands by means of sending an AMQP message with properties specific to the command that has been executed. The AMQP adapter accepts responses being published using either <em>at most once</em> (QoS 0) or <em>at least once</em> (QoS 1) delivery semantics. The device must send the command response messages using the same (sender) link that it uses for sending telemetry data and events.</p>
-
-<p>The AMQP adapter checks the configured <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> before accepting any command requests and responses. In case of incoming command requests from business applications or the command responses from devices, if the message limit is exceeded, the Adapter rejects the message with the reason <code>amqp:resource-limit-exceeded</code>.</p>
-
+<p>The AMQP adapter checks the configured [message limit] (/hono/docs/1.4/concepts/resource-limits/) before accepting any command requests and responses. In case of incoming command requests from business applications or the command responses from devices, if the message limit is exceeded, the Adapter rejects the message with the reason <code>amqp:resource-limit-exceeded</code>.</p>
 <h3 id="receiving-commands">Receiving Commands</h3>
-
 <p>A device MUST use the following source address in its <em>attach</em> frame to open a link for receiving commands:</p>
-
 <ul>
 <li><code>command</code> (authenticated device)</li>
 <li><code>command</code> (authenticated gateway receiving commands for all devices it acts on behalf of)</li>
 <li><code>command/${tenant}/${device-id}</code> (unauthenticated device)</li>
 <li><code>command/${tenant}/${device-id}</code> (authenticated gateway receiving commands for a specific device it acts on behalf of)</li>
 </ul>
-
 <p>The adapter supports <em>AT LEAST ONCE</em> delivery of command messages only. A client therefore MUST use <code>unsettled</code> for the <em>snd-settle-mode</em> and <code>first</code> for the <em>rcv-settle-mode</em> fields of its <em>attach</em> frame during link establishment. All other combinations are not supported and result in the termination of the link.</p>
-
 <p>Once the link has been established, the adapter will send command messages having the following properties:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="center">Mandatory</th>
-<th align="left">Location</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Location</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>subject</em></td>
-<td align="center">yes</td>
-<td align="left"><em>properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the name of the command to be executed.</td>
+<td style="text-align:left"><em>subject</em></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left"><em>properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the name of the command to be executed.</td>
 </tr>
-
 <tr>
-<td align="left"><em>reply-to</em></td>
-<td align="center">no</td>
-<td align="left"><em>properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the address to which the command response should be sent. This property will be empty for <em>one-way</em> commands.</td>
+<td style="text-align:left"><em>reply-to</em></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the address to which the command response should be sent. This property will be empty for <em>one-way</em> commands.</td>
 </tr>
-
 <tr>
-<td align="left"><em>correlation-id</em></td>
-<td align="center">no</td>
-<td align="left"><em>properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">This property will be empty for <em>one-way</em> commands, otherwise it will contain the identifier used to correlate the response with the command request.</td>
+<td style="text-align:left"><em>correlation-id</em></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">This property will be empty for <em>one-way</em> commands, otherwise it will contain the identifier used to correlate the response with the command request.</td>
 </tr>
-
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="center">no</td>
-<td align="left"><em>application-properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">This property will only be set if an authenticated gateway has connected to the adapter. It will contain the id of the device (connected to the gateway) that the command is targeted at.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>application-properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">This property will only be set if an authenticated gateway has connected to the adapter. It will contain the id of the device (connected to the gateway) that the command is targeted at.</td>
 </tr>
 </tbody>
 </table>
-
-<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/#configuring-gateway-devices">Configuring Gateway Devices</a> for details.</p>
-
+<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/">Configuring Gateway Devices</a> for details.</p>
 <p>A gateway can open a link to receive commands for <em>all</em> devices it acts on behalf of. An authenticated gateway can also open a receiver link for commands targeted at a <em>specific</em> device.</p>
-
 <p>When processing an incoming command message, the protocol adapter will give precedence to a device-specific command consumer matching the command target device, whether it was created by a gateway or by the device itself. If multiple such consumer links have been created, by multiple gateways and/or from the device itself, the gateway or device that last created the consumer link will get the command messages.</p>
-
 <p>If no device-specific command consumer exists for a command target device, but <em>one</em> gateway, that may act on behalf of the device, has opened a generic, device-unspecific command consumer link, then the command message is sent to that gateway.</p>
-
 <p>If <em>multiple</em> gateways have opened a generic command consumer link, the protocol adapter may have to decide to which gateway a particular command message will be sent to.
 In case the command target device has already sent a telemetry, event or command response message via a gateway and if that gateway has opened a command consumer link, that gateway will be chosen. Otherwise one gateway that may act on behalf of the command target device and that has opened a command consumer link will be chosen randomly to receive the command message.</p>
-
 <h3 id="sending-a-response-to-a-command">Sending a Response to a Command</h3>
-
 <p>A device only needs to respond to commands that contain a <em>reply-to</em> address and a <em>correlation-id</em>. However, if the application expects a response, then devices must publish a response back to the application. Devices may use the same anonymous sender link for this purpose that they also use for sending telemetry data and events.</p>
-
 <p>The adapter supports <em>AT LEAST ONCE</em> delivery of command response messages only. A client therefore MUST set the <em>settled</em> property to <code>true</code> and the <em>rcv-settle-mode</em> property to <code>first</code> in all <em>transfer</em> frame(s) it uses for uploading command responses. All other combinations are not supported by the adapter and result in the message being rejected.</p>
-
 <p>The table below provides an overview of the properties that must be set on a command response message:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="center">Mandatory</th>
-<th align="left">Location</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Location</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>to</em></td>
-<td align="center">yes</td>
-<td align="left"><em>properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">MUST contain the value of the <em>reply-to</em> property of the command request message.</td>
+<td style="text-align:left"><em>to</em></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left"><em>properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">MUST contain the value of the <em>reply-to</em> property of the command request message.</td>
 </tr>
-
 <tr>
-<td align="left"><em>correlation-id</em></td>
-<td align="center">yes</td>
-<td align="left"><em>properties</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">MUST contain the value of the <em>correlation-id</em> property of the command request message.</td>
+<td style="text-align:left"><em>correlation-id</em></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left"><em>properties</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">MUST contain the value of the <em>correlation-id</em> property of the command request message.</td>
 </tr>
-
 <tr>
-<td align="left"><em>status</em></td>
-<td align="center">yes</td>
-<td align="left"><em>application-properties</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left">MUST contain a status code indicating the outcome of processing the command at the device (see <a href="/hono/docs/1.4/api/command-and-control/">Command &amp; Control API</a> for details).</td>
+<td style="text-align:left"><em>status</em></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left"><em>application-properties</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left">MUST contain a status code indicating the outcome of processing the command at the device (see <a href="/hono/docs/1.4/api/command-and-control/">Command &amp; Control API</a> for details).</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="examples">Examples</h3>
-
 <p>The AMQP adapter client can be used to simulate a device which receives commands and sends responses back to the application. The command line client is used to simulate an application sending commands to devices and receiving command responses from devices.</p>
-
 <p>Start the AMQP adapter client, as follows:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/target/
-java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-command --hono.client.username=sensor1@DEFAULT_TENANT --hono.client.password=hono-secret
-</code></pre>
-
-<p>After successfully starting the client, a message indicating that the device is ready to receive commands will be printed to standard output. The device is now waiting to receive commands from applications.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/target/</span>
+java -jar hono-cli-*-exec.jar --spring.profiles.active<span style="color:#f92672">=</span>amqp-command --hono.client.username<span style="color:#f92672">=</span>sensor1@DEFAULT_TENANT --hono.client.password<span style="color:#f92672">=</span>hono-secret
+</code></pre></div><p>After successfully starting the client, a message indicating that the device is ready to receive commands will be printed to standard output. The device is now waiting to receive commands from applications.</p>
 <p>To send a command to the device, open a new terminal shell and start the command application, as shown below:</p>
-
-<pre><code class="language-sh"># in directory: hono/cli/
-java -jar target/hono-cli-*-exec.jar --hono.client.host=localhost --hono.client.username=consumer@HONO --hono.client.password=verysecret --spring.profiles.active=command,ssl
-</code></pre>
-
-<div class="alert alert-notice">
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/cli/</span>
+java -jar target/hono-cli-*-exec.jar --hono.client.host<span style="color:#f92672">=</span>localhost --hono.client.username<span style="color:#f92672">=</span>consumer@HONO --hono.client.password<span style="color:#f92672">=</span>verysecret --spring.profiles.active<span style="color:#f92672">=</span>command,ssl
+</code></pre></div><div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>Change into the <code>cli</code> directory before running the command above to start the command application. If you change into the target directory (i.e <code>cli/target</code>), then the client will not be able to locate to certificate needed to connect to the messaging network.</div>
 </div>
-
 <p>Once the command application starts successfully, enter a command name, payload and content-type of the command to send to the device.</p>
-
-<pre><code class="language-plaintext">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Enter name of command for device [DEFAULT_TENANT:4711] (prefix with 'ow:' to send one-way command):
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Enter name of command for device [DEFAULT_TENANT:4711] (prefix with &#39;ow:&#39; to send one-way command):
 setBrightness
 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Enter command payload:
 some-payload
 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Enter content type:
 text/plain
-</code></pre>
-
-<p>After sending the command, the device (i.e. AMQP command client) will print out the command name and payload that it receives and automatically sends a command response to the application.</p>
-
-<pre><code class="language-plaintext">Received Command Message : [Command name: setBrightness, Command payload: some-payload]
+</code></pre></div><p>After sending the command, the device (i.e. AMQP command client) will print out the command name and payload that it receives and automatically sends a command response to the application.</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">Received Command Message : [Command name: setBrightness, Command payload: some-payload]
 Command response sent [outcome: Accepted{}]
-</code></pre>
-
-<h2 id="downstream-meta-data">Downstream Meta Data</h2>
-
+</code></pre></div><h2 id="downstream-meta-data">Downstream Meta Data</h2>
 <p>The adapter includes the following meta data in the application properties of messages being sent downstream:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">The identifier of the device that the message originates from.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">The identifier of the device that the message originates from.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_adapter</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The AMQP adapter&rsquo;s type name is <code>hono-amqp</code>.</td>
+<td style="text-align:left"><em>orig_adapter</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The AMQP adapter&rsquo;s type name is <code>hono-amqp</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_address</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the AMQP <em>target address</em> that the device has used to send the data.</td>
+<td style="text-align:left"><em>orig_address</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the AMQP <em>target address</em> that the device has used to send the data.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">tenant</a> or the <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration">device level</a>. The values of the default properties are determined as follows:</p>
-
 <ol>
 <li>If the message already contains a non-empty property of the same name, the value if unchanged.</li>
 <li>Otherwise, if a default property of the same name is defined in the device&rsquo;s registration information, that value is used.</li>
 <li>Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.</li>
 </ol>
-
 <p>Note that of the standard AMQP 1.0 message properties only the <em>content-type</em> and <em>ttl</em> can be set this way to a default value.</p>
-
 <h3 id="event-message-time-to-live">Event Message Time-to-live</h3>
-
 <p>Events published by devices will usually be persisted by the AMQP Messaging Network in order to support deferred delivery to downstream consumers.
 In most cases the AMQP Messaging Network can be configured with a maximum <em>time-to-live</em> to apply to the events so that the events will be removed
 from the persistent store if no consumer has attached to receive the event before the message expires.</p>
-
 <p>In order to support environments where the AMQP Messaging Network cannot be configured accordingly, the protocol adapter supports setting a
-downstream event message&rsquo;s <em>ttl</em> property based on the default <em>ttl</em> and <em>max-ttl</em> values configured for a tenant/device as described in the <a href="/hono/docs/1.4/api/tenant/#resource-limits-configuration-format">Tenant API</a>.</p>
-
+downstream event message&rsquo;s <em>ttl</em> property based on the default <em>ttl</em> and <em>max-ttl</em> values configured for a tenant/device as described in the [Tenant API]
+(/hono/docs/1.4/api/tenant/#resource-limits-configuration-format).</p>
 <h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
-
 <p>The adapter uses the <a href="/hono/docs/1.4/api/tenant/#get-tenant-information">Tenant API</a> to retrieve <em>tenant specific configuration</em> for adapter type <code>hono-amqp</code>.
 The following properties are (currently) supported:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>enabled</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant and respond with a <code>amqp:unauthorized-access</code> as the error condition value for rejecting the message.</td>
+<td style="text-align:left"><em>enabled</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant and respond with a <code>amqp:unauthorized-access</code> as the error condition value for rejecting the message.</td>
 </tr>
 </tbody>
 </table>
@@ -3485,19 +3362,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/coap-adapter/index.html b/docs/1.4/user-guide/coap-adapter/index.html
index 136029c..8035781 100644
--- a/docs/1.4/user-guide/coap-adapter/index.html
+++ b/docs/1.4/user-guide/coap-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>CoAP Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/coap-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/coap-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/coap-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/coap-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/coap-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/coap-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/coap-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/coap-adapter/">1.2</option>
@@ -1626,6 +1666,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/coap-adapter/">dev</option>
@@ -1744,35 +1786,35 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#device-authentication">Device Authentication</a>
-<ul>
-<li><a href="#psk">PSK</a></li>
-</ul></li>
-<li><a href="#message-limits">Message Limits</a></li>
-<li><a href="#coap-content-format-codes">CoAP Content Format Codes</a></li>
-<li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
-<li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
-<li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
-<li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
-<li><a href="#command-control">Command &amp; Control</a>
-<ul>
-<li><a href="#commands-handled-by-gateways">Commands handled by gateways</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
-</ul></li>
-<li><a href="#downstream-meta-data">Downstream Meta Data</a>
-<ul>
-<li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
-</ul></li>
-<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#device-authentication">Device Authentication</a>
+      <ul>
+        <li><a href="#psk">PSK</a></li>
+      </ul>
+    </li>
+    <li><a href="#message-limits">Message Limits</a></li>
+    <li><a href="#coap-content-format-codes">CoAP Content Format Codes</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
+    <li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
+    <li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
+    <li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
+    <li><a href="#command--control">Command &amp; Control</a>
+      <ul>
+        <li><a href="#commands-handled-by-gateways">Commands handled by gateways</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
+      </ul>
+    </li>
+    <li><a href="#downstream-meta-data">Downstream Meta Data</a>
+      <ul>
+        <li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
+      </ul>
+    </li>
+    <li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1796,85 +1838,67 @@
         
 
 
-<p>The CoAP protocol adapter exposes <a href="https://tools.ietf.org/html/rfc7252">CoAP</a> based endpoints for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
+<p>The CoAP protocol adapter exposes <a href="https://tools.ietf.org/html/rfc7252">CoAP</a> based endpoints for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Experimental</h4>
     <div>The CoAP adapter has not yet reached the level of maturity of the other standard adapters. In particular, the resources implemented by the adapter might
 still be subject to change.</div>
 </div>
-
 <h2 id="device-authentication">Device Authentication</h2>
-
 <p>The CoAP adapter by default requires clients (devices or gateway components) to authenticate during connection establishment.
 The adapter (currently) only supports <a href="https://tools.ietf.org/html/rfc4279">PSK</a> as part of a DTLS handshake for that purpose.
 Additional variants mentioned in <a href="https://tools.ietf.org/html/rfc7252#section-9">Securing CoAP</a> might be added in the future.</p>
-
 <p>The adapter tries to authenticate the device using these mechanisms in the following order</p>
-
 <h3 id="psk">PSK</h3>
-
 <p>The <em>identity</em> provided in the ClientKeyExchange must have the form <em>auth-id@tenant</em>, e.g. <code>sensor1@DEFAULT_TENANT</code>.
 The adapter performs the handshake using the credentials the <a href="/hono/docs/1.4/admin-guide/common-config/#credentials-service-connection-configuration">configured Credentials service</a>
 has on record for the client. The adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record
 with the <em>tenant</em> and <em>auth-id</em> provided by the device in the <em>identity</em> and <code>psk</code> as the <em>type</em> of secret as query parameters.</p>
-
 <p>The examples below refer to devices <code>4711</code> and <code>gw-1</code> of tenant <code>DEFAULT_TENANT</code> using <em>auth-ids</em> <code>sensor1</code> and <code>gw1</code> and
 corresponding secrets. The example deployment as described in the <a href="/hono/docs/1.4/deployment/">Deployment Guides</a> comes pre-configured
 with the corresponding entities in its device registry component.
 Please refer to the <a href="/hono/docs/1.4/api/credentials/#standard-credential-types">Credentials API</a> for details regarding the different
 types of secrets.</p>
-
 <p><strong>NB</strong> There is a subtle difference between the <em>device identifier</em> (<em>device-id</em>) and the <em>auth-id</em> a device uses for authentication. See <a href="/hono/docs/1.4/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
-
 <h2 id="message-limits">Message Limits</h2>
-
 <p>The adapter rejects</p>
-
 <ul>
 <li>a client&rsquo;s request to upload data with status code <code>429 Too Many Requests</code> and</li>
 <li>any AMQP 1.0 message containing a command sent by a north bound application</li>
 </ul>
-
 <p>if the <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> that has been configured for the device&rsquo;s tenant is exceeded.</p>
-
 <h2 id="coap-content-format-codes">CoAP Content Format Codes</h2>
-
 <p>CoAP doesn&rsquo;t use a textual identifier for content types. Instead numbers are used, which are maintained by the <a href="https://www.iana.org/">IANA</a>.
 The <a href="https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats">IANA - CoAP Content Formats</a> page lists all
 (currently) registered codes and the corresponding media types.</p>
-
 <h2 id="publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</h2>
-
 <p>The device is authenticated using PSK.</p>
-
 <ul>
 <li>URI: <code>/telemetry</code></li>
 <li>Method: <code>POST</code></li>
 <li>Type:
-
 <ul>
 <li><code>CON</code>: <em>at least once</em> delivery semantics</li>
 <li><code>NON</code>: <em>at most once</em> delivery semantics</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -1887,107 +1911,85 @@
 In the latter case, the <em>location-path</em> option contains exactly the URI-path that the device must use when sending its
 response to the command.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device.</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for the device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish telemetry data. It is available only if the protocol adapter is configured to require
 devices to authenticate (which is the default).</p>
-
 <p><strong>Examples</strong></p>
-
 <p>The examples provided below make use of the <em>coap-client</em> command line tool which is part of the <a href="https://libcoap.net/">libcoap project</a>.
 Precompiled packages should be available for different Linux variants.</p>
-
 <p>Publish some JSON data for device <code>4711</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
-
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/telemetry -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<div class="alert alert-notice">
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/telemetry -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div><em>coap-client</em> only reports error response-codes, so the expected 2.04 response code will not be printed to the terminal.</div>
 </div>
-
 <p>Publish some JSON data for device <code>4711</code> using message type <code>NON</code> (<em>at most once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -N -m POST coaps://hono.eclipseprojects.io/telemetry -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/telemetry?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -N -m POST coaps://hono.eclipseprojects.io/telemetry -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/telemetry?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<div class="alert alert-notice">
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>In the example above the response actually contains payload that should be used as input to a command to be executed by the device.
 This is just for illustrative purposes. You will usually get an empty response because there is no downstream application attached which could
 send any commands to the device.</div>
 </div>
-
 <h2 id="publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</h2>
-
 <ul>
 <li>URI: <code>/telemetry/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type:
-
 <ul>
 <li><code>CON</code>: <em>at least once</em> delivery semantics</li>
 <li><code>NON</code>: <em>at most once</em> delivery semantics</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -2000,93 +2002,74 @@
 In the latter case, the <em>location-path</em> option contains exactly the URI-path that the device must use when sending its
 response to the command.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 2.05 (Content).</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for the device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_COAP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> using message type <code>NON</code> (<em>at most once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -N -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code> using message type <code>NON</code> (<em>at most once</em>):</p>
-
-<pre><code class="language-sh">coap-client -N -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">coap-client -m PUT coap://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4711?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
-
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
 <ul>
 <li>URI: <code>/telemetry/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type:
-
 <ul>
 <li><code>CON</code>: <em>at least once</em> delivery semantics</li>
 <li><code>NON</code>: <em>at most once</em> delivery semantics</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -2100,101 +2083,79 @@
 response to the command. Note that in both cases the <code>${tenantId}/${deviceId}</code> path segments indicate the device that
 the command is targeted at.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 2.05 (Content).</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for a device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The tenant that the gateway belongs to is not allowed to use this protocol adapter.</li>
-<li>The device belongs to another tenant than the gateway.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The tenant that the gateway belongs to is not allowed to use this protocol adapter.
+* The device belongs to another tenant than the gateway.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter
 directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a>
 or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the
 protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used to identify the device that the gateway
 publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em>
 for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4712</code> using message type <code>NON</code> (<em>at most once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -N -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4712</code> using message type <code>NON</code> (<em>at most once</em>):</p>
-
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -N -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/telemetry/DEFAULT_TENANT/4712?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<p><strong>NB</strong> The examples above assume that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code>
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><p><strong>NB</strong> The examples above assume that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code>
 which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
 <h2 id="publish-an-event-authenticated-device">Publish an Event (authenticated Device)</h2>
-
 <p>The device is authenticated using PSK.</p>
-
 <ul>
 <li>URI: <code>/event</code></li>
 <li>Method: <code>POST</code></li>
 <li>Type:<code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -2207,97 +2168,78 @@
 In the latter case, the <em>location-path</em> option contains exactly the URI-path that the device must use when sending its
 response to the command.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 2.05 (Content).</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for the device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish events. It is available only if the protocol adapter is configured to require
 devices to authenticate (which is the default).</p>
-
 <p><strong>Examples</strong></p>
-
 <p>The examples provided below make use of the <em>coap-client</em> command line tool which is part of the <a href="https://libcoap.net/">libcoap project</a>.
 Precompiled packages should be available for different Linux variants.</p>
-
 <p>Publish some JSON data for device <code>4711</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
-
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/event -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<div class="alert alert-notice">
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/event -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div><em>coap-client</em> only reports error response-codes, so the expected 2.04 response code will not be printed to the terminal.</div>
 </div>
-
 <p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/event?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret -m POST coaps://hono.eclipseprojects.io/event?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<div class="alert alert-notice">
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>In the example above the response actually contains payload that should be used as input to a command to be executed by the device.
 This is just for illustrative purposes. You will usually get an empty response because there is no downstream application attached which could
 send any commands to the device.</div>
 </div>
-
 <h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
-
 <ul>
 <li>URI: <code>/event/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type:<code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -2310,83 +2252,67 @@
 In the latter case, the <em>location-path</em> option contains exactly the URI-path that the device must use when sending its
 response to the command.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 2.05 (Content).</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for the device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_COAP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -m PUT coap://hono.eclipseprojects.io/event/DEFAULT_TENANT/4711 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -m PUT coap://hono.eclipseprojects.io/event/DEFAULT_TENANT/4711?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -m PUT coap://hono.eclipseprojects.io/event/DEFAULT_TENANT/4711 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">coap-client -m PUT coap://hono.eclipseprojects.io/event/DEFAULT_TENANT/4711?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
-
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
 <ul>
 <li>URI: <code>/event/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type:<code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: The type of payload contained in the request body. Required, if request contains payload.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>empty</code>: Marks the request as an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a>.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary payload encoded according to the given content type. Maybe empty, if <code>URI-query: empty</code> is provided.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Options:
-
 <ul>
 <li>(optional) <code>content-format</code>: A media type describing the semantics and format of payload contained in the response body.
 This option will only be present if the response contains a command to be executed by the device which requires input data.
@@ -2400,368 +2326,286 @@
 response to the command. Note that in both cases the <code>${tenantId}/${deviceId}</code> path segments indicate the device that
 the command is targeted at.
 This option will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 2.05 (Content).</li>
 <li>(optional) Error details, if status code is &gt;= 4.00.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The data in the request body has been accepted for processing. The response may contain a command for a device to execute.
 Note that if the message type is <code>NON</code> (<em>at most once</em> semantics), this status code does <strong>not</strong> mean that the message has been
 delivered to any potential consumer (yet). However, if the message type is <code>CON</code> (<em>at least once</em> semantics), then the adapter waits
 for the message to be delivered and accepted by a downstream consumer before responding with this status code.</li>
 <li>4.00 (Bad Request): The request cannot be processed. Possible reasons include:
-
-<ul>
-<li>the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
-</ul></li>
+* the request body is empty and the <em>URI-query</em> option doesn&rsquo;t contain the <code>empty</code> parameter</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The tenant that the gateway belongs to is not allowed to use this protocol adapter.</li>
-<li>The device belongs to another tenant than the gateway.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The tenant that the gateway belongs to is not allowed to use this protocol adapter.
+* The device belongs to another tenant than the gateway.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant
 connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter
 directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a>
 or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the
 protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used to identify the device that the gateway
 publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em>
 for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code> using default message type <code>CON</code> (<em>at least once</em>):</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/event/DEFAULT_TENANT/4712 -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/event/DEFAULT_TENANT/4712?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -t application/json -e <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
 
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/event/DEFAULT_TENANT/4712 -t application/json -e '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret -m PUT coaps://hono.eclipseprojects.io/event/DEFAULT_TENANT/4712?hono-ttd=10 -t application/json -e '{&quot;temp&quot;: 5}'
-
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<p><strong>NB</strong> The examples above assume that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code>
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><p><strong>NB</strong> The examples above assume that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code>
 which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
-<h2 id="command-control">Command &amp; Control</h2>
-
+<h2 id="command--control">Command &amp; Control</h2>
 <p>The CoAP adapter enables devices to receive commands that have been sent by business applications. Commands are delivered to the device by means of a response message. That means a device first has to send a request, indicating how long it will wait for the response. That request can either be a telemetry or event message, with a <code>hono-ttd</code> query parameter (<code>ttd</code> for <code>time till disconnect</code>) specifying the number of seconds the device will wait for the response. The business application can react on that message by sending a command message, targeted at the device. The CoAP adapter will then send the command message as part of the response message to the device.</p>
-
 <h3 id="commands-handled-by-gateways">Commands handled by gateways</h3>
-
-<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/#configuring-gateway-devices">Configuring Gateway Devices</a> for details.</p>
-
+<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/">Configuring Gateway Devices</a> for details.</p>
 <p>A gateway can send a request with the <code>hono-ttd</code> query parameter on the <code>/event</code> or <code>/telemetry</code> URI, indicating its readiness to receive a command for <em>any</em> device it acts on behalf of. Note that in this case, the business application will be notified with the gateway id in the <code>device_id</code> property of the downstream message.</p>
-
 <p>An authenticated gateway can also indicate its readiness to receive a command targeted at a <em>specific</em> device. For that, the <code>/event/${tenantId}/${deviceId}</code> or <code>/telemetry/${tenantId}/${deviceId}</code> URI is to be used, containing the id of the device to receive a command for. The business application will receive a notification with that device id.</p>
-
 <p>If there are multiple concurrent requests with a <code>hono-ttd</code> query parameter, sent by the command target device and/or one or more of its potential gateways, the CoAP adapter will choose the device or gateway to send the command to as follows:</p>
-
 <ul>
 <li>A request done by the command target device or by a gateway specifically done for that device, has precedence. If there are multiple, concurrent such requests, the last one will get the command message (if received) in its response. Note that the other requests won&rsquo;t be answered with a command message in their response event if the business application sent multiple command messages. That means commands for a single device can only be requested sequentially, not in parallel.</li>
 <li>If the above doesn&rsquo;t apply, a single <code>hono-ttd</code> request on the <code>/event</code> or <code>/telemetry</code> URI, sent by a gateway that the command target device is configured for, will get the command message in its response.</li>
 <li>If there are multiple, concurrent such requests by different gateways, all configured for the command target device, the request by the gateway will be chosen, through which the target device has last sent a telemetry or event message. If the target device hasn&rsquo;t sent a message yet and it is thereby unknown via which gateway the device communicates, then one of the requests will be chosen randomly to set the command in its response.</li>
 </ul>
-
 <h3 id="sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</h3>
-
 <p>The device is authenticated using PSK.</p>
-
 <ul>
 <li>URI: <code>/command_response/${commandRequestId}</code></li>
 <li>Method: <code>POST</code></li>
 <li>Type: <code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body.
 This option must be set if the result of processing the command on the device is non-empty. In this case the result data is
 contained in the request body.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(required) <code>hono-cmd-status</code>: An HTTP status code indicating the outcome of processing the command.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The response has been successfully delivered to the application that has sent the command.</li>
 <li>4.00 (Bad Request): The request cannot be processed because the command status or command request ID are missing/malformed.</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to respond to commands. It is available only if the protocol adapter is configured to require devices to
 authenticate (which is the default).</p>
-
 <p><strong>Example</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for device <code>4711</code>:</p>
-
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret coaps://hono.eclipseprojects.io/command_response/req-id-uuid?hono-cmd-status=200
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret coaps://hono.eclipseprojects.io/command_response/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
 <ul>
 <li>URI: <code>/command_response/${tenantId}/${deviceId}/${commandRequestId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type: <code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body.
 This option must be set if the result of processing the command on the device is non-empty. In this case the result data is
 contained in the request body.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(required) <code>hono-cmd-status</code>: An HTTP status code indicating the outcome of processing the command.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The response has been successfully delivered to the application that has sent the command.</li>
 <li>4.00 (Bad Request): The request cannot be processed because the command status or command request ID are missing/malformed.</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_HTTP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for the unauthenticated device <code>4711</code>:</p>
-
-<pre><code class="language-sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret coaps://hono.eclipseprojects.io/command_response/DEFAULT_TENANT/4711/req-id-uuid?hono-cmd-status=200 -e '{&quot;brightness-changed&quot;: true}'
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u sensor1@DEFAULT_TENANT -k hono-secret coaps://hono.eclipseprojects.io/command_response/DEFAULT_TENANT/4711/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span> -e <span style="color:#e6db74">&#39;{&#34;brightness-changed&#34;: true}&#39;</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
 <ul>
 <li>URI: <code>/command_response/${tenantId}/${deviceId}/${commandRequestId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Type: <code>CON</code></li>
 <li>Request Options:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body.
 This option must be set if the result of processing the command on the device is non-empty. In this case the result data is
 contained in the request body.</li>
-</ul></li>
+</ul>
+</li>
 <li>Query Parameters:
-
 <ul>
 <li>(required) <code>hono-cmd-status</code>: An HTTP status code indicating the outcome of processing the command.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Codes:
-
 <ul>
 <li>2.04 (Changed): The response has been successfully delivered to the application that has sent the command.</li>
 <li>4.00 (Bad Request): The request cannot be processed because the command status or command request ID are missing/malformed.</li>
 <li>4.03 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted.
 Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>4.04 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>4.13 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>4.29 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>5.03 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to send the response to a command <em>on behalf of</em> other devices which do not connect
 to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like
 <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during
 connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used
 to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to send responses to a command on behalf of the device implicitly by means of
-retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
+retrieving a <em>registration assertion</em> for the device from the [configured Device Registration service]
+(/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration).</p>
 <p><strong>Examples</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for device <code>4712</code>:</p>
-
-<pre><code class="language-sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret coaps://hono.eclipseprojects.io/command_response/DEFAULT_TENANT/4712/req-id-uuid?hono-cmd-status=200 -e '{&quot;brightness-changed&quot;: true}'
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code> which is
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">coap-client -u gw@DEFAULT_TENANT -k gw-secret coaps://hono.eclipseprojects.io/command_response/DEFAULT_TENANT/4712/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span> -e <span style="color:#e6db74">&#39;{&#34;brightness-changed&#34;: true}&#39;</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>psk</code> credentials with <em>auth-id</em> <code>gw</code> and secret <code>gw-secret</code> which is
 authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
 <h2 id="downstream-meta-data">Downstream Meta Data</h2>
-
 <p>The adapter includes the following meta data in the application properties of messages being sent downstream:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">The identifier of the device that the message originates from.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">The identifier of the device that the message originates from.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_adapter</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The CoAP adapter&rsquo;s type name is <code>hono-coap</code>.</td>
+<td style="text-align:left"><em>orig_adapter</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The CoAP adapter&rsquo;s type name is <code>hono-coap</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_address</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the (relative) URI that the device has originally posted the data to.</td>
+<td style="text-align:left"><em>orig_address</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the (relative) URI that the device has originally posted the data to.</td>
 </tr>
-
 <tr>
-<td align="left"><em>ttd</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left">Contains the effective number of seconds that the device will wait for a response. This property is only set if the request contains the <code>hono-ttd</code> <em>URI-query</em> option.</td>
+<td style="text-align:left"><em>ttd</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left">Contains the effective number of seconds that the device will wait for a response. This property is only set if the request contains the <code>hono-ttd</code> <em>URI-query</em> option.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">tenant</a> or the <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration">device level</a>. The values of the default properties are determined as follows:</p>
-
 <ol>
 <li>If the message already contains a non-empty property of the same name, the value if unchanged.</li>
 <li>Otherwise, if a default property of the same name is defined in the device&rsquo;s registration information, that value is used.</li>
 <li>Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.</li>
 </ol>
-
 <p>Note that of the standard AMQP 1.0 message properties only the <em>content-type</em> and <em>ttl</em> can be set this way to a default value.</p>
-
 <h3 id="event-message-time-to-live">Event Message Time-to-live</h3>
-
 <p>Events published by devices will usually be persisted by the AMQP Messaging Network in order to support deferred delivery to downstream consumers.
 In most cases the AMQP Messaging Network can be configured with a maximum <em>time-to-live</em> to apply to the events so that the events will be removed
 from the persistent store if no consumer has attached to receive the event before the message expires.</p>
-
 <p>In order to support environments where the AMQP Messaging Network cannot be configured accordingly, the protocol adapter supports setting a
 downstream event message&rsquo;s <em>ttl</em> property based on the <em>hono-ttl</em> property set as a query parameter in the event requests by the devices.
-Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the <a href="/hono/docs/1.4/api/tenant/#resource-limits-configuration-format">Tenant API</a>.</p>
-
+Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the [Tenant API]
+(/hono/docs/1.4/api/tenant/#resource-limits-configuration-format).</p>
 <h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
-
 <p>The adapter uses the <a href="/hono/docs/1.4/api/tenant/#get-tenant-information">Tenant API</a> to retrieve <em>tenant specific configuration</em> for adapter type <code>hono-coap</code>.
 The following properties are (currently) supported:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>enabled</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
+<td style="text-align:left"><em>enabled</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
 </tr>
-
 <tr>
-<td align="left"><em>max-ttd</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left"><code>60</code></td>
-<td align="left">Defines a tenant specific upper limit for the <em>time until disconnect</em> property that devices may include in requests for uploading telemetry data or events. Please refer to the <a href="/hono/docs/1.4/concepts/command-and-control/">Command &amp; Control concept page</a> for a discussion of this parameter&rsquo;s purpose and usage.<br>This property can be set for the <code>hono-coap</code> adapter type as an <em>extension</em> property in the adapter section of the tenant configuration.<br>If it is not set, then the default value of <code>60</code> seconds is used.</td>
+<td style="text-align:left"><em>max-ttd</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left"><code>60</code></td>
+<td style="text-align:left">Defines a tenant specific upper limit for the <em>time until disconnect</em> property that devices may include in requests for uploading telemetry data or events. Please refer to the <a href="/hono/docs/1.4/concepts/command-and-control/">Command &amp; Control concept page</a> for a discussion of this parameter&rsquo;s purpose and usage.<br>This property can be set for the <code>hono-coap</code> adapter type as an <em>extension</em> property in the adapter section of the tenant configuration.<br>If it is not set, then the default value of <code>60</code> seconds is used.</td>
 </tr>
-
 <tr>
-<td align="left"><em>timeoutToAck</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left">-</td>
-<td align="left">This property has the same semantics as the <a href="/hono/docs/1.4/admin-guide/coap-adapter-config/">corresponding property at the adapter level</a>. However, any (non-null) value configured for a tenant takes precedence over the adapter level value for all devices of the particular tenant.</td>
+<td style="text-align:left"><em>timeoutToAck</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">This property has the same semantics as the <a href="/hono/docs/1.4/admin-guide/coap-adapter-config/">corresponding property at the adapter level</a>. However, any (non-null) value configured for a tenant takes precedence over the adapter level value for all devices of the particular tenant.</td>
 </tr>
 </tbody>
 </table>
@@ -3760,19 +3604,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/device-registry/index.html b/docs/1.4/user-guide/device-registry/index.html
index d6aa86e..e6e5f35 100644
--- a/docs/1.4/user-guide/device-registry/index.html
+++ b/docs/1.4/user-guide/device-registry/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Device Registries :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757964" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757964" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757964" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757964" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757964"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757964"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757964"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757964"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/device-registry/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/device-registry/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/device-registry/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/device-registry/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/device-registry/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/device-registry/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/device-registry/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/device-registry/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/device-registry/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/device-registry/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/">dev</option>
@@ -1795,7 +1841,7 @@
                 
                     <div class="progress">
     <div class="wrapper">
-
+<nav id="TableOfContents"></nav>
     </div>
 </div>
 
@@ -1818,10 +1864,8 @@
         
 
 
-<p>Eclipse Hono&trade; provides these device registry implementations:</p>
-
+<p>Eclipse Hono™ provides these device registry implementations:</p>
 <p><a href="/hono/docs/1.4/user-guide/file-based-device-registry/">File Based Device Registry</a></p>
-
 <p><a href="/hono/docs/1.4/user-guide/mongodb-based-device-registry/">MongoDB Based Device Registry</a>.</p>
 
 
@@ -2815,19 +2859,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757965"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757965"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757965"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757965"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757965"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757965"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757965"></script>
-    <script src="/hono/docs/js/learn.js?1617757965"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757965"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757965" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757965"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/file-based-device-registry/index.html b/docs/1.4/user-guide/file-based-device-registry/index.html
index ec42283..87856fd 100644
--- a/docs/1.4/user-guide/file-based-device-registry/index.html
+++ b/docs/1.4/user-guide/file-based-device-registry/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>File Based Device Registry :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/file-based-device-registry/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/file-based-device-registry/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/file-based-device-registry/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/file-based-device-registry/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/file-based-device-registry/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/file-based-device-registry/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/file-based-device-registry/">1.3</option>
@@ -1600,6 +1638,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/file-based-device-registry/">dev</option>
@@ -1718,14 +1758,11 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#managing-tenants">Managing Tenants</a></li>
-<li><a href="#managing-devices">Managing Devices</a></li>
-<li><a href="#managing-credentials">Managing Credentials</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#managing-tenants">Managing Tenants</a></li>
+    <li><a href="#managing-devices">Managing Devices</a></li>
+    <li><a href="#managing-credentials">Managing Credentials</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1750,29 +1787,19 @@
 
 
 <p>The Device Registry component provides exemplary implementations of Hono&rsquo;s <a href="/hono/docs/1.4/api/tenant/">Tenant API</a>, <a href="/hono/docs/1.4/api/device-registration/">Device Registration API</a> and <a href="/hono/docs/1.4/api/credentials/">Credentials API</a>.</p>
-
 <p>As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information and persists data in the local filesystem.</p>
-
 <p>In addition, the Device Registry also exposes HTTP resources for managing the contents of the registry according to the <a href="/hono/docs/1.4/api/management/">Device Registry HTTP API</a>.</p>
-
 <div class="alert alert-warning">
     <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Warning</h4>
     <div><p>The Device Registry is not intended to be used in production environments. In particular, access to the HTTP resources described below is not restricted to authorized clients only.</p>
-
 <p>The resources have been designed to provide convenient access to the registry&rsquo;s content using command line tools like <em>curl</em> or <em>HTTPie</em>.</p>
 </div>
 </div>
-
 <h2 id="managing-tenants">Managing Tenants</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#tenants">Device Registry Management API</a> for information about managing tenants.</p>
-
 <h2 id="managing-devices">Managing Devices</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#devices">Device Registry Management API</a> for information about managing devices.</p>
-
 <h2 id="managing-credentials">Managing Credentials</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#credentials">Device Registry Management API</a> for information about managing credentials.</p>
 
 <footer class="footline">
@@ -2769,19 +2796,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757963"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757963"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757963"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757963"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757963"></script>
-    <script src="/hono/docs/js/learn.js?1617757963"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757963"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757963" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757963"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/http-adapter/index.html b/docs/1.4/user-guide/http-adapter/index.html
index 38a4879..2e0b4cf 100644
--- a/docs/1.4/user-guide/http-adapter/index.html
+++ b/docs/1.4/user-guide/http-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>HTTP Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/http-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/http-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/http-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/http-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/http-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/http-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/http-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/http-adapter/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/http-adapter/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/http-adapter/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/">dev</option>
@@ -1796,40 +1842,36 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#device-authentication">Device Authentication</a>
-<ul>
-<li><a href="#client-certificate">Client Certificate</a></li>
-<li><a href="#http-basic-auth">HTTP Basic Auth</a></li>
-</ul></li>
-<li><a href="#message-limits">Message Limits</a></li>
-<li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
-<li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
-<li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
-<li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
-<li><a href="#command-control">Command &amp; Control</a>
-<ul>
-<li><a href="#specifying-the-time-a-device-will-wait-for-a-response">Specifying the Time a Device will wait for a Response</a>
-<ul>
-<li><a href="#using-an-http-header">Using an HTTP Header</a></li>
-<li><a href="#using-a-query-parameter">Using a Query Parameter</a></li>
-</ul></li>
-<li><a href="#commands-handled-by-gateways">Commands handled by gateways</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
-</ul></li>
-<li><a href="#downstream-meta-data">Downstream Meta Data</a>
-<ul>
-<li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
-</ul></li>
-<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#device-authentication">Device Authentication</a>
+      <ul>
+        <li><a href="#client-certificate">Client Certificate</a></li>
+        <li><a href="#http-basic-auth">HTTP Basic Auth</a></li>
+      </ul>
+    </li>
+    <li><a href="#message-limits">Message Limits</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
+    <li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
+    <li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
+    <li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
+    <li><a href="#command--control">Command &amp; Control</a>
+      <ul>
+        <li><a href="#specifying-the-time-a-device-will-wait-for-a-response">Specifying the Time a Device will wait for a Response</a></li>
+        <li><a href="#commands-handled-by-gateways">Commands handled by gateways</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
+      </ul>
+    </li>
+    <li><a href="#downstream-meta-data">Downstream Meta Data</a>
+      <ul>
+        <li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
+      </ul>
+    </li>
+    <li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1853,74 +1895,57 @@
         
 
 
-<p>The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
+<p>The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
 <h2 id="device-authentication">Device Authentication</h2>
-
 <p>The HTTP adapter by default requires clients (devices or gateway components) to authenticate during connection establishment. The adapter supports both the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a> as well as client certificate based authentication as part of a TLS handshake for that purpose.</p>
-
 <p>The adapter tries to authenticate the device using these mechanisms in the following order</p>
-
 <h3 id="client-certificate">Client Certificate</h3>
-
 <p>When a device uses a client certificate for authentication during the TLS handshake, the adapter tries to determine the tenant that the device belongs to, based on the <em>issuer DN</em> contained in the certificate. In order for the lookup to succeed, the tenant&rsquo;s trust anchor needs to be configured by means of <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">registering the trusted certificate authority</a>. The device&rsquo;s client certificate will then be validated using the registered trust anchor, thus implicitly establishing the tenant that the device belongs to. In a second step, the adapter then uses the Credentials API&rsquo;s <em>get</em> operation with the client certificate&rsquo;s <em>subject DN</em> as the <em>auth-id</em> and <code>x509-cert</code> as the <em>type</em> of secret as query parameters.</p>
-
-<p><strong>NB</strong> The HTTP adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/#http-adapter">configured for TLS</a> in order to support this mechanism.</p>
-
+<p><strong>NB</strong> The HTTP adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/">configured for TLS</a> in order to support this mechanism.</p>
 <h3 id="http-basic-auth">HTTP Basic Auth</h3>
-
-<p>The <em>username</em> provided in the header must have the form <em>auth-id@tenant</em>, e.g. <code>sensor1@DEFAULT_TENANT</code>. The adapter verifies the credentials provided by the client against the credentials that the <a href="/hono/docs/1.4/admin-guide/common-config/#credentials-service-connection-configuration">configured Credentials service</a> has on record for the client. The adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record with the <em>tenant</em> and <em>auth-id</em> provided by the device in the <em>username</em> and <code>hashed-password</code> as the <em>type</em> of secret as query parameters.</p>
-
+<p>The <em>username</em> provided in the header must have the form <em>auth-id@tenant</em>, e.g. <code>sensor1@DEFAULT_TENANT</code>. The adapter verifies the credentials provided by the client against the credentials that the <a href="/hono/docs/1.4/admin-guide/common-config/">configured Credentials service</a> has on record for the client. The adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record with the <em>tenant</em> and <em>auth-id</em> provided by the device in the <em>username</em> and <code>hashed-password</code> as the <em>type</em> of secret as query parameters.</p>
 <p>The examples below refer to devices <code>4711</code> and <code>gw-1</code> of tenant <code>DEFAULT_TENANT</code> using <em>auth-ids</em> <code>sensor1</code> and <code>gw1</code> and corresponding passwords. The example deployment as described in the <a href="/hono/docs/1.4/deployment/">Deployment Guides</a> comes pre-configured with the corresponding entities in its device registry component.
 Please refer to the <a href="/hono/docs/1.4/api/credentials/#standard-credential-types">Credentials API</a> for details regarding the different types of secrets.</p>
-
 <p><strong>NB</strong> There is a subtle difference between the <em>device identifier</em> (<em>device-id</em>) and the <em>auth-id</em> a device uses for authentication. See <a href="/hono/docs/1.4/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
-
 <h2 id="message-limits">Message Limits</h2>
-
 <p>The adapter rejects</p>
-
 <ul>
 <li>a client&rsquo;s request to upload data with status code <code>429 Too Many Requests</code> and</li>
 <li>any AMQP 1.0 message containing a command sent by a north bound application</li>
 </ul>
-
 <p>if the <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> that has been configured for the device&rsquo;s tenant is exceeded.</p>
-
 <h2 id="publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</h2>
-
 <ul>
 <li>URI: <code>/telemetry</code></li>
 <li>Method: <code>POST</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The device&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>qos-level</code>: The QoS level for publishing telemetry messages. The adapter supports <em>at most once</em> (<code>0</code>) and <em>at least once</em> (<code>1</code>) QoS levels. The default value of <code>0</code> is assumed if this header is omitted.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-target-device</code>: The id of the device that shall execute the command. This header will only be present if the response contains a command to be executed by the device and if the response goes to a gateway that acts on behalf of the target device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The telemetry data has been accepted for processing. Note that if the <code>qos-level</code> request header is omitted (<em>at most once</em> semantics),
@@ -1928,102 +1953,79 @@
 (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream consumer before responding with
 this status code.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty.</li>
-<li>The QoS header value is invalid.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty.
+* The QoS header value is invalid.</li>
 <li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish telemetry data. It is available only if the protocol adapter is configured to require devices to authenticate (which is the default).</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry
 
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> using <em>at least once</em> QoS:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;qos-level: 1&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://localhost:8080/telemetry
 
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;hono-ttd: 10&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://localhost:8080/telemetry
 
-<p>Publish some JSON data for device <code>4711</code> using <em>at least once</em> QoS:</p>
-
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' -H 'qos-level: 1' --data-binary '{&quot;temp&quot;: 5}' http://localhost:8080/telemetry
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' -H 'hono-ttd: 10' --data-binary '{&quot;temp&quot;: 5}' http://localhost:8080/telemetry
-
-HTTP/1.1 200 OK
+HTTP/1.1 <span style="color:#ae81ff">200</span> OK
 hono-command: set
 hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
-content-length: 23
+content-length: <span style="color:#ae81ff">23</span>
 
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono repository:</span>
+curl -i --cert demo-certs/certs/device-4711-cert.pem --key demo-certs/certs/device-4711-key.pem --cacert demo-certs/certs/trusted-certs.pem -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> https://localhost:8443/telemetry
 
-<p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
-
-<pre><code class="language-sh"># in base directory of Hono repository:
-curl -i --cert demo-certs/certs/device-4711-cert.pem --key demo-certs/certs/device-4711-key.pem --cacert demo-certs/certs/trusted-certs.pem -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' https://localhost:8443/telemetry
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that the HTTP adapter is <a href="/hono/docs/1.4/admin-guide/secure_communication/#http-adapter">configured for TLS</a> and the secure port is used.</p>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that the HTTP adapter is <a href="/hono/docs/1.4/admin-guide/secure_communication/">configured for TLS</a> and the secure port is used.</p>
 <h2 id="publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</h2>
-
 <ul>
 <li>URI: <code>/telemetry/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>qos-level</code>: The QoS level for publishing telemetry messages. The adapter supports <em>at most once</em> (<code>0</code>) and <em>at least once</em> (<code>1</code>) QoS levels. The default value of <code>0</code> is assumed if this header is omitted.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The telemetry data has been accepted for processing. Note that if the <code>qos-level</code> request header is omitted (<em>at most once</em> semantics),
@@ -2031,93 +2033,74 @@
 (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream consumer before responding with
 this status code.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty.</li>
-<li>The QoS header value is invalid.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty.
+* The QoS header value is invalid.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the <code>HONO_HTTP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711
 
-<pre><code class="language-sh">curl -i -X PUT -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> using <em>at least once</em> QoS:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;qos-level: 1&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711
 
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;hono-ttd: 10&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://localhost:8080/telemetry/DEFAULT_TENANT/4711
 
-<p>Publish some JSON data for device <code>4711</code> using <em>at least once</em> QoS:</p>
-
-<pre><code class="language-sh">curl -i -X PUT -H 'content-type: application/json' -H 'qos-level: 1' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code>, indicating that the device will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">curl -i -X PUT -H 'content-type: application/json' -H 'hono-ttd: 10' --data-binary '{&quot;temp&quot;: 5}' http://localhost:8080/telemetry/DEFAULT_TENANT/4711
-
-HTTP/1.1 200 OK
+HTTP/1.1 <span style="color:#ae81ff">200</span> OK
 hono-command: set
 hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
-content-length: 23
+content-length: <span style="color:#ae81ff">23</span>
 
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
-
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
 <ul>
 <li>URI: <code>/telemetry/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The gateway&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>qos-level</code>: The QoS level for publishing telemetry messages. The adapter supports <em>at most once</em> (<code>0</code>) and <em>at least once</em> (<code>1</code>) QoS levels. The default value of <code>0</code> is assumed if this header is omitted.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-target-device</code>: The id of the device that shall execute the command. This header will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The telemetry data has been accepted for processing. Note that if the <code>qos-level</code> request header is omitted (<em>at most once</em> semantics),
@@ -2125,573 +2108,437 @@
 (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream consumer before responding with
 this status code.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty.</li>
-<li>The QoS header value is invalid.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty.
+* The QoS header value is invalid.</li>
 <li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The tenant that the gateway belongs to is not allowed to use this protocol adapter.</li>
-<li>The device belongs to another tenant than the gateway.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The tenant that the gateway belongs to is not allowed to use this protocol adapter.
+* The device belongs to another tenant than the gateway.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712
 
-<pre><code class="language-sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4712</code> using <em>at least once</em> QoS:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;qos-level: 1&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712
 
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;hono-ttd: 10&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://localhost:8080/telemetry/DEFAULT_TENANT/4712
 
-<p>Publish some JSON data for device <code>4712</code> using <em>at least once</em> QoS:</p>
-
-<pre><code class="language-sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'content-type: application/json' -H 'qos-level: 1' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p>Publish some JSON data for device <code>4712</code>, indicating that the gateway will wait for 10 seconds to receive the response:</p>
-
-<pre><code class="language-sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'content-type: application/json' -H 'hono-ttd: 10' --data-binary '{&quot;temp&quot;: 5}' http://localhost:8080/telemetry/DEFAULT_TENANT/4712
-
-HTTP/1.1 200 OK
+HTTP/1.1 <span style="color:#ae81ff">200</span> OK
 hono-command: set
 hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
-content-length: 23
+content-length: <span style="color:#ae81ff">23</span>
 
-{
-  &quot;brightness&quot;: 87
-}
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
+<span style="color:#f92672">{</span>
+  <span style="color:#e6db74">&#34;brightness&#34;</span>: <span style="color:#ae81ff">87</span>
+<span style="color:#f92672">}</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
 <h2 id="publish-an-event-authenticated-device">Publish an Event (authenticated Device)</h2>
-
 <ul>
 <li>URI: <code>/event</code></li>
 <li>Method: <code>POST</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The device&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
-<li>(optional) <code>hono-ttl</code>: The <em>time-to-live</em> in number of seconds for event messages.<br /></li>
-</ul></li>
+<li>(optional) <code>hono-ttl</code>: The <em>time-to-live</em> in number of seconds for event messages.</li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-target-device</code>: The id of the device that shall execute the command. This header will only be present if the response contains a command to be executed by the device and if the response goes to a gateway that acts on behalf of the target device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The event has been accepted for processing. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The event has been accepted for processing.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
 <li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of events for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish events. It is available only if the protocol adapter is configured to require devices to authenticate (which is the default).</p>
-
 <p><strong>Example</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;alarm&#34;: true}&#39;</span> http://127.0.0.1:8080/event
 
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' --data-binary '{&quot;alarm&quot;: true}' http://127.0.0.1:8080/event
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
 <ul>
 <li>URI: <code>/event/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>hono-ttl</code>: The <em>time-to-live</em> in number of seconds for event messages.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The event has been accepted and put to a persistent store for delivery to consumers. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of events for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the <code>HONO_HTTP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;alarm&#34;: true}&#39;</span> http://127.0.0.1:8080/event/DEFAULT_TENANT/4711
 
-<pre><code class="language-sh">curl -i -X PUT -H 'content-type: application/json' --data-binary '{&quot;alarm&quot;: true}' http://127.0.0.1:8080/event/DEFAULT_TENANT/4711
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
 <ul>
 <li>URI: <code>/event/${tenantId}/${deviceId}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The gateway&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(required) <code>content-type</code>: The type of payload contained in the request body.</li>
 <li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
 <li>(optional) <code>hono-ttl</code>: The <em>time-to-live</em> in number of seconds for event messages.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(required) Arbitrary payload encoded according to the given content type.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of payload contained in the response body. This header will only be present if the response contains a command to be executed by the device which requires input data.</li>
 <li>(optional) <code>hono-command</code>: The name of the command to execute. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-req-id</code>: An identifier that the device must include in its response to a command. This header will only be present if the response contains a command to be executed by the device.</li>
 <li>(optional) <code>hono-cmd-target-device</code>: The id of the device that shall execute the command. This header will only be present if the response contains a command to be executed by the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Response Body:
-
 <ul>
 <li>(optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200.</li>
 <li>(optional) Error details, if status code is &gt;= 400.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>200 (OK): The event has been accepted and put to a persistent store for delivery to consumers. The response contains a command for the device to execute.</li>
 <li>202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers.</li>
 <li>400 (Bad Request): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>The content type header is missing.</li>
-<li>The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
-</ul></li>
+* The content type header is missing.
+* The request body is empty but the event is not of type <a href="/hono/docs/1.4/api/event/#empty-notification">empty-notification</a>.</li>
 <li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The tenant that the gateway belongs to is not allowed to use this protocol adapter.</li>
-<li>The device belongs to another tenant than the gateway.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The tenant that the gateway belongs to is not allowed to use this protocol adapter.
+* The device belongs to another tenant than the gateway.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed because there is no consumer of events for the given tenant connected to Hono.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/event/DEFAULT_TENANT/4712
 
-<pre><code class="language-sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/event/DEFAULT_TENANT/4712
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
-<h2 id="command-control">Command &amp; Control</h2>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
+<h2 id="command--control">Command &amp; Control</h2>
 <p>The HTTP adapter enables devices to receive commands that have been sent by business applications. Commands are delivered to the device by means of an HTTP response message. That means a device first has to send a request, indicating how long it will wait for the response. That request can either be a telemetry or event message, with a <code>hono-ttd</code> header or query parameter (<code>ttd</code> for <code>time till disconnect</code>) specifying the number of seconds the device will wait for the response. The business application can react on that message by sending a command message, targeted at the device. The HTTP adapter will then send the command message as part of the HTTP response message with status <code>200</code> (OK) to the device. If the HTTP adapter receives no command message in the given time period, a <code>202</code> (Accepted) response will be sent to the device (provided the request was valid).</p>
-
 <h3 id="specifying-the-time-a-device-will-wait-for-a-response">Specifying the Time a Device will wait for a Response</h3>
-
 <p>The adapter lets devices indicate the number of seconds they will wait for a response by setting a header or a query parameter.</p>
-
 <h4 id="using-an-http-header">Using an HTTP Header</h4>
-
 <p>The (optional) <code>hono-ttd</code> header can be set in requests for publishing telemetry data or events.</p>
-
 <p>Example:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> -H <span style="color:#e6db74">&#39;hono-ttd: 60&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry
 
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' -H 'hono-ttd: 60' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h4 id="using-a-query-parameter">Using a Query Parameter</h4>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h4 id="using-a-query-parameter">Using a Query Parameter</h4>
 <p>Alternatively the <code>hono-ttd</code> query parameter can be used:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> http://127.0.0.1:8080/telemetry?hono-ttd<span style="color:#f92672">=</span><span style="color:#ae81ff">60</span>
 
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' --data-binary '{&quot;temp&quot;: 5}' http://127.0.0.1:8080/telemetry?hono-ttd=60
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h3 id="commands-handled-by-gateways">Commands handled by gateways</h3>
-
-<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/#configuring-gateway-devices">Configuring Gateway Devices</a> for details.</p>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h3 id="commands-handled-by-gateways">Commands handled by gateways</h3>
+<p>Authenticated gateways will receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/">Configuring Gateway Devices</a> for details.</p>
 <p>A gateway can send a request with the <code>hono-ttd</code> header or query parameter on the <code>/event</code> or <code>/telemetry</code> URI, indicating its readiness to receive a command for <em>any</em> device it acts on behalf of. Note that in this case, the business application will be notified with the gateway id in the <code>device_id</code> property of the downstream message.</p>
-
 <p>An authenticated gateway can also indicate its readiness to receive a command targeted at a <em>specific</em> device. For that, the <code>/event/${tenantId}/${deviceId}</code> or <code>/telemetry/${tenantId}/${deviceId}</code> URI is to be used, containing the id of the device to receive a command for. The business application will receive a notification with that device id.</p>
-
 <p>If there are multiple concurrent requests with a <code>hono-ttd</code> header or query parameter, sent by the command target device and/or one or more of its potential gateways, the HTTP adapter will choose the device or gateway to send the command to as follows:</p>
-
 <ul>
 <li>A request done by the command target device or by a gateway specifically done for that device, has precedence. If there are multiple, concurrent such requests, the last one will get the command message (if received) in its response. Note that the other requests won&rsquo;t be answered with a command message in their response event if the business application sent multiple command messages. That means commands for a single device can only be requested sequentially, not in parallel.</li>
 <li>If the above doesn&rsquo;t apply, a single <code>hono-ttd</code> request on the <code>/event</code> or <code>/telemetry</code> URI, sent by a gateway that the command target device is configured for, will get the command message in its response.</li>
 <li>If there are multiple, concurrent such requests by different gateways, all configured for the command target device, the request by the gateway will be chosen, through which the target device has last sent a telemetry or event message. If the target device hasn&rsquo;t sent a message yet and it is thereby unknown via which gateway the device communicates, then one of the requests will be chosen randomly to set the command in its response.</li>
 </ul>
-
 <h3 id="sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</h3>
-
 <ul>
 <li>URI: <code>/command/res/${commandRequestId}</code> or <code>/command/res/${commandRequestId}?hono-cmd-status=${status}</code></li>
 <li>Method: <code>POST</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The device&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body. This header may be set if the result of processing the command on the device is non-empty. In this case the result data is contained in the request body.</li>
 <li>(optional) <code>hono-cmd-status</code>: The status of the command execution. If not set, the adapter expects that the URI contains it
 as request parameter at the end.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>202 (Accepted): The response has been successfully delivered to the application that has sent the command.</li>
 <li>400 (Bad Request): The request cannot be processed because the command status is missing.</li>
-<li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.<br /></li>
+<li>401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this include:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to respond to commands. It is available only if the protocol adapter is configured to require devices to authenticate (which is the default).</p>
-
 <p><strong>Example</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;brightness-changed&#34;: true}&#39;</span> http://127.0.0.1:8080/command/res/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span>
 
-<pre><code class="language-sh">curl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'content-type: application/json' --data-binary '{&quot;brightness-changed&quot;: true}' http://127.0.0.1:8080/command/res/req-id-uuid?hono-cmd-status=200
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
 <ul>
 <li>URI: <code>/command/res/${tenantId}/${deviceId}/${commandRequestId}</code> or <code>/command/res/${tenantId}/${deviceId}/${commandRequestId}?hono-cmd-status=${status}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body (the outcome of processing the command).</li>
 <li>(optional) <code>hono-cmd-status</code>: The status of the command execution. If not set, the adapter expects that the URI contains it
 as request parameter at the end.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>202 (Accepted): The response has been successfully delivered to the application that has sent the command.</li>
 <li>400 (Bad Request): The request cannot be processed because the command status is missing.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this might be:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the <code>HONO_HTTP_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for the unauthenticated device <code>4711</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;brightness-changed&#34;: true}&#39;</span> http://127.0.0.1:8080/command/res/DEFAULT_TENANT/4711/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span>
 
-<pre><code class="language-sh">curl -i -X PUT -H 'content-type: application/json' --data-binary '{&quot;brightness-changed&quot;: true}' http://127.0.0.1:8080/command/res/DEFAULT_TENANT/4711/req-id-uuid?hono-cmd-status=200
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
 <ul>
 <li>URI: <code>/command/res/${tenantId}/${deviceId}/${commandRequestId}</code> or <code>/command/res/${tenantId}/${deviceId}/${commandRequestId}?hono-cmd-status=${status}</code></li>
 <li>Method: <code>PUT</code></li>
 <li>Request Headers:
-
 <ul>
 <li>(optional) <code>authorization</code>: The gateway&rsquo;s <em>auth-id</em> and plain text password encoded according to the <a href="https://tools.ietf.org/html/rfc7617">Basic HTTP authentication scheme</a>. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment.</li>
 <li>(optional) <code>content-type</code>: A media type describing the semantics and format of the payload contained in the request body (the outcome of processing the command).</li>
 <li>(optional) <code>hono-cmd-status</code>: The status of the command execution. If not set, the adapter expects that the URI contains it
 as request parameter at the end.</li>
-</ul></li>
+</ul>
+</li>
 <li>Request Body:
-
 <ul>
 <li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
-</ul></li>
+</ul>
+</li>
 <li>Status Codes:
-
 <ul>
 <li>202 (Accepted): The response has been successfully delivered to the application that has sent the command.</li>
 <li>400 (Bad Request): The request cannot be processed because the command status is missing.</li>
 <li>403 (Forbidden): The request cannot be processed because the device&rsquo;s registration status cannot be asserted. Possible reasons for this might be:
-
-<ul>
-<li>The given tenant is not allowed to use this protocol adapter.</li>
-<li>The given device does not belong to the given tenant.</li>
-<li>The gateway is not authorized to act <em>on behalf of</em> the device.</li>
-<li>The gateway associated with the device is not registered or disabled.</li>
-</ul></li>
+* The given tenant is not allowed to use this protocol adapter.
+* The given device does not belong to the given tenant.
+* The gateway is not authorized to act <em>on behalf of</em> the device.
+* The gateway associated with the device is not registered or disabled.</li>
 <li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
 <li>413 (Request Entity Too Large): The request cannot be processed because the request body exceeds the maximum supported size.</li>
 <li>429 (Too Many Requests): The request cannot be processed because the tenant&rsquo;s message limit for the current period is exceeded.</li>
 <li>503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:
-
-<ul>
-<li>There is no application listening for a reply to the given <em>commandRequestId</em>.</li>
-<li>The application has already given up on waiting for a response.</li>
-</ul></li>
-</ul></li>
+* There is no application listening for a reply to the given <em>commandRequestId</em>.
+* The application has already given up on waiting for a response.</li>
 </ul>
-
+</li>
+</ul>
 <p>This resource can be used by <em>gateway</em> components to send the response to a command <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the URI are used to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to send responses to a command on behalf of the device implicitly by means of retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Send a response to a previously received command with the command-request-id <code>req-id-uuid</code> for device <code>4712</code>:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H <span style="color:#e6db74">&#39;content-type: application/json&#39;</span> --data-binary <span style="color:#e6db74">&#39;{&#34;brightness-changed&#34;: true}&#39;</span> http://127.0.0.1:8080/command/res/DEFAULT_TENANT/4712/req-id-uuid?hono-cmd-status<span style="color:#f92672">=</span><span style="color:#ae81ff">200</span>
 
-<pre><code class="language-sh">curl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'content-type: application/json' --data-binary '{&quot;brightness-changed&quot;: true}' http://127.0.0.1:8080/command/res/DEFAULT_TENANT/4712/req-id-uuid?hono-cmd-status=200
-
-HTTP/1.1 202 Accepted
-content-length: 0
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
-
+HTTP/1.1 <span style="color:#ae81ff">202</span> Accepted
+content-length: <span style="color:#ae81ff">0</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code> which is authorized to publish data <em>on behalf of</em> device <code>4712</code>.</p>
 <h2 id="downstream-meta-data">Downstream Meta Data</h2>
-
 <p>The adapter includes the following meta data in the application properties of messages being sent downstream:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">The identifier of the device that the message originates from.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">The identifier of the device that the message originates from.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_adapter</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The HTTP adapter&rsquo;s type name is <code>hono-http</code>.</td>
+<td style="text-align:left"><em>orig_adapter</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The HTTP adapter&rsquo;s type name is <code>hono-http</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_address</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the (relative) URI that the device has originally posted the data to.</td>
+<td style="text-align:left"><em>orig_address</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the (relative) URI that the device has originally posted the data to.</td>
 </tr>
-
 <tr>
-<td align="left"><em>ttd</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left">Contains the effective number of seconds that the device will wait for a response. This property is only set if the HTTP request contains the <code>hono-ttd</code> header or request parameter.</td>
+<td style="text-align:left"><em>ttd</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left">Contains the effective number of seconds that the device will wait for a response. This property is only set if the HTTP request contains the <code>hono-ttd</code> header or request parameter.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">tenant</a> or the <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration">device level</a>. The values of the default properties are determined as follows:</p>
-
 <ol>
 <li>If the message already contains a non-empty property of the same name, the value if unchanged.</li>
 <li>Otherwise, if a default property of the same name is defined in the device&rsquo;s registration information, that value is used.</li>
 <li>Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.</li>
 </ol>
-
 <p>Note that of the standard AMQP 1.0 message properties only the <em>content-type</em> and <em>ttl</em> can be set this way to a default value.</p>
-
 <h3 id="event-message-time-to-live">Event Message Time-to-live</h3>
-
 <p>Events published by devices will usually be persisted by the AMQP Messaging Network in order to support deferred delivery to downstream consumers.
 In most cases the AMQP Messaging Network can be configured with a maximum <em>time-to-live</em> to apply to the events so that the events will be removed
 from the persistent store if no consumer has attached to receive the event before the message expires.</p>
-
 <p>In order to support environments where the AMQP Messaging Network cannot be configured accordingly, the protocol adapter supports setting a
 downstream event message&rsquo;s <em>ttl</em> property based on the <em>hono-ttl</em> property set as a header or a query parameter in the event requests by the devices.
-Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the <a href="/hono/docs/1.4/api/tenant/#resource-limits-configuration-format">Tenant API</a>.</p>
-
+Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the [Tenant API]
+(/hono/docs/1.4/api/tenant/#resource-limits-configuration-format).</p>
 <h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
-
 <p>The adapter uses the <a href="/hono/docs/1.4/api/tenant/#get-tenant-information">Tenant API</a> to retrieve <em>tenant specific configuration</em> for adapter type <code>hono-http</code>.
 The following properties are (currently) supported:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>enabled</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
+<td style="text-align:left"><em>enabled</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
 </tr>
-
 <tr>
-<td align="left"><em>max-ttd</em></td>
-<td align="left"><em>integer</em></td>
-<td align="left"><code>60</code></td>
-<td align="left">Defines a tenant specific upper limit for the <em>time until disconnect</em> property that devices may include in requests for uploading telemetry data or events. Please refer to the <a href="/hono/docs/1.4/concepts/command-and-control/">Command &amp; Control concept page</a> for a discussion of this parameter&rsquo;s purpose and usage.<br>This property can be set for the <code>hono-http</code> adapter type as an <em>extension</em> property in the adapter section of the tenant configuration.<br>If it is not set, then the default value of <code>60</code> seconds is used.</td>
+<td style="text-align:left"><em>max-ttd</em></td>
+<td style="text-align:left"><em>integer</em></td>
+<td style="text-align:left"><code>60</code></td>
+<td style="text-align:left">Defines a tenant specific upper limit for the <em>time until disconnect</em> property that devices may include in requests for uploading telemetry data or events. Please refer to the <a href="/hono/docs/1.4/concepts/command-and-control/">Command &amp; Control concept page</a> for a discussion of this parameter&rsquo;s purpose and usage.<br>This property can be set for the <code>hono-http</code> adapter type as an <em>extension</em> property in the adapter section of the tenant configuration.<br>If it is not set, then the default value of <code>60</code> seconds is used.</td>
 </tr>
 </tbody>
 </table>
@@ -3690,19 +3537,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/index.html b/docs/1.4/user-guide/index.html
index 2b1f90c..2e08635 100644
--- a/docs/1.4/user-guide/index.html
+++ b/docs/1.4/user-guide/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>User Guide :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/">dev</option>
@@ -1801,11 +1847,8 @@
 
 
 
-	
-
-<h1 id="user-guide">User Guide</h1>
-
-<p>Learn how Eclipse Hono&trade; enables you to quickly send data from devices to business applications and vice versa.</p>
+	<h1 id="user-guide">User Guide</h1>
+<p>Learn how Eclipse Hono™ enables you to quickly send data from devices to business applications and vice versa.</p>
 
 
 
@@ -2803,19 +2846,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/index.xml b/docs/1.4/user-guide/index.xml
index 677731f..c6b81bb 100644
--- a/docs/1.4/user-guide/index.xml
+++ b/docs/1.4/user-guide/index.xml
@@ -1,22 +1,19 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
     <title>User Guide on Eclipse Hono&amp;trade; Vers.: 1.4</title>
     <link>https://www.eclipse.org/hono/docs/1.4/user-guide/</link>
     <description>Recent content in User Guide on Eclipse Hono&amp;trade; Vers.: 1.4</description>
     <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language>
-    
-	<atom:link href="https://www.eclipse.org/hono/docs/1.4/user-guide/index.xml" rel="self" type="application/rss+xml" />
-    
-    
+    <language>en-us</language><atom:link href="https://www.eclipse.org/hono/docs/1.4/user-guide/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>MongoDB Based Device Registry</title>
       <link>https://www.eclipse.org/hono/docs/1.4/user-guide/mongodb-based-device-registry/</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/mongodb-based-device-registry/</guid>
-      <description>The MongoDB based Device Registry component provides implementations of Hono&amp;rsquo;s Tenant API, Device Registration API and Credentials API. As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.</description>
+      <description>The MongoDB based Device Registry component provides implementations of Hono&amp;rsquo;s Tenant API, Device Registration API and Credentials API. As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.
+In addition to the above APIs, this Device Registry also exposes HTTP endpoints for managing the contents of the Device Registry according to the Device Registry Management API.</description>
     </item>
     
     <item>
@@ -34,7 +31,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/http-adapter/</guid>
-      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -52,7 +49,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/amqp-adapter/</guid>
-      <description>&lt;p&gt;The AMQP protocol adapter allows clients (devices or gateway components) supporting the AMQP 1.0 protocol to publish messages to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry, Event and Command &amp;amp; Control endpoints.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The AMQP protocol adapter allows clients (devices or gateway components) supporting the AMQP 1.0 protocol to publish messages to Eclipse Hono™&amp;rsquo;s Telemetry, Event and Command &amp;amp; Control endpoints.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -61,7 +58,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/coap-adapter/</guid>
-      <description>&lt;p&gt;The CoAP protocol adapter exposes &lt;a href=&#34;https://tools.ietf.org/html/rfc7252&#34;&gt;CoAP&lt;/a&gt; based endpoints for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The CoAP protocol adapter exposes &lt;a href=&#34;https://tools.ietf.org/html/rfc7252&#34;&gt;CoAP&lt;/a&gt; based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -70,7 +67,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/kura-adapter/</guid>
-      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura&amp;trade; based gateways to publish &lt;em&gt;control&lt;/em&gt; and &lt;em&gt;data&lt;/em&gt; messages to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to publish &lt;em&gt;control&lt;/em&gt; and &lt;em&gt;data&lt;/em&gt; messages to Eclipse Hono™&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -89,7 +86,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/jmeter_load_tests/</guid>
-      <description>&lt;p&gt;Eclipse Hono&amp;trade; comes with an &lt;a href=&#34;https://jmeter.apache.org&#34;&gt;Apache JMeter&lt;/a&gt; plugin which provides &lt;em&gt;samplers&lt;/em&gt; that can be used in JMeter test plans to send and receive telemetry/event data.&lt;/p&gt;</description>
+      <description>&lt;p&gt;Eclipse Hono™ comes with an &lt;a href=&#34;https://jmeter.apache.org&#34;&gt;Apache JMeter&lt;/a&gt; plugin which provides &lt;em&gt;samplers&lt;/em&gt; that can be used in JMeter test plans to send and receive telemetry/event data.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -98,10 +95,10 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.4/user-guide/device-registry/</guid>
-      <description>Eclipse Hono&amp;trade; provides these device registry implementations:
+      <description>Eclipse Hono™ provides these device registry implementations:
 File Based Device Registry
 MongoDB Based Device Registry.</description>
     </item>
     
   </channel>
-</rss>
\ No newline at end of file
+</rss>
diff --git a/docs/1.4/user-guide/jmeter_load_tests/index.html b/docs/1.4/user-guide/jmeter_load_tests/index.html
index 0d3a452..a5269ec 100644
--- a/docs/1.4/user-guide/jmeter_load_tests/index.html
+++ b/docs/1.4/user-guide/jmeter_load_tests/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Load Tests with JMeter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1460,6 +1460,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/jmeter_load_tests/" selected>1.4</option>
@@ -1488,6 +1490,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/jmeter_load_tests/">1.3</option>
@@ -1516,6 +1520,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/jmeter_load_tests/">1.2</option>
@@ -1544,6 +1550,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/jmeter_load_tests/">1.1</option>
@@ -1572,6 +1580,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/jmeter_load_tests/">1.0</option>
@@ -1692,13 +1702,10 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#installation">Installation</a></li>
-<li><a href="#example-test-plans">Example Test Plans</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#installation">Installation</a></li>
+    <li><a href="#example-test-plans">Example Test Plans</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1722,36 +1729,28 @@
         
 
 
-<p>Eclipse Hono&trade; comes with an <a href="https://jmeter.apache.org">Apache JMeter</a> plugin which provides <em>samplers</em> that can be used in JMeter test plans to send and receive telemetry/event data.</p>
-
+<p>Eclipse Hono™ comes with an <a href="https://jmeter.apache.org">Apache JMeter</a> plugin which provides <em>samplers</em> that can be used in JMeter test plans to send and receive telemetry/event data.</p>
 <p>The plugin provides a <em>Hono Receiver Sampler</em> which can be used together with JMeter&rsquo;s standard <em>HTTP Sampler</em> and XMeter&rsquo;s <a href="https://github.com/emqx/mqtt-jmeter">JMeter plugin for MQTT</a> to play the roles of a downstream application (consumer) and devices uploading data to the HTTP and MQTT protocol adapters. The diagram below illustrates how the components are related to each other.</p>
-
 <figure>
     <img src="../jmeter-overview.svg"/> <figcaption>
             <h4>JMeter with Hono</h4>
         </figcaption>
 </figure>
 
-
 <h2 id="installation">Installation</h2>
-
 <ol>
 <li>Install <a href="https://jmeter.apache.org/download_jmeter.cgi">JMeter</a></li>
 <li>Copy the plugin jar file <code>&lt;hono-installation&gt;/jmeter/target/plugin/hono-jmeter-&lt;version&gt;-jar-with-dependencies.jar</code> to the  <code>&lt;jmeter-installation&gt;/lib/ext</code> folder.</li>
 <li>Start JMeter</li>
 </ol>
-
 <h2 id="example-test-plans">Example Test Plans</h2>
-
 <p>The <code>&lt;hono-installation&gt;/jmeter/src/jmeter</code> folder contains several JMeter test plans which you can use as a basis for your own tests. All test plans can be run against Hono&rsquo;s <a href="/hono/docs/1.4/deployment/">example deployment</a>.</p>
-
 <ol>
-<li><code>http_messaging_throughput_test.jmx</code> runs a set of HTTP clients and AMQP 1.0 consumers for a given period of time. The senders publish data to Hono&rsquo; HTTP adapter while the consumers receive messages from the AMQP 1.0 Messaging Network (in case of the example installation this is the Qpid Dispatch Router). The test plan measures the number of messages that are sent/received during the test execution.</li>
-<li><code>mqtt_messaging_throughput_test.jmx</code> runs a set of MQTT clients and AMQP 1.0 consumers for a given period of time. The clients publish data to Hono&rsquo; MQTT adapter while the consumers receive messages from the AMQP 1.0 Messaging Network (in case of the example installation this is the Qpid Dispatch Router). The test plan measures the number of messages that are sent/received during the test execution. To use this plan you also need to add the <a href="https://github.com/emqx/mqtt-jmeter">JMeter plugin for MQTT</a> to your JMeter plugin path.</li>
+<li><code>http_messaging_throughput_test.jmx</code> runs a set of HTTP clients and AMQP 1.0 consumers for a given period of time. The senders publish data to Hono' HTTP adapter while the consumers receive messages from the AMQP 1.0 Messaging Network (in case of the example installation this is the Qpid Dispatch Router). The test plan measures the number of messages that are sent/received during the test execution.</li>
+<li><code>mqtt_messaging_throughput_test.jmx</code> runs a set of MQTT clients and AMQP 1.0 consumers for a given period of time. The clients publish data to Hono' MQTT adapter while the consumers receive messages from the AMQP 1.0 Messaging Network (in case of the example installation this is the Qpid Dispatch Router). The test plan measures the number of messages that are sent/received during the test execution. To use this plan you also need to add the <a href="https://github.com/emqx/mqtt-jmeter">JMeter plugin for MQTT</a> to your JMeter plugin path.</li>
 <li><code>amqp_messaging_throughput_test.jmx</code> runs a set of AMQP 1.0 senders and consumers for a given period of time. The senders publish data to the AMQP 1.0 Messaging Network directly while the consumers receive messages from the AMQP 1.0 Messaging Network (in case of the example installation this is the Qpid Dispatch Router). The test plan measures the number of messages that are sent/received during the test execution.<br>
 The sender can be configured to wait for <em>n active receivers</em> (from this test plan and JMeter instance) which can be used to make sure, that the receivers consuming from the corresponding address (e.g. <code>telemetry/DEFAULT_TENANT</code>) are up and running before the senders begin to publish messages.</li>
 </ol>
-
 <p>It is recommended to run the test plans in <em>non-gui mode</em> as illustrated by the example shell scripts that are contained in the <code>&lt;hono-installation&gt;/jmeter/src/jmeter</code> folder. You may need to adapt some of the properties to reflect your concrete setup, e.g. the path to the trust store, host names, ports etc.</p>
 
 <footer class="footline">
@@ -2748,19 +2747,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757963"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757963"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757963"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757963"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757963"></script>
-    <script src="/hono/docs/js/learn.js?1617757963"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757963"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757963" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757963"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/kura-adapter/index.html b/docs/1.4/user-guide/kura-adapter/index.html
index 09cafb0..489c41d 100644
--- a/docs/1.4/user-guide/kura-adapter/index.html
+++ b/docs/1.4/user-guide/kura-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Kura Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/kura-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/kura-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/kura-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/kura-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/kura-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/kura-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/kura-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/kura-adapter/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/kura-adapter/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/kura-adapter/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/">dev</option>
@@ -1796,29 +1842,29 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#authentication">Authentication</a>
-<ul>
-<li><a href="#client-certificate">Client Certificate</a></li>
-<li><a href="#username-password">Username/Password</a></li>
-</ul></li>
-<li><a href="#resource-limit-checks">Resource Limit Checks</a>
-<ul>
-<li><a href="#connection-limits">Connection Limits</a></li>
-<li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
-<li><a href="#message-limits">Message Limits</a></li>
-</ul></li>
-<li><a href="#connection-events">Connection Events</a></li>
-<li><a href="#publishing-data">Publishing Data</a></li>
-<li><a href="#downstream-meta-data">Downstream Meta Data</a>
-<ul>
-<li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
-</ul></li>
-<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#authentication">Authentication</a>
+      <ul>
+        <li><a href="#client-certificate">Client Certificate</a></li>
+        <li><a href="#usernamepassword">Username/Password</a></li>
+      </ul>
+    </li>
+    <li><a href="#resource-limit-checks">Resource Limit Checks</a>
+      <ul>
+        <li><a href="#connection-limits">Connection Limits</a></li>
+        <li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
+        <li><a href="#message-limits">Message Limits</a></li>
+      </ul>
+    </li>
+    <li><a href="#connection-events">Connection Events</a></li>
+    <li><a href="#publishing-data">Publishing Data</a></li>
+    <li><a href="#downstream-meta-data">Downstream Meta Data</a>
+      <ul>
+        <li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
+      </ul>
+    </li>
+    <li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1842,23 +1888,17 @@
         
 
 
-<p>The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura&trade; based gateways to publish <em>control</em> and <em>data</em> messages to Eclipse Hono&trade;&rsquo;s Telemetry and Event endpoints.</p>
-
+<p>The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to publish <em>control</em> and <em>data</em> messages to Eclipse Hono™&rsquo;s Telemetry and Event endpoints.</p>
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>The Kura adapter is supposed to be used with gateways running Kura version 3.x. Gateways running Kura version 4 and later should connect to the MQTT adapter instead.</div>
 </div>
-
 <h2 id="authentication">Authentication</h2>
-
 <p>The Kura adapter by default requires devices (gateways) to authenticate during connection establishment.
 The adapter supports both the authentication based on the username/password provided in an MQTT CONNECT packet as well as client
 certificate based authentication as part of a TLS handshake for that purpose.</p>
-
 <p>The adapter tries to authenticate the device using these mechanisms in the following order</p>
-
 <h3 id="client-certificate">Client Certificate</h3>
-
 <p>When a device uses a client certificate for authentication during the TLS handshake, the adapter tries to determine the tenant
 that the device belongs to based on the <em>issuer DN</em> contained in the certificate.
 In order for the lookup to succeed, the tenant&rsquo;s trust anchor needs to be configured by means of registering the
@@ -1867,70 +1907,50 @@
 In a second step, the adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record, including the client
 certificate&rsquo;s <em>subject DN</em> as the <em>auth-id</em>, <code>x509-cert</code> as the <em>type</em> of secret and the MQTT client identifier as <em>client-id</em> in the
 request payload.</p>
-
-<p><strong>NB</strong> The adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/#mqtt-adapter">configured for TLS</a> in order to support this mechanism.</p>
-
-<h3 id="username-password">Username/Password</h3>
-
+<p><strong>NB</strong> The adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/">configured for TLS</a> in order to support this mechanism.</p>
+<h3 id="usernamepassword">Username/Password</h3>
 <p>When a device wants to authenticate using this mechanism, it needs to provide a <em>username</em> and a <em>password</em> in the MQTT <em>CONNECT</em> packet
 it sends in order to initiate the connection. The <em>username</em> must have the form <em>auth-id@tenant</em>, e.g. <code>sensor1@DEFAULT_TENANT</code>.
 The adapter verifies the credentials provided by the client against the credentials that the
-<a href="/hono/docs/1.4/admin-guide/common-config/#credentials-service-connection-configuration">configured Credentials service</a> has on record for the client.
+<a href="/hono/docs/1.4/admin-guide/common-config/">configured Credentials service</a> has on record for the client.
 The adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record, including the <em>tenant</em> and <em>auth-id</em> provided
 by the client in the <em>username</em>, <code>hashed-password</code> as the <em>type</em> of secret and the MQTT client identifier as <em>client-id</em> in the request payload.</p>
-
 <p>Please refer to the <a href="http://eclipse.github.io/kura/config/cloud-services.html">Eclipse Kura documentation</a> on how to configure the
 gateway&rsquo;s cloud service connection accordingly. It is important to set the gateway&rsquo;s <em>topic.context.account-name</em> to the ID of the
 Hono tenant that the gateway has been registered with whereas the gateway&rsquo;s <em>client-id</em> needs to be set to the corresponding Hono
 device ID. The <em>auth-id</em> used as part of the gateway&rsquo;s <em>username</em> property needs to match the authentication identifier of a set of
 credentials registered for the device ID in Hono&rsquo;s Credentials service. In other words, the credentials configured on the gateway
 need to belong to the corresponding device ID.</p>
-
 <p><strong>NB</strong> There is a subtle difference between the <em>device identifier</em> (<em>device-id</em>) and the <em>auth-id</em> a device uses for authentication.
 See <a href="/hono/docs/1.4/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
-
 <h2 id="resource-limit-checks">Resource Limit Checks</h2>
-
 <p>The adapter performs additional checks regarding resource limits when a client tries to connect and/or send a message to the adapter.</p>
-
 <h3 id="connection-limits">Connection Limits</h3>
-
-<p>The adapter rejects a client&rsquo;s connection attempt with return code <code>0x05</code>, indicating <code>Connection Refused: not authorized</code>, if
-* the maximum number of connections per protocol adapter instance is reached, or
-* if the maximum number of simultaneously connected devices for the tenant is reached.</p>
-
+<p>The adapter rejects a client&rsquo;s connection attempt with return code <code>0x05</code>, indicating <code>Connection Refused: not authorized</code>, if</p>
+<ul>
+<li>the maximum number of connections per protocol adapter instance is reached, or</li>
+<li>if the maximum number of simultaneously connected devices for the tenant is reached.</li>
+</ul>
 <p>Please refer to <a href="/hono/docs/1.4/concepts/resource-limits/">resource-limits</a> for details.</p>
-
 <h3 id="connection-duration-limits">Connection Duration Limits</h3>
-
 <p>The adapter rejects a client&rsquo;s connection attempt with return code <code>0x05</code>, indicating <code>Connection Refused: not authorized</code>, if the
-<a href="/hono/docs/1.4/concepts/resource-limits/#connection-duration-limit">connection duration limit</a> that has been configured for
+<a href="/hono/docs/1.4/concepts/resource-limits/">connection duration limit</a> that has been configured for
 the client&rsquo;s tenant is exceeded.</p>
-
 <h3 id="message-limits">Message Limits</h3>
-
 <p>The adapter</p>
-
 <ul>
 <li>discards any MQTT PUBLISH packet containing telemetry data or an event that is sent by a client and</li>
 <li>rejects any AMQP 1.0 message containing a command sent by a north bound application</li>
 </ul>
-
 <p>if the <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> that has been configured for the device&rsquo;s tenant is exceeded.</p>
-
 <h2 id="connection-events">Connection Events</h2>
-
 <p>The adapter can emit <a href="/hono/docs/1.4/api/event/#connection-event">Connection Events</a> for client connections being established and/or terminated.
-Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/#connection-event-producer-configuration">common configuration options</a>
+Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/">common configuration options</a>
 for details regarding how to enable this behavior.</p>
-
 <p>The adapter includes the <em>client identifier</em> from the client&rsquo;s MQTT CONNECT packet as the Connection Event&rsquo;s <em>remote-id</em>.</p>
-
 <h2 id="publishing-data">Publishing Data</h2>
-
 <p>Once the gateway has established a connection to the Kura adapter, all <em>control</em> and <em>data</em> messages published by applications running on
 the gateway are sent to the adapter and mapped to Hono&rsquo;s Telemetry and Event API endpoints as follows:</p>
-
 <ol>
 <li>The adapter treats all messages that are published to a topic starting with the configured <code>HONO_KURA_CONTROL_PREFIX</code> as control messages.
 All other messages are considered to be data messages.</li>
@@ -1939,85 +1959,70 @@
 <li><em>data</em> messages with QoS 0 are forwarded to the telemetry endpoint whereas messages with QoS 1 are forwarded to the event endpoint.
 The corresponding AMQP 1.0 messages that are sent downstream have a content type of <code>application/vnd.eclipse.kura-data</code>.</li>
 </ol>
-
 <h2 id="downstream-meta-data">Downstream Meta Data</h2>
-
 <p>The adapter includes the following meta data in messages being sent downstream:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Location</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Location</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">The identifier of the device that the message originates from.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">The identifier of the device that the message originates from.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_adapter</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The Kura adapter&rsquo;s type name is <code>hono-kura-mqtt</code>.</td>
+<td style="text-align:left"><em>orig_adapter</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The Kura adapter&rsquo;s type name is <code>hono-kura-mqtt</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_address</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the name of the MQTT topic that the Kura gateway has originally published the data to.</td>
+<td style="text-align:left"><em>orig_address</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the name of the MQTT topic that the Kura gateway has originally published the data to.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">tenant</a> or the <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration">device level</a>. The values of the default properties are determined as follows:</p>
-
 <ol>
 <li>If the message already contains a non-empty property of the same name, the value if unchanged.</li>
 <li>Otherwise, if a default property of the same name is defined in the device&rsquo;s registration information, that value is used.</li>
 <li>Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.</li>
 </ol>
-
 <p>Note that of the standard AMQP 1.0 message properties only the <em>content-type</em> and <em>ttl</em> can be set this way to a default value.</p>
-
 <h3 id="event-message-time-to-live">Event Message Time-to-live</h3>
-
 <p>Events published by devices will usually be persisted by the AMQP Messaging Network in order to support deferred delivery to downstream consumers.
 In most cases the AMQP Messaging Network can be configured with a maximum <em>time-to-live</em> to apply to the events so that the events will be removed
 from the persistent store if no consumer has attached to receive the event before the message expires.</p>
-
 <p>In order to support environments where the AMQP Messaging Network cannot be configured accordingly, the protocol adapter supports setting a
-downstream event message&rsquo;s <em>ttl</em> property based on the default <em>ttl</em> and <em>max-ttl</em> values configured for a tenant/device as described in the <a href="/hono/docs/1.4/api/tenant/#resource-limits-configuration-format">Tenant API</a>.</p>
-
+downstream event message&rsquo;s <em>ttl</em> property based on the default <em>ttl</em> and <em>max-ttl</em> values configured for a tenant/device as described in the [Tenant API]
+(/hono/docs/1.4/api/tenant/#resource-limits-configuration-format).</p>
 <h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
-
 <p>The adapter uses the <a href="/hono/docs/1.4/api/tenant/#get-tenant-information">Tenant API</a> to retrieve <em>tenant specific configuration</em> for adapter type <code>hono-kura-mqtt</code>.
 The following properties are (currently) supported:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>enabled</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
+<td style="text-align:left"><em>enabled</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
 </tr>
 </tbody>
 </table>
@@ -3016,19 +3021,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/mongodb-based-device-registry/index.html b/docs/1.4/user-guide/mongodb-based-device-registry/index.html
index d3beb1ee..b206a1f 100644
--- a/docs/1.4/user-guide/mongodb-based-device-registry/index.html
+++ b/docs/1.4/user-guide/mongodb-based-device-registry/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>MongoDB Based Device Registry :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/mongodb-based-device-registry/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/mongodb-based-device-registry/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/mongodb-based-device-registry/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/mongodb-based-device-registry/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/mongodb-based-device-registry/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/mongodb-based-device-registry/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/mongodb-based-device-registry/">1.3</option>
@@ -1600,6 +1638,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/mongodb-based-device-registry/">dev</option>
@@ -1718,15 +1758,12 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#authentication">Authentication</a></li>
-<li><a href="#managing-tenants">Managing Tenants</a></li>
-<li><a href="#managing-devices">Managing Devices</a></li>
-<li><a href="#managing-credentials">Managing Credentials</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#authentication">Authentication</a></li>
+    <li><a href="#managing-tenants">Managing Tenants</a></li>
+    <li><a href="#managing-devices">Managing Devices</a></li>
+    <li><a href="#managing-credentials">Managing Credentials</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1750,26 +1787,15 @@
         
 
 
-
-
 <p>The MongoDB based Device Registry component provides implementations of Hono&rsquo;s <a href="/hono/docs/1.4/api/tenant/">Tenant API</a>, <a href="/hono/docs/1.4/api/device-registration/">Device Registration API</a> and <a href="/hono/docs/1.4/api/credentials/">Credentials API</a>. As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information. Protocol adapters use these APIs to determine a device&rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.</p>
-
 <p>In addition to the above APIs, this Device Registry also exposes HTTP endpoints for managing the contents of the Device Registry according to the <a href="/hono/docs/1.4/api/management/">Device Registry Management API</a>. It uses a MongoDB database to persist the data. The credentials, device and tenant information are stored in separate collections in a MongoDB database. For more information on how to configure the MongoDB based device registry, see <a href="/hono/docs/1.4/admin-guide/mongodb-device-registry-config/">MongoDB based Device Registry configuration</a>.</p>
-
 <h2 id="authentication">Authentication</h2>
-
-<p>This Device Registry secures its HTTP Endpoints using basic authentication mechanism. Thereby the clients connecting to the MongoDB based Device Registry are required to authenticate. For more information on how to enable the authentication and configure it, please refer to the <code>hono.registry.http.authenticationRequired</code> property in the <a href="/hono/docs/1.4/admin-guide/mongodb-device-registry-config/#service-configuration">MongoDB based Device Registry configuration</a>.</p>
-
+<p>This Device Registry secures its HTTP Endpoints using basic authentication mechanism. Thereby the clients connecting to the MongoDB based Device Registry are required to authenticate. For more information on how to enable the authentication and configure it, please refer to the <code>hono.registry.http.authenticationRequired</code> property in the <a href="/hono/docs/1.4/admin-guide/mongodb-device-registry-config/">MongoDB based Device Registry configuration</a>.</p>
 <h2 id="managing-tenants">Managing Tenants</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#tenants">Device Registry Management API</a> for information about managing tenants.</p>
-
 <h2 id="managing-devices">Managing Devices</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#devices">Device Registry Management API</a> for information about managing devices.</p>
-
 <h2 id="managing-credentials">Managing Credentials</h2>
-
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#credentials">Device Registry Management API</a> for information about managing credentials.</p>
 
 
@@ -2764,19 +2790,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757963"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757963"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757963"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757963"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757963"></script>
-    <script src="/hono/docs/js/learn.js?1617757963"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757963"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757963" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757963"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/mqtt-adapter/index.html b/docs/1.4/user-guide/mqtt-adapter/index.html
index 9985b1e..ca633e0 100644
--- a/docs/1.4/user-guide/mqtt-adapter/index.html
+++ b/docs/1.4/user-guide/mqtt-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>MQTT Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/mqtt-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/mqtt-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/mqtt-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/mqtt-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/mqtt-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/mqtt-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/mqtt-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/mqtt-adapter/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/mqtt-adapter/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/mqtt-adapter/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/">dev</option>
@@ -1796,46 +1842,47 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#authentication">Authentication</a>
-<ul>
-<li><a href="#client-certificate">Client Certificate</a></li>
-<li><a href="#username-password">Username/Password</a></li>
-</ul></li>
-<li><a href="#resource-limit-checks">Resource Limit Checks</a>
-<ul>
-<li><a href="#connection-limits">Connection Limits</a></li>
-<li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
-<li><a href="#message-limits">Message Limits</a></li>
-</ul></li>
-<li><a href="#connection-events">Connection Events</a></li>
-<li><a href="#publishing-telemetry-data">Publishing Telemetry Data</a></li>
-<li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
-<li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
-<li><a href="#publishing-events">Publishing Events</a></li>
-<li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
-<li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
-<li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
-<li><a href="#command-control">Command &amp; Control</a>
-<ul>
-<li><a href="#receiving-commands-authenticated-device">Receiving Commands (authenticated Device)</a></li>
-<li><a href="#receiving-commands-unauthenticated-device">Receiving Commands (unauthenticated Device)</a></li>
-<li><a href="#receiving-commands-authenticated-gateway">Receiving Commands (authenticated Gateway)</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
-<li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
-</ul></li>
-<li><a href="#custom-message-mapping">Custom Message Mapping</a></li>
-<li><a href="#downstream-meta-data">Downstream Meta Data</a>
-<ul>
-<li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
-</ul></li>
-<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#authentication">Authentication</a>
+      <ul>
+        <li><a href="#client-certificate">Client Certificate</a></li>
+        <li><a href="#usernamepassword">Username/Password</a></li>
+      </ul>
+    </li>
+    <li><a href="#resource-limit-checks">Resource Limit Checks</a>
+      <ul>
+        <li><a href="#connection-limits">Connection Limits</a></li>
+        <li><a href="#connection-duration-limits">Connection Duration Limits</a></li>
+        <li><a href="#message-limits">Message Limits</a></li>
+      </ul>
+    </li>
+    <li><a href="#connection-events">Connection Events</a></li>
+    <li><a href="#publishing-telemetry-data">Publishing Telemetry Data</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</a></li>
+    <li><a href="#publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</a></li>
+    <li><a href="#publishing-events">Publishing Events</a></li>
+    <li><a href="#publish-an-event-authenticated-device">Publish an Event (authenticated Device)</a></li>
+    <li><a href="#publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</a></li>
+    <li><a href="#publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</a></li>
+    <li><a href="#command--control">Command &amp; Control</a>
+      <ul>
+        <li><a href="#receiving-commands-authenticated-device">Receiving Commands (authenticated Device)</a></li>
+        <li><a href="#receiving-commands-unauthenticated-device">Receiving Commands (unauthenticated Device)</a></li>
+        <li><a href="#receiving-commands-authenticated-gateway">Receiving Commands (authenticated Gateway)</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</a></li>
+        <li><a href="#sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</a></li>
+      </ul>
+    </li>
+    <li><a href="#custom-message-mapping">Custom Message Mapping</a></li>
+    <li><a href="#downstream-meta-data">Downstream Meta Data</a>
+      <ul>
+        <li><a href="#event-message-time-to-live">Event Message Time-to-live</a></li>
+      </ul>
+    </li>
+    <li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1860,9 +1907,7 @@
 
 
 <p>The MQTT protocol adapter exposes an MQTT topic hierarchy for publishing telemetry data and events to downstream consumers and for receiving commands from applications and sending back responses.</p>
-
 <p>The MQTT adapter is <strong>not</strong> a general purpose MQTT broker. In particular the adapter</p>
-
 <ul>
 <li>supports MQTT 3.1.1 only.</li>
 <li>does not maintain session state for clients and thus always sets the <em>session present</em> flag in its CONNACK packet to <code>0</code>, regardless of the value  of the <em>clean session</em> flag provided in a client&rsquo;s CONNECT packet.</li>
@@ -1870,17 +1915,12 @@
 <li>only supports topic names/filters for devices to publish and subscribe to that are specific to Hono&rsquo;s functionality as described in the following sections.</li>
 <li>does not support <em>retaining</em> messages. However, if an event or telemetry message&rsquo;s <em>retain</em> flag is set to <code>1</code> then the corresponding AMQP 1.0 message being sent downstream by the adapter will contain an <em>x-opt-retain</em> message annotation containing the boolean value <code>true</code>. A downstream consumer may then react according to the presence of this annotation.</li>
 </ul>
-
 <h2 id="authentication">Authentication</h2>
-
 <p>The MQTT adapter by default requires clients (devices or gateway components) to authenticate during connection establishment.
 The adapter supports both the authentication based on the username/password provided in an MQTT CONNECT packet as well as client
 certificate based authentication as part of a TLS handshake for that purpose.</p>
-
 <p>The adapter tries to authenticate the device using these mechanisms in the following order</p>
-
 <h3 id="client-certificate">Client Certificate</h3>
-
 <p>When a device uses a client certificate for authentication during the TLS handshake, the adapter tries to determine the tenant
 that the device belongs to based on the <em>issuer DN</em> contained in the certificate.
 In order for the lookup to succeed, the tenant&rsquo;s trust anchor needs to be configured by means of registering the
@@ -1889,553 +1929,370 @@
 In a second step, the adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record, including the client
 certificate&rsquo;s <em>subject DN</em> as the <em>auth-id</em>, <code>x509-cert</code> as the <em>type</em> of secret and the MQTT client identifier as <em>client-id</em> in the
 request payload.</p>
-
-<p><strong>NB</strong> The adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/#mqtt-adapter">configured for TLS</a> in order to support this mechanism.</p>
-
-<h3 id="username-password">Username/Password</h3>
-
+<p><strong>NB</strong> The adapter needs to be <a href="/hono/docs/1.4/admin-guide/secure_communication/">configured for TLS</a> in order to support this mechanism.</p>
+<h3 id="usernamepassword">Username/Password</h3>
 <p>When a device wants to authenticate using this mechanism, it needs to provide a <em>username</em> and a <em>password</em> in the MQTT <em>CONNECT</em> packet
 it sends in order to initiate the connection. The <em>username</em> must have the form <em>auth-id@tenant</em>, e.g. <code>sensor1@DEFAULT_TENANT</code>.
 The adapter verifies the credentials provided by the client against the credentials that the
-<a href="/hono/docs/1.4/admin-guide/common-config/#credentials-service-connection-configuration">configured Credentials service</a> has on record for the client.
+<a href="/hono/docs/1.4/admin-guide/common-config/">configured Credentials service</a> has on record for the client.
 The adapter uses the Credentials API&rsquo;s <em>get</em> operation to retrieve the credentials on record, including the <em>tenant</em> and <em>auth-id</em> provided
 by the client in the <em>username</em>, <code>hashed-password</code> as the <em>type</em> of secret and the MQTT client identifier as <em>client-id</em> in the request payload.</p>
-
 <p>The examples below refer to devices <code>4711</code> and <code>gw-1</code> of tenant <code>DEFAULT_TENANT</code> using <em>auth-ids</em> <code>sensor1</code> and <code>gw1</code> and corresponding passwords.
 The example deployment as described in the <a href="/hono/docs/1.4/deployment/">Deployment Guides</a> comes pre-configured with the corresponding entities in its device registry component.</p>
-
 <p><strong>NB</strong> There is a subtle difference between the <em>device identifier</em> (<em>device-id</em>) and the <em>auth-id</em> a device uses for authentication.
 See <a href="/hono/docs/1.4/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
-
 <h2 id="resource-limit-checks">Resource Limit Checks</h2>
-
 <p>The adapter performs additional checks regarding <a href="/hono/docs/1.4/concepts/resource-limits/">resource limits</a> when a client tries to connect and/or
 send a message to the adapter.</p>
-
 <h3 id="connection-limits">Connection Limits</h3>
-
 <p>The adapter rejects a client’s connection attempt with return code</p>
-
 <ul>
 <li><code>0x03</code> (<em>Connection Refused: server unavailable</em>), if the maximum number of connections per protocol adapter instance is reached</li>
 <li><code>0x05</code> (<em>Connection Refused: not authorized</em>), if the maximum number of simultaneously connected devices for the tenant is reached.</li>
 </ul>
-
 <h3 id="connection-duration-limits">Connection Duration Limits</h3>
-
 <p>The adapter rejects a client’s connection attempt with return code <code>0x05</code> (<em>Connection Refused: not authorized</em>), if the
-<a href="/hono/docs/1.4/concepts/resource-limits/#connection-duration-limit">connection duration limit</a> that has been configured for the client’s tenant is exceeded.</p>
-
+<a href="/hono/docs/1.4/concepts/resource-limits/">connection duration limit</a> that has been configured for the client’s tenant is exceeded.</p>
 <h3 id="message-limits">Message Limits</h3>
-
 <p>The adapter</p>
-
 <ul>
 <li>rejects a client&rsquo;s connection attempt with return code <code>0x05</code> (<em>Connection Refused: not authorized</em>),</li>
 <li>discards any MQTT PUBLISH packet containing telemetry data or an event that is sent by a client and</li>
 <li>rejects any AMQP 1.0 message containing a command sent by a north bound application</li>
 </ul>
-
 <p>if the <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> that has been configured for the device’s tenant is exceeded.</p>
-
 <h2 id="connection-events">Connection Events</h2>
-
 <p>The adapter can emit <a href="/hono/docs/1.4/api/event/#connection-event">Connection Events</a> for client connections being established and/or terminated.
-Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/#connection-event-producer-configuration">common configuration options</a>
+Please refer to the <a href="/hono/docs/1.4/admin-guide/common-config/">common configuration options</a>
 for details regarding how to enable this behavior.</p>
-
 <p>The adapter includes the <em>client identifier</em> from the client&rsquo;s MQTT CONNECT packet as the Connection Event&rsquo;s <em>remote-id</em>.</p>
-
 <h2 id="publishing-telemetry-data">Publishing Telemetry Data</h2>
-
 <p>The MQTT adapter supports the publishing of telemetry data by means of MQTT <em>PUBLISH</em> packets using either QoS 0 or QoS 1.
 Using QoS 1 will result in the adapter sending an MQTT <em>PUBACK</em> packet to the client once the message has been settled with the <em>accepted</em> outcome by the AMQP 1.0 Messaging Network.</p>
-
 <p>This requires that</p>
-
 <ul>
 <li>the AMQP 1.0 Messaging Network has capacity to process telemetry messages for the client&rsquo;s tenant and</li>
 <li>the messages published by the client comply with the format defined by the Telemetry API.</li>
 </ul>
-
-<p>The protocol adapter checks the configured <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> before accepting any telemetry messages. If the message limit is exceeded or the incoming telemetry message cannot be processed, the connection to the client is closed.</p>
-
+<p>The protocol adapter checks the configured [message limit] (/hono/docs/1.4/concepts/resource-limits/) before accepting any telemetry messages. If the message limit is exceeded or the incoming telemetry message cannot be processed, the connection to the client is closed.</p>
 <h2 id="publish-telemetry-data-authenticated-device">Publish Telemetry Data (authenticated Device)</h2>
-
 <ul>
 <li>Topic: <code>telemetry</code> or <code>t</code></li>
 <li>Authentication: required</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish telemetry data. It is available only if the protocol adapter is configured to require devices to authenticate (which is the default). When using this topic, the MQTT adapter determines the device&rsquo;s tenant and device identity as part of the authentication process.</p>
-
 <p><strong>Example</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t telemetry -m '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
-
-<pre><code class="language-sh"># in base directory of Hono repository:
-mosquitto_pub -p 8883 -t telemetry -m '{&quot;temp&quot;: 5}' --cert demo-certs/certs/device-4711-cert.pem --key demo-certs/certs/device-4711-key.pem --cafile demo-certs/certs/trusted-certs.pem
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that the MQTT adapter is <a href="/hono/docs/1.4/admin-guide/secure_communication/#mqtt-adapter">configured for TLS</a> and the secure port is used.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;sensor1@DEFAULT_TENANT&#39;</span> -P hono-secret -t telemetry -m <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono repository:</span>
+mosquitto_pub -p <span style="color:#ae81ff">8883</span> -t telemetry -m <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span> --cert demo-certs/certs/device-4711-cert.pem --key demo-certs/certs/device-4711-key.pem --cafile demo-certs/certs/trusted-certs.pem
+</code></pre></div><p><strong>NB</strong> The example above assumes that the MQTT adapter is <a href="/hono/docs/1.4/admin-guide/secure_communication/">configured for TLS</a> and the secure port is used.</p>
 <h2 id="publish-telemetry-data-unauthenticated-device">Publish Telemetry Data (unauthenticated Device)</h2>
-
 <ul>
 <li>Topic: <code>telemetry/${tenant-id}/${device-id}</code> or <code>t/${tenant-id}/${device-id}</code></li>
 <li>Authentication: none</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This topic can be used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_MQTT_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -t telemetry/DEFAULT_TENANT/4711 -m '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -t telemetry/DEFAULT_TENANT/4711 -m <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><h2 id="publish-telemetry-data-authenticated-gateway">Publish Telemetry Data (authenticated Gateway)</h2>
 <ul>
 <li>Topic: <code>telemetry/${tenant-id}/${device-id}</code> or <code>t/${tenant-id}/${device-id}</code></li>
 <li>Authentication: required</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This topic can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the topic name are used to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code> via gateway <code>gw-1</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'gw@DEFAULT_TENANT' -P gw-secret -t telemetry/DEFAULT_TENANT/4712 -m '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device with ID <code>gw-1</code> has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code>.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;gw@DEFAULT_TENANT&#39;</span> -P gw-secret -t telemetry/DEFAULT_TENANT/4712 -m <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device with ID <code>gw-1</code> has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code>.</p>
 <h2 id="publishing-events">Publishing Events</h2>
-
 <p>The MQTT adapter supports the publishing of events by means of MQTT <em>PUBLISH</em> packets using QoS 1 only.
 The adapter will send an MQTT <em>PUBACK</em> packet to the client once the event has been settled with the <em>accepted</em> outcome by the AMQP 1.0 Messaging Network.</p>
-
 <p>This requires that</p>
-
 <ul>
 <li>the AMQP 1.0 Messaging Network has capacity to process events for the client&rsquo;s tenant and</li>
 <li>the events published by the client comply with the format defined by the Event API.</li>
 </ul>
-
-<p>The protocol adapter checks the configured <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> before accepting any event messages. If the message limit is exceeded or the incoming event message cannot be processed, the connection to the client is closed.</p>
-
+<p>The protocol adapter checks the configured [message limit] (/hono/docs/1.4/concepts/resource-limits/) before accepting any event messages. If the message limit is exceeded or the incoming event message cannot be processed, the connection to the client is closed.</p>
 <p>The devices can optionally indicate a <em>time-to-live</em> duration for event messages by setting the <em>hono-ttl</em> property explicitly in the <code>property-bag</code>. The <code>property-bag</code> is an optional collection of properties intended for the receiver of the message. A property bag is only allowed at the very end of a topic. It always starts with a <code>/?</code> character, followed by pairs of URL encoded property names and values that are separated by <code>&amp;</code>. For example, a property bag containing two properties <em>seqNo</em> and <em>importance</em> looks like this: <code>/topic/name/?seqNo=10034&amp;importance=high</code>.</p>
-
 <p>The MQTT adapter currently does not use any properties except <em>hono-ttl</em>.</p>
-
 <h2 id="publish-an-event-authenticated-device">Publish an Event (authenticated Device)</h2>
-
 <ul>
 <li>Topic: <code>event</code> or <code>e</code></li>
 <li>Authentication: required</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This is the preferred way for devices to publish events. It is available only if the protocol adapter has been configured to require devices to authenticate (which is the default).</p>
-
 <p><strong>Example</strong></p>
-
 <p>Upload a JSON string for device <code>4711</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t event -q 1 -m '{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<p>Upload a JSON string for device <code>4711</code> with <code>time-to-live</code> as 10 seconds:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t event/?hono-ttl=10 -q 1 -m '{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;sensor1@DEFAULT_TENANT&#39;</span> -P hono-secret -t event -q <span style="color:#ae81ff">1</span> -m <span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><p>Upload a JSON string for device <code>4711</code> with <code>time-to-live</code> as 10 seconds:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;sensor1@DEFAULT_TENANT&#39;</span> -P hono-secret -t event/?hono-ttl<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> -q <span style="color:#ae81ff">1</span> -m <span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><h2 id="publish-an-event-unauthenticated-device">Publish an Event (unauthenticated Device)</h2>
 <ul>
 <li>Topic: <code>event/${tenant-id}/${device-id}</code> or <code>e/${tenant-id}/${device-id}</code></li>
 <li>Authentication: none</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This topic can be used by devices that have not authenticated to the protocol adapter. Note that this requires the
 <code>HONO_MQTT_AUTHENTICATION_REQUIRED</code> configuration property to be explicitly set to <code>false</code>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4711</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -t event/DEFAULT_TENANT/4711 -q 1 -m '{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<p>Publish some JSON data for device <code>4711</code> with <code>time-to-live</code> as 15 seconds:</p>
-
-<pre><code class="language-sh">mosquitto_pub -t event/DEFAULT_TENANT/4711/?hono-ttl=15 -q 1 -m '{&quot;alarm&quot;: 1}'
-</code></pre>
-
-<h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -t event/DEFAULT_TENANT/4711 -q <span style="color:#ae81ff">1</span> -m <span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><p>Publish some JSON data for device <code>4711</code> with <code>time-to-live</code> as 15 seconds:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -t event/DEFAULT_TENANT/4711/?hono-ttl<span style="color:#f92672">=</span><span style="color:#ae81ff">15</span> -q <span style="color:#ae81ff">1</span> -m <span style="color:#e6db74">&#39;{&#34;alarm&#34;: 1}&#39;</span>
+</code></pre></div><h2 id="publish-an-event-authenticated-gateway">Publish an Event (authenticated Gateway)</h2>
 <ul>
 <li>Topic: <code>event/${tenant-id}/${device-id}</code> or <code>e/${tenant-id}/${device-id}</code></li>
 <li>Authentication: required</li>
 <li>Payload:
-
 <ul>
 <li>(required) Arbitrary payload</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>This topic can be used by <em>gateway</em> components to publish data <em>on behalf of</em> other devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. In this case the credentials provided by the gateway during connection establishment with the protocol adapter are used to authenticate the gateway whereas the parameters from the topic name are used to identify the device that the gateway publishes data for.</p>
-
 <p>The protocol adapter checks the gateway&rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a <em>registration assertion</em> for the device from the <a href="/hono/docs/1.4/admin-guide/common-config/#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
-
 <p><strong>Examples</strong></p>
-
 <p>Publish some JSON data for device <code>4712</code> via gateway <code>gw-1</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'gw@DEFAULT_TENANT' -P gw-secret -t event/DEFAULT_TENANT/4712 -q 1 -m '{&quot;temp&quot;: 5}'
-</code></pre>
-
-<p><strong>NB</strong> The example above assumes that a gateway device with ID <code>gw-1</code> has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code>.</p>
-
-<h2 id="command-control">Command &amp; Control</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;gw@DEFAULT_TENANT&#39;</span> -P gw-secret -t event/DEFAULT_TENANT/4712 -q <span style="color:#ae81ff">1</span> -m <span style="color:#e6db74">&#39;{&#34;temp&#34;: 5}&#39;</span>
+</code></pre></div><p><strong>NB</strong> The example above assumes that a gateway device with ID <code>gw-1</code> has been registered with <code>hashed-password</code> credentials with <em>auth-id</em> <code>gw</code> and password <code>gw-secret</code>.</p>
+<h2 id="command--control">Command &amp; Control</h2>
 <p>The MQTT adapter enables devices to receive commands that have been sent by business applications by means of sending an MQTT <em>SUBSCRIBE</em> packet containing a device specific <em>topic filter</em> as described below. Devices can subscribe with QoS 1 or QoS 0. The adapter indicates the outcome of the subscription request by sending back a corresponding <em>SUBACK</em> packet. The SUBACK packet will contain <em>Success - QoS 0</em> (<code>0x00</code>) or <em>Success - QoS 1</em> (<code>0x01</code>) for a command topic filter indicating QoS 0 or 1 and will contain the <em>Failure</em> (<code>0x80</code>) value for all other filters. When a device no longer wants to receive commands anymore, it can send an MQTT <em>UNSUBSCRIBE</em> packet to the adapter, including the same topic filter that has been used to subscribe.</p>
-
 <p>When a device has successfully subscribed, the adapter sends an <a href="/hono/docs/1.4/api/event/#empty-notification">empty notification</a> on behalf of the device to the downstream AMQP 1.0 Messaging Network with the <em>ttd</em> header set to <code>-1</code>, indicating that the device will be ready to receive commands until further notice. Analogously, the adapter sends an empty notification with the <em>ttd</em> header set to <code>0</code> when a device unsubscribes from commands.</p>
-
 <p>Commands can be sent following a <em>request/response</em> pattern or being <em>one-way</em>.</p>
-
 <p>For <em>Request/Response</em> commands, devices send their responses to commands by means of sending an MQTT <em>PUBLISH</em> message to a topic that is specific to the command that has been executed. The MQTT adapter accepts responses being published using either QoS 0 or QoS 1.</p>
-
-<p>The MQTT adapter checks the configured <a href="/hono/docs/1.4/concepts/resource-limits/">message limit</a> before accepting any command requests and responses. In case of incoming command requests from business applications, if the message limit is exceeded, the Adapter rejects the message with the reason <code>amqp:resource-limit-exceeded</code>. And for the incoming command responses from devices, the Adapter rejects the message and closes the connection to the client.</p>
-
+<p>The MQTT adapter checks the configured [message limit] (/hono/docs/1.4/concepts/resource-limits/) before accepting any command requests and responses. In case of incoming command requests from business applications, if the message limit is exceeded, the Adapter rejects the message with the reason <code>amqp:resource-limit-exceeded</code>. And for the incoming command responses from devices, the Adapter rejects the message and closes the connection to the client.</p>
 <p>The following sections define the topic filters/names to use for subscribing to and responding to commands. The following <em>shorthand</em> versions of topic path segments are supported:</p>
-
 <ul>
 <li><code>c</code> instead of <code>command</code></li>
 <li><code>q</code> instead of <code>req</code></li>
 <li><code>s</code> instead of <code>res</code></li>
 </ul>
-
 <p>The following variables are used:</p>
-
 <ul>
 <li><code>${command}</code> : An arbitrary string that indicates the command to execute, e.g. <code>setBrightness</code>. The command is provided by the application that sends the command.</li>
 <li><code>${req-id}</code> (only for <em>Request/Response</em> commands) : The unique identifier of the command execution request. The identifier is passed to the device as part of the name of the topic that the command is published to. The device needs to publish its response to the command to a topic which includes this identifier, thus allowing the adapter to correlate the response with the request.</li>
 <li><code>${status}</code> : The HTTP status code indicating the outcome of executing the command. This status code is passed on to the application in the AMQP message&rsquo;s <em>status</em> application property.</li>
 </ul>
-
 <h3 id="receiving-commands-authenticated-device">Receiving Commands (authenticated Device)</h3>
-
 <p>An authenticated device MUST use the topic filter <code>command///req/#</code> to subscribe to commands.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
     <div>Previous versions of Hono required authenticated devices to use <code>command/+/+/req/#</code> for subscribing to commands.
 This old topic filter is deprecated. Devices MAY still use it until support for it will be removed in a future Hono version.</div>
 </div>
-
 <p><strong>Example</strong></p>
-
-<pre><code class="language-sh">mosquitto_sub -v -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t command///req/#
-</code></pre>
-
-<p>The adapter will then publish <em>Request/Response</em> commands for the device to topic <code>command///req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command///req//${command}</code>.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_sub -v -u <span style="color:#e6db74">&#39;sensor1@DEFAULT_TENANT&#39;</span> -P hono-secret -t command///req/#
+</code></pre></div><p>The adapter will then publish <em>Request/Response</em> commands for the device to topic <code>command///req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command///req//${command}</code>.</p>
 <p>For example, a request/response command with name <code>setBrightness</code> from an application might look like this:</p>
-
-<pre><code class="language-plaintext">command///q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command///q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>A corresponding <em>one-way</em> command might look like this:</p>
-
-<pre><code class="language-plaintext">command///q//setBrightness
+</code></pre></div><p>A corresponding <em>one-way</em> command might look like this:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command///q//setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
-
+</code></pre></div><p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
 <h3 id="receiving-commands-unauthenticated-device">Receiving Commands (unauthenticated Device)</h3>
-
 <p>An unauthenticated device MUST use the topic filter <code>command/${tenant-id}/${device-id}/req/#</code> to subscribe to commands.</p>
-
 <p><strong>Example</strong></p>
-
-<pre><code class="language-sh">mosquitto_sub -v -t command/DEFAULT_TENANT/4711/req/#
-</code></pre>
-
-<p>The adapter will then publish <em>Request/Response</em> commands for the device to topic <code>command/${tenant-id}/${device-id}/req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command/${tenant-id}/${device-id}/req//${command}</code>.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_sub -v -t command/DEFAULT_TENANT/4711/req/#
+</code></pre></div><p>The adapter will then publish <em>Request/Response</em> commands for the device to topic <code>command/${tenant-id}/${device-id}/req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command/${tenant-id}/${device-id}/req//${command}</code>.</p>
 <p>For example, a request/response command with name <code>setBrightness</code> from an application might look like this:</p>
-
-<pre><code class="language-plaintext">command/DEFAULT_TENANT/4711/q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command/DEFAULT_TENANT/4711/q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>A corresponding <em>one-way</em> command might look like this:</p>
-
-<pre><code class="language-plaintext">command/DEFAULT_TENANT/4711/q//setBrightness
+</code></pre></div><p>A corresponding <em>one-way</em> command might look like this:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command/DEFAULT_TENANT/4711/q//setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
-
+</code></pre></div><p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
 <h3 id="receiving-commands-authenticated-gateway">Receiving Commands (authenticated Gateway)</h3>
-
-<p><em>Gateway</em> components can receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/#configuring-gateway-devices">Configuring Gateway Devices</a> for details.</p>
-
+<p><em>Gateway</em> components can receive commands for devices which do not connect to a protocol adapter directly but instead are connected to the gateway, e.g. using some low-bandwidth radio based technology like <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a>. Corresponding devices have to be configured so that they can be used with a gateway. See <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/">Configuring Gateway Devices</a> for details.</p>
 <p>An authenticated gateway MUST use the topic filter <code>command//+/req/#</code> to subscribe to commands for all devices in whose behalf it acts.</p>
-
 <p>To subscribe only to commands for a specific device, an authenticated gateway MUST use the topic filter <code>command//${device-id}/req/#</code>.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
     <div>Previous versions of Hono required authenticated gateways to use <code>command/+/+/req/#</code> for subscribing to commands.
 This old topic filter is deprecated. Gateways MAY still use it until support for it will be removed in a future Hono version.</div>
 </div>
-
 <p>When processing an incoming command message, the protocol adapter will give precedence to a device-specific command subscription matching the command target device, whether the subscription comes from a gateway or the device itself. If there are multiple such subscriptions from multiple gateways and/or from the device itself, the subscription initiated last will get the command messages.</p>
-
 <p>If no device-specific command subscription exists for a command target device, but <em>one</em> gateway, that may act on behalf of the device, has subscribed to commands for all its devices, then the command message is sent to that gateway.</p>
-
 <p>If <em>multiple</em> gateways have initiated such generic subscriptions, the protocol adapter may have to decide to which gateway a particular command message will be sent to.
 In case the command target device has already sent a telemetry, event or command response message via a gateway and if that gateway has created such a command subscription, that gateway will be chosen. Otherwise one gateway that may act on behalf of the command target device and that has an open subscription will be chosen randomly to receive the command message.</p>
-
 <p><strong>Example</strong></p>
-
 <p>A subscription to commands for all devices that a gateway acts on behalf of looks like this:</p>
-
-<pre><code class="language-sh">mosquitto_sub -v -u 'gw@DEFAULT_TENANT' -P gw-secret -t command//+/req/#
-</code></pre>
-
-<p>A subscription to commands for a specific device can be done like this:</p>
-
-<pre><code class="language-sh">mosquitto_sub -v -u 'gw@DEFAULT_TENANT' -P gw-secret -t command//4711/req/#
-</code></pre>
-
-<p>The adapter will then publish <em>Request/Response</em> commands for devices, that the gateway has acted on behalf of, to topic <code>command//${device-id}/req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command//${device-id}/req//${command}</code>.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_sub -v -u <span style="color:#e6db74">&#39;gw@DEFAULT_TENANT&#39;</span> -P gw-secret -t command//+/req/#
+</code></pre></div><p>A subscription to commands for a specific device can be done like this:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_sub -v -u <span style="color:#e6db74">&#39;gw@DEFAULT_TENANT&#39;</span> -P gw-secret -t command//4711/req/#
+</code></pre></div><p>The adapter will then publish <em>Request/Response</em> commands for devices, that the gateway has acted on behalf of, to topic <code>command//${device-id}/req/${req-id}/${command}</code> and <em>one-way</em> commands to topic <code>command//${device-id}/req//${command}</code>.</p>
 <p>For example, a request/response command for device <code>4711</code> with name <code>setBrightness</code> from an application might look like this:</p>
-
-<pre><code class="language-plaintext">command//4711/q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command//4711/q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>A corresponding <em>one-way</em> command might look like this:</p>
-
-<pre><code class="language-plaintext">command//4711/q//setBrightness
+</code></pre></div><p>A corresponding <em>one-way</em> command might look like this:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-plaintext" data-lang="plaintext">command//4711/q//setBrightness
 {
-  &quot;brightness&quot;: 79
+  &#34;brightness&#34;: 79
 }
-</code></pre>
-
-<p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
-
+</code></pre></div><p>Note that the topic in the latter case doesn&rsquo;t contain a request identifier.</p>
 <h3 id="sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</h3>
-
 <p>An authenticated device MUST send the response to a previously received command to the topic <code>command///res/${req-id}/${status}</code>.</p>
-
 <p><strong>Example</strong></p>
-
 <p>After a command has arrived as in the above example, you send a response using the arrived <code>${req-id}</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t command///res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{&quot;lumen&quot;: 200}'
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;sensor1@DEFAULT_TENANT&#39;</span> -P hono-secret -t command///res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m <span style="color:#e6db74">&#39;{&#34;lumen&#34;: 200}&#39;</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h3>
 <p>An unauthenticated device MUST send the response to a previously received command to the topic <code>command/${tenant-id}/${device-id}/res/${req-id}/${status}</code>.</p>
-
 <p><strong>Example</strong></p>
-
 <p>After a command has arrived as in the above example, you send a response using the arrived <code>${req-id}</code>:</p>
-
-<pre><code class="language-sh">mosquitto_pub -t command/DEFAULT_TENANT/4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{&quot;lumen&quot;: 200}'
-</code></pre>
-
-<h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -t command/DEFAULT_TENANT/4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m <span style="color:#e6db74">&#39;{&#34;lumen&#34;: 200}&#39;</span>
+</code></pre></div><h3 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h3>
 <p>An authenticated gateway MUST send a device&rsquo;s response to a command it has received on behalf of the device to the topic <code>command//${device-id}/res/${req-id}/${status}</code>.</p>
-
 <p><strong>Example</strong></p>
-
 <p>After a command has arrived as in the above example, the response is sent using the <code>${req-id}</code> from the topic that the command had been published to:</p>
-
-<pre><code class="language-sh">mosquitto_pub -u 'gw@DEFAULT_TENANT' -P gw-secret -t command//4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{&quot;lumen&quot;: 200}'
-</code></pre>
-
-<h2 id="custom-message-mapping">Custom Message Mapping</h2>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mosquitto_pub -u <span style="color:#e6db74">&#39;gw@DEFAULT_TENANT&#39;</span> -P gw-secret -t command//4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m <span style="color:#e6db74">&#39;{&#34;lumen&#34;: 200}&#39;</span>
+</code></pre></div><h2 id="custom-message-mapping">Custom Message Mapping</h2>
 <p>This protocol adapter supports transformation of messages that have been uploaded by devices before they get forwarded to downstream consumers.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Experimental</h4>
     <div>This is an experimental feature. The names of the configuration properties, potential values and the overall functionality are therefore
 subject to change without prior notice.</div>
 </div>
-
 <p>This feature is useful in scenarios where devices are connected to the adapter via a gateway but the gateway is not able to include
 the device ID in the topic that the gateway publishes data to. The gateway will use the plain <code>telemetry</code> or <code>event</code> topics in this case.
 The message payload will usually contain the identifier of the device that the data originates from.</p>
-
 <p>The same functionality can also be used to transform the payload of messages uploaded by a device. This can be used for example to
 transform binary encoded data into a JSON document which can be consumed more easily by downstream consumers.</p>
-
-<p>The mechanism works as follows:
-1. A client uploads a message to the MQTT adapter.
-1. The adapter invokes the Device Registration service&rsquo;s <em>assert Registration</em> operation using either
-   the authenticated device&rsquo;s identifier, if the topic does not contain a device ID, or the device ID from the
-   topic.
-1. If the assertion succeeds, the adapter creates the downstream message using the original message&rsquo;s payload and
-   the asserted device ID as the origin device.
-1. If the response payload contains a value for the <em>mapper</em> property, the adapter tries to find a <em>mapper endpoint</em> configuration
-   for the given value. If a mapper endpoint with a matching name has been configured for the adapter,
-   1. the adapter sends an HTTP request to the endpoint which contains the original message&rsquo;s payload in the request body.
-   1. If the response body is not empty, it is used as the downstream message&rsquo;s payload.
-   1. If the response contains a <em>device_id</em> header and its value is different from the original device ID, then the adapter
-      invokes the <em>assert Registration</em> operation again, this time using the mapped device ID instead of the original device ID.
-      If the assertion succeeds, the adapter uses the asserted (mapped) device ID for the downstream message.
-1. The adapter forwards the downstream message.</p>
-
+<p>The mechanism works as follows:</p>
+<ol>
+<li>A client uploads a message to the MQTT adapter.</li>
+<li>The adapter invokes the Device Registration service&rsquo;s <em>assert Registration</em> operation using either
+the authenticated device&rsquo;s identifier, if the topic does not contain a device ID, or the device ID from the
+topic.</li>
+<li>If the assertion succeeds, the adapter creates the downstream message using the original message&rsquo;s payload and
+the asserted device ID as the origin device.</li>
+<li>If the response payload contains a value for the <em>mapper</em> property, the adapter tries to find a <em>mapper endpoint</em> configuration
+for the given value. If a mapper endpoint with a matching name has been configured for the adapter,
+<ol>
+<li>the adapter sends an HTTP request to the endpoint which contains the original message&rsquo;s payload in the request body.</li>
+<li>If the response body is not empty, it is used as the downstream message&rsquo;s payload.</li>
+<li>If the response contains a <em>device_id</em> header and its value is different from the original device ID, then the adapter
+invokes the <em>assert Registration</em> operation again, this time using the mapped device ID instead of the original device ID.
+If the assertion succeeds, the adapter uses the asserted (mapped) device ID for the downstream message.</li>
+</ol>
+</li>
+<li>The adapter forwards the downstream message.</li>
+</ol>
 <p>Please refer to the <a href="/hono/docs/1.4/api/management/#/devices/createDeviceRegistration">Device Registry Management API</a>
 for how to register a <em>mapper</em> for a device.
 Please refer to the <a href="/hono/docs/1.4/admin-guide/mqtt-adapter-config/#custom-message-mapping">MQTT Adapter Admin Guide</a>
 for how to configure custom mapper endpoints.</p>
-
 <h2 id="downstream-meta-data">Downstream Meta Data</h2>
-
 <p>The adapter includes the following meta data in messages being sent downstream:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Location</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Location</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>device_id</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">The identifier of the device that the message originates from.</td>
+<td style="text-align:left"><em>device_id</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">The identifier of the device that the message originates from.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_adapter</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The MQTT adapter&rsquo;s type name is <code>hono-mqtt</code>.</td>
+<td style="text-align:left"><em>orig_adapter</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the adapter&rsquo;s <em>type name</em> which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The MQTT adapter&rsquo;s type name is <code>hono-mqtt</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><em>orig_address</em></td>
-<td align="left"><em>application</em></td>
-<td align="left"><em>string</em></td>
-<td align="left">Contains the name of the MQTT topic that the device has originally published the data to.</td>
+<td style="text-align:left"><em>orig_address</em></td>
+<td style="text-align:left"><em>application</em></td>
+<td style="text-align:left"><em>string</em></td>
+<td style="text-align:left">Contains the name of the MQTT topic that the device has originally published the data to.</td>
 </tr>
-
 <tr>
-<td align="left"><em>x-opt-retain</em></td>
-<td align="left"><em>message-annotations</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left">Contains <code>true</code> if the device has published an event or telemetry message with its <em>retain</em> flag set to <code>1</code></td>
+<td style="text-align:left"><em>x-opt-retain</em></td>
+<td style="text-align:left"><em>message-annotations</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left">Contains <code>true</code> if the device has published an event or telemetry message with its <em>retain</em> flag set to <code>1</code></td>
 </tr>
 </tbody>
 </table>
-
 <p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/1.4/api/tenant/#tenant-information-format">tenant</a>
 or the <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration">device level</a>.
 The values of the default properties are determined as follows:</p>
-
 <ol>
 <li>If the message already contains a non-empty property of the same name, the value if unchanged.</li>
 <li>Otherwise, if a default property of the same name is defined in the device&rsquo;s registration information, that value is used.</li>
 <li>Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.</li>
 </ol>
-
 <p>Note that of the standard AMQP 1.0 message properties only the <em>content-type</em> and <em>ttl</em> can be set this way to a default value.</p>
-
 <h3 id="event-message-time-to-live">Event Message Time-to-live</h3>
-
 <p>Events published by devices will usually be persisted by the AMQP Messaging Network in order to support deferred delivery to downstream consumers.
 In most cases the AMQP Messaging Network can be configured with a maximum <em>time-to-live</em> to apply to the events so that the events will be removed
 from the persistent store if no consumer has attached to receive the event before the message expires.</p>
-
 <p>In order to support environments where the AMQP Messaging Network cannot be configured accordingly, the MQTT protocol adapter supports setting a
 downstream event message&rsquo;s <em>ttl</em> property based on the <em>hono-ttl</em> property set as <em>property-bag</em> at the end of the event topic.
-Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the <a href="/hono/docs/1.4/api/tenant/#resource-limits-configuration-format">Tenant API</a>.</p>
-
+Also the default <em>ttl</em> and <em>max-ttl</em> values can be configured for a tenant/device as described in the [Tenant API]
+(/hono/docs/1.4/api/tenant/#resource-limits-configuration-format).</p>
 <h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
-
 <p>The adapter uses the <a href="/hono/docs/1.4/api/tenant/#get-tenant-information">Tenant API</a> to retrieve <em>tenant specific configuration</em> for adapter type <code>hono-mqtt</code>.
 The following properties are (currently) supported:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Name</th>
-<th align="left">Type</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Name</th>
+<th style="text-align:left">Type</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><em>enabled</em></td>
-<td align="left"><em>boolean</em></td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
+<td style="text-align:left"><em>enabled</em></td>
+<td style="text-align:left"><em>boolean</em></td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>false</code> the adapter will reject all data from devices belonging to the tenant.</td>
 </tr>
 </tbody>
 </table>
@@ -3434,19 +3291,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757964"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757964"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757964"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757964"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757964"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757964"></script>
-    <script src="/hono/docs/js/learn.js?1617757964"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757964"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757964" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757964"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.4/user-guide/sigfox-adapter/index.html b/docs/1.4/user-guide/sigfox-adapter/index.html
index e476d3e..17113e3 100644
--- a/docs/1.4/user-guide/sigfox-adapter/index.html
+++ b/docs/1.4/user-guide/sigfox-adapter/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Sigfox Adapter :: Eclipse Hono&trade; Vers.: 1.4</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757963" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844316" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844316" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757963" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844316" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757963"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844316"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757963"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844316"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844316"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757963"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844316"></script>
 
     
   </div>
@@ -1456,7 +1456,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/sigfox-adapter/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/user-guide/sigfox-adapter/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/user-guide/sigfox-adapter/">1.7</option>
                     
                   
               
@@ -1482,6 +1512,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/user-guide/sigfox-adapter/">1.6</option>
@@ -1510,6 +1542,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/user-guide/sigfox-adapter/">1.5</option>
@@ -1538,6 +1572,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/user-guide/sigfox-adapter/" selected>1.4</option>
@@ -1566,6 +1602,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/user-guide/sigfox-adapter/">1.3</option>
@@ -1594,6 +1632,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/user-guide/sigfox-adapter/">1.2</option>
@@ -1622,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/user-guide/sigfox-adapter/">1.1</option>
@@ -1650,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/user-guide/sigfox-adapter/">1.0</option>
@@ -1678,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/">dev</option>
@@ -1796,22 +1842,20 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#pre-requisites">Pre-requisites</a></li>
-<li><a href="#devices-and-credentials">Devices and credentials</a></li>
-<li><a href="#setup-example">Setup example</a>
-<ul>
-<li><a href="#registering-devices">Registering devices</a></li>
-<li><a href="#setting-up-callbacks">Setting up callbacks</a></li>
-<li><a href="#enabling-command-control">Enabling command &amp; control</a></li>
-</ul></li>
-<li><a href="#events">Events</a></li>
-<li><a href="#consuming-data">Consuming data</a></li>
-<li><a href="#known-bugs-and-limitations">Known bugs and limitations</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#pre-requisites">Pre-requisites</a></li>
+    <li><a href="#devices-and-credentials">Devices and credentials</a></li>
+    <li><a href="#setup-example">Setup example</a>
+      <ul>
+        <li><a href="#registering-devices">Registering devices</a></li>
+        <li><a href="#setting-up-callbacks">Setting up callbacks</a></li>
+        <li><a href="#enabling-command--control">Enabling command &amp; control</a></li>
+      </ul>
+    </li>
+    <li><a href="#events">Events</a></li>
+    <li><a href="#consuming-data">Consuming data</a></li>
+    <li><a href="#known-bugs-and-limitations">Known bugs and limitations</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1837,90 +1881,66 @@
 
 <p>The Sigfox protocol adapter exposes an HTTP endpoint for connecting up with
 the Sigfox backend for publishing telemetry, events and use command &amp; control.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Tech preview</h4>
     <div>This protocol adapter is not considered production ready. Its APIs might still
 be subject to change without warning.</div>
 </div>
-
 <h2 id="pre-requisites">Pre-requisites</h2>
-
 <p>This Sigfox adapter only connects to the Sigfox backend system
 (<code>backend.sigfox.com</code>). It does not allow direct access to Sigfox devices.</p>
-
 <p>So you need to set up your Sigfox devices on <code>backend.sigfox.com</code> and then
 configure the callbacks connect to your installation of Hono.</p>
-
 <h2 id="devices-and-credentials">Devices and credentials</h2>
-
 <p>In a nutshell, the Sigfox adapter requires a single <em>device</em> identity, acting
 as a gateway device. This identity will be used to connect to Hono. All devices
 registered with Sigfox (the actual Sigfox devices), will be registered in Hono
 to allow this first identity as their gateway device.</p>
-
 <h2 id="setup-example">Setup example</h2>
-
 <p>The following sub-sections walk you through an example setup.</p>
-
 <h3 id="registering-devices">Registering devices</h3>
-
 <p>This example assumes that the Sigfox protocol adapter is available as
 <code>https://iot-sigfox-adapter.my.hono</code>.</p>
-
 <p>Create a new <em>gateway device</em> with the following registration:</p>
-
-<pre><code class="language-json">{
-  &quot;device-id&quot;: &quot;sigfox-backend&quot;
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
+  <span style="color:#f92672">&#34;device-id&#34;</span>: <span style="color:#e6db74">&#34;sigfox-backend&#34;</span>
 }
-</code></pre>
-
-<p>Create new credentials for the <em>gateway device</em>. For example, using
+</code></pre></div><p>Create new credentials for the <em>gateway device</em>. For example, using
 a username of <code>sigfox</code> and a password of <code>test12</code>:</p>
-
-<pre><code class="language-json">{
-  &quot;auth-id&quot;: &quot;sigfox&quot;,
-  &quot;device-id&quot;: &quot;sigfox-backend&quot;,
-  &quot;enabled&quot;: true,
-  &quot;secrets&quot;: [
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
+  <span style="color:#f92672">&#34;auth-id&#34;</span>: <span style="color:#e6db74">&#34;sigfox&#34;</span>,
+  <span style="color:#f92672">&#34;device-id&#34;</span>: <span style="color:#e6db74">&#34;sigfox-backend&#34;</span>,
+  <span style="color:#f92672">&#34;enabled&#34;</span>: <span style="color:#66d9ef">true</span>,
+  <span style="color:#f92672">&#34;secrets&#34;</span>: [
     {
-      &quot;pwd-plain&quot;: &quot;test12&quot;
+      <span style="color:#f92672">&#34;pwd-plain&#34;</span>: <span style="color:#e6db74">&#34;test12&#34;</span>
     }
   ],
-  &quot;type&quot;: &quot;hashed-password&quot;
+  <span style="color:#f92672">&#34;type&#34;</span>: <span style="color:#e6db74">&#34;hashed-password&#34;</span>
 }
-</code></pre>
-
-<p>Create a new <em>device</em>, referencing the previous <em>gateway device</em>. The
+</code></pre></div><p>Create a new <em>device</em>, referencing the previous <em>gateway device</em>. The
 <em>device id</em> must be your Sigfox device ID (e.g. <code>1AB2C3</code>):</p>
-
-<pre><code class="language-json">{
-  &quot;device-id&quot;: &quot;1AB2C3&quot;,
-  &quot;via&quot;: &quot;sigfox-backend&quot;
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
+  <span style="color:#f92672">&#34;device-id&#34;</span>: <span style="color:#e6db74">&#34;1AB2C3&#34;</span>,
+  <span style="color:#f92672">&#34;via&#34;</span>: <span style="color:#e6db74">&#34;sigfox-backend&#34;</span>
 }
-</code></pre>
-
-<h3 id="setting-up-callbacks">Setting up callbacks</h3>
-
+</code></pre></div><h3 id="setting-up-callbacks">Setting up callbacks</h3>
 <p>Log in to the Sigfox backend at <a href="https://backend.sigfox.com">https://backend.sigfox.com</a> and then open up
 the view <code>Device Type</code> -&gt; <code>Callbacks</code>.</p>
-
 <p>Create a new &ldquo;Custom&rdquo; callback, with the following settings
 (replacing <code>&lt;TENANT&gt;</code> with the name of the tenant):</p>
-
 <ul>
 <li><strong>Type</strong>: <code>DATA</code> – <code>UPLINK</code></li>
 <li><strong>Channel</strong>: <code>URL</code></li>
 <li><strong>Url pattern</strong>: <code>https://iot-sigfox-adapter.my.hono/data/telemetry/&lt;TENANT&gt;?device={device}&amp;data={data}</code></li>
 <li><strong>Use HTTP Method</strong>: <code>GET</code></li>
 <li><strong>Headers</strong>
-
 <ul>
 <li><code>Authorization</code> – <code>Basic …</code> (see note below)</li>
-</ul></li>
+</ul>
+</li>
 <li><strong>Send SNI</strong>: ☑ (Enabled)</li>
 </ul>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Credentials</h4>
     <div><p>At the moment you need to manually put in the <code>Authorization</code> header,
@@ -1928,46 +1948,30 @@
 Sigfox backend, which cannot be fixed by Hono. The backend does not
 properly escape the <code>@</code> character, and thus sends <code>foo%40tenant</code>
 instead of <code>foo@tenant</code> to the Hono protocol adapter.</p>
-
 <p>As a workaround, you can explicitly set the <code>Authorization</code> header to a
 value of <code>Basic &lt;base64 encoded credentials&gt;</code>. You can encode the
 credentials using:</p>
-
-<pre><code class="language-sh">echo -n &quot;sigfox@tenant:password&quot; | base64
-</code></pre>
-
-<p>To get the full value, including the <code>Basic</code> you may use:</p>
-
-<pre><code class="language-sh">echo &quot;Basic $(echo -n &quot;sigfox@tenant:password&quot; | base64)&quot;
-</code></pre>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">echo -n <span style="color:#e6db74">&#34;sigfox@tenant:password&#34;</span> | base64
+</code></pre></div><p>To get the full value, including the <code>Basic</code> you may use:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">echo <span style="color:#e6db74">&#34;Basic </span><span style="color:#66d9ef">$(</span>echo -n <span style="color:#e6db74">&#34;sigfox@tenant:password&#34;</span> | base64<span style="color:#66d9ef">)</span><span style="color:#e6db74">&#34;</span>
+</code></pre></div></div>
 </div>
-</div>
-
-<h3 id="enabling-command-control">Enabling command &amp; control</h3>
-
+<h3 id="enabling-command--control">Enabling command &amp; control</h3>
 <p>It is possible to enable command &amp; control as well. For this you need to:</p>
-
 <ul>
 <li>Switch the <strong>Type</strong> of the <code>DATA</code> callback from <code>UPLINK</code> to <code>BIDIR</code></li>
 <li>Add the <code>ack</code> query parameter to the <strong>Url pattern</strong>, e.g. <code>https://iot-sigfox-adapter.my.hono/data/telemetry/&lt;TENANT&gt;?device={device}&amp;data={data}&amp;ack={ack}</code></li>
 </ul>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Command requirements</h4>
     <div>Sigfox allows only a very specific payload in command messages. You must send
 exactly 8 bytes of data. It only supports <em>one way commands</em>.</div>
 </div>
-
 <h2 id="events">Events</h2>
-
 <p>You can send events by using the path <code>/data/event</code> on the URL.</p>
-
 <h2 id="consuming-data">Consuming data</h2>
-
 <p>Use the standard way of consuming Hono messages.</p>
-
 <h2 id="known-bugs-and-limitations">Known bugs and limitations</h2>
-
 <ul>
 <li>Only the simple <code>URL</code> and only <em>data</em> (no <em>service</em> or <em>device events</em> are
 currently supported.</li>
@@ -2967,19 +2971,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757963"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757963"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757963"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757963"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757963"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844316"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844316"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844316"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844316"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844316"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757963"></script>
-    <script src="/hono/docs/js/learn.js?1617757963"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757963"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844316"></script>
+    <script src="/hono/docs/js/learn.js?1617844316"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844316"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757963" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757963"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844316" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844316"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
